/* Reference-specific layouts. No legacy dashboard containers participate. */
#conceptNavigation { display:none; }
body.editorial-theme { --concept-line:var(--cardborder); --concept-accent:#EDBE38; font-weight:400; }
body.editorial-theme .frame { padding:18px 3.1% 22px; max-width:1720px; margin:auto; }
body.editorial-theme header.cover { display:none; }
body.editorial-theme #conceptNavigation { display:block; }
body.editorial-theme main { max-width:none; padding:0; overflow:visible; }
body.editorial-theme .concept-nav { display:flex; align-items:center; gap:24px; min-height:62px; position:relative; z-index:65; margin:0 0 22px; }
.concept-nav button,.concept-nav summary,.concept-dashboard button { font:inherit; cursor:pointer; }
.concept-nav svg,.concept-dashboard svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.concept-brand { display:flex; align-items:center; gap:12px; padding:0; border:0; background:none; color:var(--text); font-size:26px!important; letter-spacing:-.055em; white-space:nowrap; }
body[data-theme="warm"] .concept-brand { font-family:Georgia,serif; font-size:29px!important; }
body[data-theme="warm"] .concept-brand svg { display:none; }
.concept-brand svg { width:30px; height:35px; color:var(--accent); }
.concept-tabs { display:flex; align-items:center; gap:4px; padding:5px; border:1px solid var(--cardborder); border-radius:26px; margin-left:auto; }
.concept-tabs>button,.concept-tabs>details>summary { padding:13px 17px; border:0; border-radius:20px; background:transparent; color:var(--text); font-size:13px; white-space:nowrap; }
.concept-tabs>button.active { background:var(--accent-pale); }
.concept-household { display:flex; align-items:center; gap:20px; margin-left:auto; }
.concept-household>span { display:flex; align-items:center; gap:10px; font-size:13px; }
.concept-household>span+span { border-left:1px solid var(--cardborder); padding-left:20px; }
.concept-household img { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.concept-tools { display:flex; align-items:center; gap:9px; }
.concept-month { display:flex; gap:10px; align-items:center; margin:0; padding:12px 14px; border:1px solid var(--cardborder); border-radius:16px; background:var(--card); }
.concept-month input { border:0; background:transparent; padding:0; font:400 13px var(--display-font),sans-serif; color:var(--text); width:144px; min-height:22px; }
.concept-month svg { width:20px; }
.concept-menu { position:relative; }
.concept-menu>summary { list-style:none; display:flex; align-items:center; gap:3px; cursor:pointer; }
.concept-menu>summary::-webkit-details-marker { display:none; }
.concept-menu>summary svg { width:16px; }
.theme-picker>summary { padding:12px; background:var(--card); border:1px solid var(--cardborder); border-radius:50%; }
.theme-picker>summary svg { width:20px; height:20px; }
.concept-menu>div { position:absolute; right:0; top:calc(100% + 9px); min-width:215px; display:grid; padding:8px; border:1px solid var(--cardborder); border-radius:16px; background:#fff; box-shadow:var(--shadow); max-height:70vh; overflow:auto; }
.concept-menu:not([open])>div { display:none; }
.concept-menu>div button { display:flex; align-items:center; gap:10px; border:0; border-radius:9px; padding:10px; text-align:left; background:none; color:var(--text); font-size:13px; }
.concept-menu>div button:hover,.concept-menu>div button[aria-pressed="true"] { background:var(--accent-pale); }
.concept-menu i { width:12px; height:12px; border-radius:50%; }
.concept-dashboard h1 { font:300 clamp(32px,3.4vw,52px)/1.15 var(--display-font),sans-serif; letter-spacing:-.055em; max-width:64rem; margin:0 0 22px; }
.concept-dashboard h2 { font:400 15px/1.35 var(--display-font),sans-serif; margin:0; letter-spacing:-.02em; display:flex; align-items:center; gap:10px; }
.concept-dashboard p { font-size:13px; line-height:1.5; color:var(--muted); margin:12px 0 0; }
.concept-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:dense; gap:14px; grid-template-areas:"spend spend spend spend spend spend spend income income income income income" "spend spend spend spend spend spend spend budget budget budget budget budget" "bills bills bills bills bills bills bills bills bills bills bills bills"; }
.concept-card { position:relative; min-width:0; border:1px solid var(--cardborder); border-radius:22px; padding:24px 30px; background:var(--card); }
.concept-expenses { grid-area:spend; }
.concept-income { grid-area:income; }
.concept-budget { grid-area:budget; }
.concept-bills { grid-area:bills; }
.concept-income h2,.concept-budget h2 { justify-content:space-between; }
.concept-income h2 svg,.concept-budget h2 svg { width:27px; height:27px; }
.concept-number { font:300 clamp(28px,3.05vw,47px)/1.1 var(--display-font),sans-serif; letter-spacing:-.065em; display:block; margin:17px 0 0; overflow-wrap:anywhere; }
.concept-spend-total>strong { font:300 clamp(37px,3.45vw,54px)/1.12 var(--display-font),sans-serif; letter-spacing:-.06em; display:block; margin-top:16px; overflow-wrap:anywhere; }
.concept-spend-total .positive { color:#2C714A; }
.concept-chart { position:relative; height:178px; margin-top:22px; }
.concept-chart canvas { display:block; width:100%; height:100%; }
.concept-expenses h2 svg { display:none; }
.concept-budget-track { height:6px; border-radius:4px; background:color-mix(in srgb,var(--text) 9%,transparent); margin:20px 0 10px; overflow:hidden; }
.concept-budget-track span { display:block; height:100%; background:var(--concept-accent); border-radius:inherit; }
.concept-budget-note { display:flex; justify-content:space-between; gap:10px; font-size:12px; }
.concept-budget-scope { display:block; font-size:10px; color:var(--muted); margin-top:6px; }
.concept-card-link { position:absolute; inset:0; background:transparent; border:0; border-radius:inherit; }
.concept-card:has(.concept-card-link):hover { border-color:var(--accent); }
.concept-card-link:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.concept-bill-list { display:grid; }
.concept-bill { display:flex; gap:18px; align-items:center; padding:20px 0; border:0; border-bottom:1px solid var(--cardborder); background:transparent; color:inherit; text-align:left; }
.concept-bill time { width:50px; flex-shrink:0; display:flex; flex-direction:column; }
.concept-bill time strong { font-size:26px; line-height:1; font-weight:300; }
.concept-bill time small { font-size:10px; text-transform:uppercase; margin-top:4px; color:var(--muted); }
.concept-bill>span { font-size:13px; line-height:1.35; flex:1; }
.concept-bill>span small { display:block; margin-top:6px; font-size:12px; color:var(--muted); }
.concept-bills-all { display:flex; align-items:center; gap:10px; border:0; padding:0; background:transparent; color:inherit; font-size:12px!important; }
.concept-bills-all svg { width:16px; }
body[data-theme="warm"] .concept-bills { display:flex; align-items:center; gap:26px; background:#151716; color:#fff; --muted:#C8C9C5; --cardborder:#50514B; padding:18px 30px; }
body[data-theme="warm"] .concept-bills-total { min-width:180px; }
body[data-theme="warm"] .concept-bills-total h2 { font-size:13px; }
body[data-theme="warm"] .concept-bills-total h2 svg { display:none; }
body[data-theme="warm"] .concept-bills-total .concept-number { font-size:30px; margin:8px 0 0; }
body[data-theme="warm"] .concept-bills-total p { font-size:11px; margin-top:6px; }
body[data-theme="warm"] .concept-bill-list { grid-template-columns:repeat(4,minmax(0,1fr)); flex:1; }
body[data-theme="warm"] .concept-bill { padding:0 18px; border-bottom:0; border-left:1px solid var(--cardborder); gap:8px; flex-wrap:wrap; }
body[data-theme="warm"] .concept-bill time { width:auto; flex-direction:row; gap:3px; order:2; font-size:10px; }
body[data-theme="warm"] .concept-bill time strong { font-size:11px; font-weight:400; }
body[data-theme="warm"] .concept-bill time small { margin:0; font-size:10px; }
body[data-theme="warm"] .concept-bill>span { flex-basis:100%; font-size:12px; }
body[data-theme="warm"] .concept-bill>span small { display:none; }
body[data-theme="warm"] .concept-bill svg { display:none; }
body[data-theme="warm"] .concept-bills-all { padding:12px 15px; border:1px solid #686853; border-radius:10px; white-space:nowrap; }
.concept-detail-grid { display:grid; grid-template-columns:1.08fr 1fr; gap:14px; margin-top:10px; }
.concept-detail { min-width:0; border:1px solid var(--cardborder); border-radius:22px; padding:18px; background:var(--card); }
.concept-detail-title { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 12px 12px; }
.concept-detail-title h2 { font-size:13px; }
.concept-detail-title>span { font-size:11px; color:var(--muted); }
.concept-detail-title button,.concept-text-link { display:flex; align-items:center; gap:7px; background:none; border:0; color:var(--accent); padding:0; font-size:12px!important; }
.concept-detail-title svg { width:14px; }
.concept-category { border:1px solid transparent; border-radius:12px; }
.concept-category[open] { border-color:var(--cardborder); background:color-mix(in srgb,var(--accent-pale) 15%,transparent); }
.concept-category summary { display:grid; grid-template-columns:24px minmax(0,1fr) 35px 106px 14px; align-items:center; gap:10px; padding:10px 12px; list-style:none; cursor:pointer; font-size:13px; }
.concept-category summary::-webkit-details-marker { display:none; }
.concept-category summary>svg:last-child { width:13px; }
.concept-category[open] summary>svg:last-child { transform:rotate(180deg); }
.concept-category small { font-size:11px; }
.concept-merchants { padding:0 12px 8px; }
.concept-merchants>button { display:grid; grid-template-columns:1fr 1fr 36px 98px; gap:14px; align-items:center; width:100%; padding:7px 12px; border:0; background:transparent; text-align:left; font-size:10px; color:var(--muted); }
.concept-merchants>button.concept-text-link { display:flex; padding-top:4px; font-size:10px!important; }
.concept-merchants svg { width:14px; height:14px; }
.concept-merchants i,.concept-category-row i { display:block; height:4px; border-radius:4px; background:color-mix(in srgb,var(--concept-accent) 12%,transparent); }
.concept-merchants b,.concept-category-row b { display:block; height:100%; border-radius:inherit; background:var(--concept-accent); }
.concept-category-row { display:grid; grid-template-columns:23px minmax(115px,1fr) 1fr 110px 35px; gap:12px; padding:14px 12px; width:100%; align-items:center; text-align:left; background:none; border:0; border-bottom:1px solid var(--cardborder); color:var(--text); font-size:12px!important; }
.category-money { text-align:right; font-size:12px; white-space:nowrap; }
.concept-transaction { display:grid; grid-template-columns:25px minmax(0,1fr) 58px 110px; gap:12px; align-items:center; width:100%; padding:11px 12px; border:0; border-bottom:1px solid var(--cardborder); text-align:left; background:none; color:var(--text); font-size:12px!important; }
.concept-transaction:last-child { border-bottom:0; }
.concept-transaction>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.concept-transaction small { display:block; color:var(--muted); font-size:10px; margin-top:3px; }
.concept-transaction time { font-size:10px; color:var(--muted); }
.concept-transaction strong { font-size:12px; font-weight:400; text-align:right; }
.concept-transaction:hover,.concept-category-row:hover,.concept-merchants button:hover { background:var(--accent-pale); border-radius:8px; }
.concept-budget-editor { padding:12px; font-size:11px; }
.concept-budget-editor summary { color:var(--muted); cursor:pointer; }
.concept-budget-editor label { display:grid; grid-template-columns:1fr 100px auto; gap:8px; align-items:center; margin:10px 0; font-size:11px; text-transform:none; }
.concept-budget-editor input { min-width:0; padding:8px; font-size:12px; }
.concept-budget-editor label button { border:1px solid var(--cardborder); padding:8px; border-radius:8px; background:var(--card); color:var(--text); }
.concept-footer { display:flex; align-items:center; gap:28px; padding:14px 0 0; }
.concept-primary { display:flex; gap:10px; align-items:center; justify-content:center; padding:14px 23px; border:0; border-radius:14px; color:#242015; background:#FFD54E; white-space:nowrap; font-size:13px!important; }
.concept-primary svg { width:18px; height:18px; }
.concept-footer>div { display:flex; gap:22px; color:var(--muted); font-size:10px; }
.concept-footer>div span+span { padding-left:22px; border-left:1px solid var(--cardborder); }
.concept-footer b { font-weight:400; margin-left:10px; }
.concept-system { margin-left:auto; position:relative; font-size:11px; }
.concept-system summary { cursor:pointer; color:var(--muted); }
.concept-system[open] { flex-basis:100%; }
.concept-system[open]~* { display:none; }
body[data-theme="warm"] .concept-footer { flex-direction:row-reverse; }
body[data-theme="warm"] .concept-footer>div { display:none; }
body[data-theme="warm"] .concept-system { margin-right:auto; margin-left:0; }
body[data-theme="slate"] { --concept-accent:#286A56; }
body[data-theme="slate"] .frame { background:linear-gradient(120deg,rgba(255,255,255,.5),rgba(255,255,255,.16)); border:1px solid #fff8; border-radius:28px; width:calc(100% - 24px); padding:20px 28px; margin:12px; }
body[data-theme="slate"] .concept-nav { padding-bottom:12px; border-bottom:1px solid var(--cardborder); margin-bottom:27px; }
body[data-theme="slate"] .concept-grid { grid-template-areas:"spend spend spend spend spend spend spend spend bills bills bills bills" "income income income income budget budget budget budget bills bills bills bills"; }
body[data-theme="slate"] .concept-card { border-color:#FFFFFF88; background:rgba(255,255,255,.66); border-radius:20px; }
body[data-theme="slate"] .concept-expenses h2 svg { display:block; padding:4px; border:1px solid var(--cardborder); border-radius:7px; width:28px; height:28px; }
body[data-theme="slate"] .concept-spend-total>strong { font-size:clamp(38px,4.35vw,68px); }
body[data-theme="slate"] .concept-chart { height:135px; }
body[data-theme="slate"] .concept-bills { padding:24px; }
body[data-theme="slate"] .concept-bills-total .concept-number { font-size:40px; }
body[data-theme="slate"] .concept-bills-all { margin-top:15px; color:var(--accent); }
body[data-theme="slate"] .concept-detail-grid { grid-template-columns:1.1fr .76fr 1.15fr; gap:20px; border-top:1px solid var(--cardborder); margin-top:12px; }
body[data-theme="slate"] .concept-detail { border:0; border-radius:0; padding:14px 0 0; background:transparent; }
body[data-theme="slate"] .concept-detail-title { padding:0 10px 15px; }
body[data-theme="slate"] .concept-category-row { grid-template-columns:20px minmax(100px,1.2fr) .7fr 80px 28px; padding:13px 8px; gap:8px; font-size:11px!important; }
body[data-theme="slate"] .category-money { font-size:10px; }
body[data-theme="slate"] .concept-transaction { grid-template-columns:22px minmax(0,1fr) 45px 82px; gap:8px; padding:12px 5px; font-size:11px!important; }
body[data-theme="slate"] .concept-transaction strong { font-size:11px; }
.concept-people-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; border:1px solid var(--cardborder); border-radius:18px; padding:18px 10px; }
.concept-people-pair>div { display:flex; flex-direction:column; align-items:center; gap:9px; font-size:13px; }
.concept-people-pair>div+div { border-left:1px solid var(--cardborder); }
.concept-people-pair img { width:62px; height:62px; border-radius:50%; object-fit:cover; }
.concept-people-pair strong { font-size:13px; font-weight:400; }
.concept-people-pair small { color:var(--muted); }
.concept-people-note { text-align:center; font-size:10px!important; }
body[data-theme="slate"] .concept-footer>div { display:none; }
body[data-theme="slate"] .concept-primary { background:var(--accent); color:#fff; }
body[data-theme="lavender"] { --concept-accent:#8866CA; }
body[data-theme="lavender"] .concept-tabs { box-shadow:0 5px 12px #715E8910; background:#FFFFFF70; }
body[data-theme="lavender"] .concept-grid { grid-template-areas:"spend spend spend spend spend spend spend spend spend spend spend spend" "income income income income budget budget budget budget bills bills bills bills"; gap:16px; }
body[data-theme="lavender"] .concept-spend-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.8fr); gap:20px; align-items:center; }
body[data-theme="lavender"] .concept-chart { height:182px; margin-top:0; }
body[data-theme="lavender"] .concept-expenses h2 { position:absolute; top:28px; color:var(--accent); }
body[data-theme="lavender"] .concept-spend-total>strong { font-size:clamp(38px,4.5vw,68px); margin-top:24px; }
body[data-theme="lavender"] .concept-expenses { padding:26px 30px; }
body[data-theme="lavender"] .concept-budget { color:#fff; background:linear-gradient(120deg,#6741B7,#432680); --muted:#D9CBEF; --concept-accent:#E2D0FF; }
body[data-theme="lavender"] .concept-income,body[data-theme="lavender"] .concept-budget,body[data-theme="lavender"] .concept-bills { padding:24px 28px; min-height:198px; }
body[data-theme="lavender"] .concept-bills { background:#F9EFF5; }
body[data-theme="lavender"] .concept-bill-list,body[data-theme="lavender"] .concept-bills-all { display:none; }
body[data-theme="lavender"] .concept-detail-grid { grid-template-columns:1fr 1fr; margin-top:10px; }
body[data-theme="lavender"] .concept-primary { background:#321763; color:#fff; border-radius:30px; }
body[data-theme="lavender"] .concept-budget-track { background:#FFFFFF33; }
.concept-dashboard button:focus-visible,.concept-nav button:focus-visible,.concept-nav summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(min-width:1600px){.concept-chart{height:200px;}.concept-card{padding:28px 32px;}}
@media(max-width:1250px){
  .concept-nav { flex-wrap:wrap; gap:16px!important; }
  .concept-tabs { order:4; width:100%; justify-content:center; padding:3px; }
  .concept-household { margin-left:auto; }
  .concept-tools { margin-left:auto; }
  .concept-card { padding:22px; }
  body[data-theme="warm"] .concept-bill-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 0; }
  body[data-theme="slate"] .concept-detail-grid { grid-template-columns:1fr 1fr; }
  body[data-theme="slate"] .concept-people { grid-column:2; grid-row:1; }
  body[data-theme="slate"] .concept-recent { grid-column:1/-1; }
  .concept-footer>div { display:none; }
}
@media(max-width:800px){
  .concept-household>span { font-size:0; gap:0; }
  .concept-household>span+span { padding-left:0; border:0; }
  .concept-household { gap:5px; }
  .concept-household img { width:32px; height:32px; }
  body[data-theme="warm"] .concept-bills { flex-wrap:wrap; }
  body[data-theme="warm"] .concept-bills-all { margin-left:auto; }
  .concept-detail-grid { grid-template-columns:1fr; }
  body[data-theme="lavender"] .concept-detail-grid { grid-template-columns:1fr; }
  body[data-theme="slate"] .concept-bill svg { display:none; }
}
@media(max-width:600px){
  body.editorial-theme .frame,body[data-theme="slate"] .frame { width:100%; margin:0; border:0; border-radius:0; padding:14px; }
  body.editorial-theme .concept-nav { gap:12px!important; margin-bottom:25px; }
  .concept-brand,body[data-theme="warm"] .concept-brand { font-size:23px!important; }
  .concept-brand svg { width:24px; }
  .concept-household { margin-left:auto; }
  .concept-tools { order:5; width:100%; }
  .concept-month { flex:1; padding:10px 12px; }
  .concept-month input { width:100%; }
  .concept-tabs { justify-content:space-between; border-radius:18px; }
  .concept-tabs>button,.concept-tabs>details>summary { padding:10px 8px; font-size:11px; border-radius:13px; }
  .concept-dashboard h1 { font-size:34px; margin-bottom:20px; }
  body.editorial-theme .concept-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"spend spend" "income budget" "bills bills"; gap:10px; }
  .concept-card,body[data-theme="slate"] .concept-card,body[data-theme="lavender"] .concept-card { padding:20px; border-radius:18px; min-height:0; }
  .concept-income,.concept-budget,body[data-theme="lavender"] .concept-income,body[data-theme="lavender"] .concept-budget { padding:17px 14px; }
  .concept-income h2,.concept-budget h2 { font-size:12px; }
  .concept-income h2 svg,.concept-budget h2 svg { display:none; }
  .concept-number { font-size:27px; margin-top:15px; }
  body.editorial-theme .concept-spend-total>strong { font-size:42px; }
  .concept-spend-total p { font-size:12px; }
  body.editorial-theme .concept-chart { height:170px; margin-top:18px; }
  body[data-theme="lavender"] .concept-spend-content { display:block; }
  body[data-theme="lavender"] .concept-expenses h2 { position:static; }
  .concept-budget-note { flex-direction:column; gap:3px; font-size:11px; }
  .concept-budget-scope { font-size:9px; }
  body[data-theme="warm"] .concept-bills { gap:20px; }
  body[data-theme="warm"] .concept-bills-total { min-width:0; width:100%; }
  body[data-theme="warm"] .concept-bill-list { width:100%; flex:auto; }
  body[data-theme="warm"] .concept-bills-all { margin:0; }
  body[data-theme="slate"] .concept-bill-list { grid-template-columns:1fr 1fr; gap:0 18px; }
  body[data-theme="slate"] .concept-bill { gap:8px; padding:16px 0; }
  body[data-theme="slate"] .concept-bill time { width:33px; }
  body[data-theme="slate"] .concept-bill>span { font-size:12px; }
  body[data-theme="slate"] .concept-bill>span small { font-size:10px; }
  body[data-theme="slate"] .concept-detail-grid { grid-template-columns:1fr; }
  body[data-theme="slate"] .concept-people,body[data-theme="slate"] .concept-recent { grid-column:auto; grid-row:auto; }
  .concept-detail { padding:15px 8px; border-radius:18px; }
  .concept-category summary { grid-template-columns:20px minmax(0,1fr) 30px 84px 12px; gap:7px; font-size:11px; }
  .category-money { font-size:10px; }
  .concept-merchants>button { grid-template-columns:1fr .6fr 28px 74px; gap:8px; padding:7px 0; font-size:9px; }
  .concept-category-row { grid-template-columns:20px minmax(0,1fr) 45px 75px 25px; gap:7px; padding:12px 6px; font-size:10px!important; }
  .concept-transaction { grid-template-columns:20px minmax(0,1fr) 45px 85px; gap:8px; padding:12px 7px; }
  .concept-transaction strong { font-size:11px; }
  .concept-footer { flex-wrap:wrap; gap:16px; }
}
@media(prefers-reduced-motion:reduce){.concept-dashboard *{scroll-behavior:auto!important;}}

@media(min-width:601px){
  body[data-theme="warm"] .concept-income,body[data-theme="warm"] .concept-budget,body[data-theme="slate"] .concept-income,body[data-theme="slate"] .concept-budget { padding:18px 28px; }
  body[data-theme="warm"] .concept-budget-track,body[data-theme="slate"] .concept-budget-track { margin-top:12px; margin-bottom:7px; }
  body[data-theme="warm"] .concept-number,body[data-theme="slate"] .concept-income .concept-number,body[data-theme="slate"] .concept-budget .concept-number { margin-top:12px; font-size:42px; }
}
body[data-theme="warm"] { background:radial-gradient(ellipse at 93% 3%,#FFF2BF,transparent 40rem),#FCFAF6; }
