.app[data-page^=relationships]{--rel:#b2645e;--rel-rgb:178,100,94}[data-theme=dark] .app[data-page^=relationships]{--rel:#db9a92;--rel-rgb:219,154,146}.hlth-hero.rel .hlth-hero-main{background:radial-gradient(120% 90% at 0% 0%, rgba(var(--rel-rgb),.06), transparent 46%), radial-gradient(110% 120% at 100% 120%, rgba(var(--ai-blue-rgb),.05), transparent 50%)}.dbadge--rel{color:var(--ink-soft);background:linear-gradient(180deg, rgba(var(--rel-rgb),.08), rgba(var(--rel-rgb),.03));border-color:rgba(var(--rel-rgb),.22)}.dbadge--rel svg{color:var(--rel)}.people-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px;display:grid}.person{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface);box-shadow:var(--shadow-xs);transition:border-color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);flex-direction:column;gap:12px;padding:16px 16px 14px;display:flex}.person:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.person-top{align-items:center;gap:12px;display:flex}.person-av{background:var(--surface-muted);border:1px solid var(--border-subtle);width:42px;height:42px;color:var(--ink-soft);letter-spacing:-.01em;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:14.5px;font-weight:600;display:flex}.person-av.is-warm{background:linear-gradient(160deg, rgba(var(--rel-rgb),.16), rgba(var(--rel-rgb),.06));border-color:rgba(var(--rel-rgb),.24);color:var(--rel)}.person-id{flex:1;min-width:0}.person-id b{color:var(--ink);letter-spacing:-.01em;font-size:14px;font-weight:600;line-height:1.2;display:block}.person-id .person-rel{color:var(--muted);align-items:center;gap:6px;margin-top:2px;font-size:11.5px;display:flex}.person-pin{color:var(--muted-faint);flex:none}.person-pin svg{width:14px;height:14px}.person-pin.is-priority{color:var(--gold-main)}[data-theme=dark] .person-pin.is-priority{color:var(--prestige-dark)}.person-meta{flex-direction:column;gap:1px;display:flex}.person-foot{margin-top:auto;padding-top:2px}.rhythm{align-items:center;gap:3px;display:inline-flex}.rhythm i{background:var(--border-strong);border-radius:2px;width:4px}.rhythm i.on{background:var(--success)}.rhythm i.warm{background:var(--gold-main)}.rhythm i.late{background:var(--warning)}.rhythm i:first-child{height:7px}.rhythm i:nth-child(2){height:10px}.rhythm i:nth-child(3){height:13px}.rhythm i:nth-child(4){height:10px}.rhythm i:nth-child(5){height:7px}.contact-state{color:var(--muted-strong);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.contact-state:before{content:"";background:var(--success);border-radius:999px;flex:none;width:7px;height:7px}.contact-state.warm:before{background:var(--gold-main)}.contact-state.late{color:var(--warning)}.contact-state.late:before{background:var(--warning)}.circles{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px;display:grid}.circle{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface);box-shadow:var(--shadow-xs);transition:border-color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);flex-direction:column;gap:11px;padding:15px 16px;display:flex}.circle:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.circle-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.circle-ic{background:var(--surface-muted);border:1px solid var(--border-subtle);width:34px;height:34px;color:var(--ink-soft);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.circle-ic svg{width:17px;height:17px}.circle-n{color:var(--muted);font-size:11px;font-weight:600}.circle b{color:var(--ink);letter-spacing:-.01em;font-size:14.5px;font-weight:600}.circle-sub{color:var(--muted-strong);font-size:12px;line-height:1.45}.ebudget{flex-direction:column;gap:14px;display:flex}.ebudget-bar{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:999px;height:16px;display:flex;overflow:hidden}.ebudget-bar i{height:100%;display:block}.ebudget-bar .used{background:var(--ink)}.ebudget-bar .planned{background:repeating-linear-gradient(45deg, rgba(var(--rel-rgb),.55), rgba(var(--rel-rgb),.55) 6px, rgba(var(--rel-rgb),.32) 6px, rgba(var(--rel-rgb),.32) 12px)}.ebudget-bar .free{background:0 0}.ebudget-legend{flex-wrap:wrap;gap:8px 18px;display:flex}.ebudget-key{color:var(--muted-strong);align-items:center;gap:7px;font-size:11.5px;display:inline-flex}.ebudget-key:before{content:"";background:var(--ink);border-radius:3px;flex:none;width:10px;height:10px}.ebudget-key.planned:before{background:rgba(var(--rel-rgb),.5)}.ebudget-key.free:before{background:var(--surface-muted);border:1px solid var(--border)}.ebudget-key b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.reploop{counter-reset:rl;grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.rl-step{border:1px solid var(--border-subtle);background:var(--surface-soft);border-radius:12px;flex-direction:column;gap:7px;padding:13px 12px;display:flex;position:relative}.rl-step .rl-n{background:var(--surface);border:1px solid var(--border);width:23px;height:23px;color:var(--muted-strong);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.rl-step.is-here .rl-n{background:var(--ink);border-color:var(--ink);color:var(--inverse)}.rl-step b{color:var(--ink);letter-spacing:-.01em;font-size:12.5px;font-weight:600;line-height:1.2}.rl-step span{color:var(--muted);font-size:11px;line-height:1.4}@media (max-width:920px){.reploop{grid-template-columns:repeat(4,1fr)}}@media (max-width:560px){.reploop{grid-template-columns:repeat(2,1fr)}}.dates{flex-direction:column;display:flex}.date-row{align-items:center;gap:14px;padding:12px 0;display:flex}.date-row+.date-row{border-top:1px solid var(--border-subtle)}.date-cal{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;width:48px;height:50px;display:flex}.date-cal .mo{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:9px;font-weight:700}.date-cal .dy{color:var(--ink);font-variant-numeric:tabular-nums;font-size:19px;font-weight:600;line-height:1}.date-cal.is-milestone{background:linear-gradient(160deg,#fff3b04d,#c99a351a);border-color:#c99a3557}.date-cal.is-milestone .dy{color:var(--gold-deep)}[data-theme=dark] .date-cal.is-milestone{background:#c99a351f;border-color:#e8c7663d}[data-theme=dark] .date-cal.is-milestone .dy{color:var(--prestige-dark)}.date-mid{flex:1;min-width:0}.date-mid b{color:var(--ink);font-size:13.5px;font-weight:560;line-height:1.3;display:block}.date-mid span{color:var(--muted);font-size:11.5px}.date-when{color:var(--muted-strong);white-space:nowrap;flex:none;font-size:11.5px;font-weight:600}.date-when.soon{color:var(--warning)}.date-act{flex:none}@media (max-width:560px){.date-row{flex-wrap:wrap}.date-act{width:100%}.date-act .btn{justify-content:center;width:100%}}.privacy-chip{color:var(--muted);background:var(--surface-soft);border:1px solid var(--border-subtle);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:560;display:inline-flex}.privacy-chip svg{width:12px;height:12px;color:var(--muted-faint);flex:none}.prep-list{flex-direction:column;gap:8px;display:flex}.prep-row{border:1px solid var(--border-subtle);background:var(--surface-soft);border-radius:12px;align-items:flex-start;gap:12px;padding:12px 13px;display:flex}.prep-ic{background:var(--surface-muted);border:1px solid var(--border-subtle);width:30px;height:30px;color:var(--muted-strong);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.prep-ic svg{width:15px;height:15px}.prep-mid{flex:1;min-width:0}.prep-mid b{color:var(--ink);font-size:13px;font-weight:560;line-height:1.3;display:block}.prep-mid span{color:var(--muted);font-size:11.5px;line-height:1.45}.qlog-grid--rel{grid-template-columns:repeat(4,1fr)}@media (max-width:520px){.qlog-grid--rel{grid-template-columns:repeat(3,1fr)}}@media (max-width:360px){.qlog-grid--rel{grid-template-columns:repeat(2,1fr)}}
