/* Connected planning shares the selected theme's surfaces and readable ink. */
.home-planning-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:18px;font-size:16px;color:var(--accent)}.home-planning-links button,.home-planning-links a{padding:6px 0;text-decoration:underline;text-underline-offset:5px}
html[data-theme] #result-tools-mount .journey-account-actions{display:grid;grid-template-columns:1fr 1fr}
.connection-page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 28px}.connection-page-heading h2{font-size:32px;font-weight:500;letter-spacing:-.7px;margin:0 0 8px;line-height:1.2;color:var(--text)}.connection-page-heading p{font-size:16px;color:var(--muted);max-width:600px;margin:0}.connection-page-heading>.primary{flex-shrink:0}
.connection-card-grid,.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.connection-card,.template-card,.connection-empty{padding:25px;border-radius:18px;background:var(--frosted-surface,linear-gradient(135deg,#ffffff0d,#ffffff05));box-shadow:var(--shadow-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);min-width:0;color:var(--text);border:0;text-align:left}
.connection-kicker{display:block;font-size:16px;font-weight:500;letter-spacing:1.3px;color:var(--muted);margin:0 0 10px}.connection-card h3,.template-card h3,.connection-empty h3{font-size:24px;line-height:1.3;margin:0 0 12px;font-weight:500;color:var(--text)}.connection-card p,.template-card p,.connection-empty p{font-size:16px;color:var(--muted);line-height:1.75}.template-card>span{font-size:32px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);width:56px;height:56px;border-radius:16px;margin-bottom:22px}.template-card>b{display:block;color:var(--accent);font-size:16px;margin-top:22px;font-weight:500}.template-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.connection-chain{line-height:1.9!important}.connection-chain span{color:var(--accent);padding:0 4px}.connection-card-value{font-size:31px;color:var(--accent);font-variant-numeric:tabular-nums;margin:20px 0}.connection-card-actions{display:flex;flex-wrap:wrap;gap:12px 20px;padding-top:16px;margin-top:18px;box-shadow:0 -1px color-mix(in srgb,var(--muted) 15%,transparent);font-size:16px;color:var(--accent)}.connection-quiet{color:var(--muted)!important;font-size:16px}.connection-card-actions .connection-quiet{margin-left:auto}.connection-empty{grid-column:1/-1;padding:40px}.connection-empty .outline{display:inline-block;margin-top:12px}
.connection-callout{background:var(--accent-soft);padding:18px 22px;border-radius:12px;font-size:16px;line-height:1.75;color:var(--muted);margin:22px 0}.connection-callout strong{display:block;color:var(--text);font-weight:500}.connection-help{font-size:16px!important;line-height:1.7;color:var(--muted)!important;margin:12px 0}.connection-help button{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.connection-error{color:#ffbcac!important;font-size:16px;line-height:1.6;margin:16px 0}.connection-error:empty{display:none}html[data-theme=light] .connection-error{color:#a23f35!important}
html[data-theme] .connection-dialog{width:calc(100vw - 40px);max-width:1180px;max-height:94dvh;padding:26px 30px 0;border-radius:24px;color:var(--text)}
.connection-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:26px}.connection-dialog-head h2{font-size:30px;line-height:1.25;letter-spacing:-.6px;font-weight:500;margin:0;color:var(--text)}.connection-dialog-head .icon-button{flex-shrink:0}.connection-dialog input,.connection-dialog select,.connection-dialog textarea{width:100%;min-width:0;font-size:16px;min-height:46px}.connection-dialog label{font-size:16px;line-height:1.6;display:flex;flex-direction:column;gap:7px;color:var(--muted)}
.connection-name{max-width:600px;margin-bottom:24px}.connection-name input{font-size:21px;font-weight:500}.connection-workbench{display:grid;grid-template-columns:265px minmax(0,1fr);gap:30px;margin-bottom:24px}.connection-workbench>aside{padding-right:20px;box-shadow:1px 0 color-mix(in srgb,var(--muted) 14%,transparent)}.connection-workbench>aside>.outline{width:100%;margin-top:12px}.connection-step-list{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.connection-step-list button{position:relative;display:flex;align-items:center;text-align:left;gap:12px;padding:15px 12px;border-radius:12px;color:var(--text);background:#ffffff04;min-width:0;width:100%}.connection-step-list button>span{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;background:var(--accent-soft);border-radius:50%;color:var(--accent)}.connection-step-list b{display:block;font-size:16px;font-weight:500}.connection-step-list small{display:block;font-size:16px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.connection-step-list i{position:absolute;bottom:-13px;left:23px;color:var(--muted);font-style:normal;z-index:1}.connection-step-list button.selected{background:var(--accent-soft);box-shadow:var(--shadow-control)}
.connection-step-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:12px}.connection-step-heading label{flex:1;max-width:440px}.connection-step-heading>button{padding:12px 0;white-space:nowrap}.connection-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;margin-top:20px}.connection-field{min-width:0}.connection-field>small{display:block;font-size:16px;color:var(--accent);margin-top:8px}.connection-field:has(.field-connection[open]){grid-column:1/-1}.connection-field input[readonly]{color:var(--accent);background:var(--accent-soft);box-shadow:none;cursor:default}
.field-connection{margin-top:9px;font-size:16px}.field-connection summary{color:var(--accent);cursor:pointer;padding:4px 0;min-height:30px}.field-connection[open]{padding:13px;border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,transparent)}.field-connection[open] summary{margin-bottom:10px}.field-connection small{display:block;color:var(--muted);font-size:16px;line-height:1.7;margin-top:12px}.connection-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.connection-mini-grid[hidden]{display:none}
.connection-result{background:var(--accent-soft);border-radius:16px;padding:23px;margin-top:26px;color:var(--text)}.connection-result>span{font-size:16px;color:var(--muted)}.connection-result>strong{display:block;font-size:36px;font-weight:500;color:var(--accent);letter-spacing:-.5px;line-height:1.3;overflow-wrap:anywhere;margin:10px 0 18px;font-variant-numeric:tabular-nums}.connection-result summary,.month-review-row summary{font-size:16px;color:var(--accent);cursor:pointer;min-height:30px}.connection-result dl{margin-top:14px;font-size:16px}.connection-result dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;box-shadow:0 1px color-mix(in srgb,var(--muted) 15%,transparent)}.connection-result dt{color:var(--muted);flex:1}.connection-result dd{text-align:right;color:var(--text);margin:0;max-width:65%;overflow-wrap:anywhere}
.connection-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0 24px;margin-top:22px;box-shadow:0 -1px color-mix(in srgb,var(--muted) 15%,transparent)}.connection-dialog-footer>span{color:var(--muted);font-size:16px;max-width:400px}.connection-dialog-footer>div{display:flex;gap:12px;align-items:center}.connection-dialog-footer button{font-size:16px;min-height:44px;white-space:nowrap}.connection-template-plan{padding:22px;border-radius:15px;background:#ffffff06;box-shadow:var(--shadow-surface);margin-top:24px}.connection-template-plan p,.connection-template-plan small{font-size:16px;color:var(--muted);line-height:1.7}.connection-template-plan small{display:block;margin-top:15px}.connection-dialog .connection-check{flex-direction:row;align-items:center;gap:12px;font-size:17px;color:var(--text)}.connection-check input{width:20px;min-height:20px;flex-shrink:0;accent-color:var(--accent)}
.comparison-start,.comparison-controls{display:flex;gap:20px;align-items:end;flex-wrap:wrap;margin-bottom:28px}.comparison-start label,.comparison-controls label{flex:1;min-width:220px;font-size:16px;display:flex;flex-direction:column;gap:8px}.comparison-start select,.comparison-controls select{width:100%;min-width:0}.comparison-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.comparison-side{min-width:0;padding:22px;border-radius:17px;background:var(--frosted-surface,linear-gradient(#ffffff08,#ffffff03));box-shadow:var(--shadow-surface)}.comparison-side h3{font-size:20px;margin:20px 0 10px;font-weight:500;color:var(--text)}.comparison-side .connection-inputs{grid-template-columns:1fr}.comparison-side-name input{font-size:20px}.comparison-output{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0 16px}.comparison-output>div{padding:22px;border-radius:16px;background:var(--accent-soft)}.comparison-output span{font-size:16px;color:var(--muted)}.comparison-output strong{display:block;font-size:32px;line-height:1.3;margin-top:10px;overflow-wrap:anywhere;color:var(--accent);font-weight:500}.comparison-difference{padding:24px;border-radius:16px;box-shadow:var(--shadow-surface);background:var(--frosted-surface,#ffffff08)}.comparison-difference>span{font-size:16px;color:var(--muted)}.comparison-difference h3{font-size:26px;line-height:1.3;margin:10px 0;font-weight:500;color:var(--text)}.comparison-difference p{font-size:16px;color:var(--muted)}.saved-comparison-values{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.saved-comparison-values span{font-size:16px;color:var(--muted)}.saved-comparison-values b{display:block;font-size:25px;font-weight:500;color:var(--accent);margin-top:8px;overflow-wrap:anywhere}
.monthly-review-shortcut{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-radius:14px;background:var(--frosted-surface,#ffffff08);color:var(--text);box-shadow:var(--shadow-surface);margin-bottom:22px;text-align:left}.monthly-review-shortcut b{font-size:17px;font-weight:500;display:block}.monthly-review-shortcut small{display:block;font-size:16px;margin-top:5px;color:var(--muted)}.monthly-review-shortcut>span:last-child{font-size:16px;color:var(--accent)}#review-month{font-size:16px;min-height:42px;margin-left:auto}.calendar-toolbar{flex-wrap:wrap}
.actual-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:24px 0}.actual-summary>div{padding:20px;border-radius:15px;box-shadow:var(--shadow-surface);background:var(--accent-soft);min-width:0}.actual-summary span,.actual-summary small{font-size:16px;line-height:1.5;display:block;color:var(--muted)}.actual-summary strong{display:block;font-size:26px;line-height:1.4;color:var(--text);font-weight:500;margin:12px 0 6px;overflow-wrap:anywhere}.month-review-rows{display:flex;flex-direction:column;gap:18px}.month-review-row{padding:24px;border-radius:18px;background:var(--frosted-surface,#ffffff06);box-shadow:var(--shadow-surface)}.month-review-row-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.month-review-row-title h3{font-size:21px;color:var(--text);font-weight:500;flex-basis:100%;margin:0}.month-review-row-title>span,.month-review-row-title small{font-size:16px;color:var(--muted)}.month-review-row-title>button{margin-left:auto;font-size:16px;color:var(--accent)}.actual-row-values{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:24px;align-items:center;margin-bottom:20px}.actual-row-values small{display:block;font-size:16px;color:var(--muted)}.actual-row-values strong{display:block;font-size:23px;font-weight:500;color:var(--text);margin:8px 0;overflow-wrap:anywhere}.month-review-row details p{font-size:16px;line-height:1.8;color:var(--muted)}.month-review-row details label{margin-top:14px}.actual-row-values [data-direction=positive]{color:#a5d2b1}.actual-row-values [data-direction=negative]{color:#efb5a2}html[data-theme=light] .actual-row-values [data-direction=positive]{color:#426b43}html[data-theme=light] .actual-row-values [data-direction=negative]{color:#9b4e35}
.connection-plan-source{padding:20px;background:var(--accent-soft);border-radius:13px;margin:18px 0 24px}.connection-plan-source>label{font-size:16px}.connection-plan-source select{width:100%;min-width:0}.connection-plan-source p{font-size:16px!important}.saved-card>div:last-child{flex-wrap:wrap;gap:15px}
@media(max-width:1050px){.connection-workbench{grid-template-columns:225px minmax(0,1fr);gap:22px}.connection-inputs{grid-template-columns:1fr}.connection-card-grid{grid-template-columns:1fr}.connection-page-heading{align-items:start}.connection-page-heading h2{font-size:28px}.actual-summary{grid-template-columns:1fr 1fr}.connection-page-heading>.primary{font-size:16px}}
@media(max-width:720px){html[data-theme] .connection-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:20px 16px 0}.connection-dialog-head h2{font-size:25px}.connection-dialog-head{margin-bottom:22px;gap:12px}.connection-kicker{font-size:16px}.connection-name input{font-size:18px}.connection-workbench{display:block}.connection-workbench>aside{padding:0 0 20px;box-shadow:none}.connection-step-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}.connection-step-list button{padding:12px 10px;align-items:start;gap:8px}.connection-step-list b{font-size:16px}.connection-step-list small{font-size:16px}.connection-step-list i{display:none}.connection-step-list button>span{width:22px;height:22px;font-size:16px}.connection-step-list button>div{min-width:0}.connection-workbench>aside>label{font-size:16px}.connection-workbench>aside>.outline{margin-top:10px}.connection-workbench>aside>.connection-help{font-size:16px!important}.connection-step-heading{margin-top:18px}.connection-step-heading>button{font-size:16px}.connection-inputs{gap:16px}.connection-dialog label{font-size:16px}.connection-dialog input,.connection-dialog select{font-size:16px;min-height:48px}.connection-result{padding:20px}.connection-result>strong{font-size:32px}.connection-dialog-footer{flex-direction:column;align-items:stretch;gap:14px}.connection-dialog-footer>div{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}.connection-dialog-footer button{font-size:16px;white-space:normal;padding:12px}.connection-dialog-footer>span{font-size:16px}.connection-template-plan{padding:18px}.connection-template-plan .connection-check{font-size:16px}.connection-check input{min-height:20px}.template-grid{grid-template-columns:1fr}.connection-card,.template-card{padding:23px}.connection-page-heading{flex-direction:column;gap:18px}.connection-page-heading h2{font-size:29px}.connection-page-heading>.primary{width:100%}.comparison-columns{gap:12px}.comparison-side{padding:15px 10px}.comparison-side h3{font-size:16px}.comparison-side .connection-field>label{font-size:16px}.comparison-side .connection-field input,.comparison-side .connection-field select{padding:10px 8px}.comparison-side-name{font-size:16px!important}.comparison-side-name input{font-size:16px}.comparison-output{gap:12px}.comparison-output>div{padding:16px 12px}.comparison-output strong{font-size:24px}.comparison-difference{padding:20px}.comparison-difference h3{font-size:23px}.comparison-start,.comparison-controls{gap:15px}.comparison-start label,.comparison-controls label{min-width:100%;font-size:16px}.saved-comparison-values b{font-size:22px}.monthly-review-shortcut{padding:16px;gap:15px}.monthly-review-shortcut>span:last-child{max-width:120px;font-size:16px}.monthly-review-shortcut b{font-size:16px}#review-month{margin-top:12px;min-height:44px}.actual-summary{gap:10px}.actual-summary>div{padding:15px}.actual-summary strong{font-size:22px}.month-review-row{padding:18px 15px}.month-review-row-title h3{font-size:20px}.actual-row-values{grid-template-columns:1fr 1fr;gap:16px}.actual-row-values>label{grid-column:1/-1;grid-row:2}.actual-row-values strong{font-size:22px}.month-review-row-title>button{margin-left:0}.connection-mini-grid{grid-template-columns:1fr}.connection-empty{padding:25px}.home-planning-links{font-size:16px}.connection-plan-source{padding:17px}.workspace-sidebar{scrollbar-width:thin}}
@media(prefers-reduced-motion:reduce){.template-card:hover{transform:none}}
html[data-theme]{--connection-footer:#293849}html[data-theme=midnight]{--connection-footer:#152235}html[data-theme=sage]{--connection-footer:#465243}html[data-theme=desk]{--connection-footer:#3b413c}html[data-theme=light]{--connection-footer:#fbf7f0}
.connection-dialog-footer{position:sticky;bottom:0;background:var(--connection-footer);box-shadow:0 -8px 16px var(--connection-footer);z-index:3}
#comparison-results{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 0 18px;background:var(--connection-footer);box-shadow:0 -10px 0 var(--connection-footer)}
#comparison-results .comparison-output{gap:12px;margin:0}#comparison-results .comparison-output>div{padding:17px 14px}#comparison-results .comparison-output strong{font-size:27px}#comparison-results .comparison-difference{padding:17px 20px}#comparison-results .comparison-difference h3{font-size:22px;margin:8px 0}#comparison-results .comparison-difference p{margin:0}
@media(max-width:720px){#comparison-results{position:static;grid-template-columns:1fr;background:transparent;padding:0 0 20px;box-shadow:none;gap:12px}#comparison-results .comparison-output strong{font-size:24px}.connection-dialog-footer{padding:14px 0 18px}}
.workspace-sidebar .ws-link span{font-size:16px}
