/* Advisor tax workspace: scoped styles, no changes to legacy quarterly estimates. */
.tax-planning { --tp-navy: #183b43; --tp-teal: #245f66; display: grid; gap: 20px; max-width: 1380px; margin: 0 auto; }
.tp-hero { background: var(--tp-navy); color: #fff; border-radius: 12px; padding: 32px 36px; display: flex; align-items: center; justify-content: space-between; gap: 24px; position: relative; overflow: hidden; }
.tp-hero .eyebrow { color: #b7d6d7; letter-spacing: .12em; font-size: 11px; margin: 0 0 14px; }
.tp-hero h2 { font-size: clamp(24px, 2.5vw, 34px); font-weight: 550; letter-spacing: -.035em; margin: 0 0 10px; color: #fff; }
.tp-hero p:last-child { margin: 0; color: #d5e2e3; font-size: 14px; }
.tp-vault-button { background: #ffffff0d; color: #fff; border: 1px solid #ffffff45; border-radius: 6px; padding: 12px 16px; white-space: nowrap; font-size: 13px; }
.tp-vault-button:hover { background: #ffffff20; }
.tp-horizon-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.tp-horizon-nav button { border: 1px solid var(--line); background: #fff; border-radius: 8px; display: flex; gap: 14px; align-items: center; text-align: left; padding: 19px; color: #3d4548; }
.tp-horizon-nav button.active { background: #eef5f4; border-color: #43777b; box-shadow: inset 0 -3px #245f66; }
.tp-step { font-size: 12px; color: #60797d; border: 1px solid #c8d5d4; width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; flex-shrink: 0; }
.tp-horizon-nav strong { display: block; font-size: 16px; font-weight: 650; }
.tp-horizon-nav small { display: block; font-size: 12px; color: #657074; margin-top: 5px; line-height: 1.4; }
.tp-horizon-arrow { margin-left: auto; color: #467176; }
.tp-workspace-bar,.tp-section-heading,.tp-card-top,.tp-editor-footer { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.tp-workspace-bar { font-size: 13px; color: #526166; }
.tp-dot { padding: 0 9px; color: #8a999c; }
.tp-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.tp-content { display: grid; gap: 22px; }
.tp-status { margin: -8px 0; min-height: 0; color: #206b57; font-size: 13px; }
.tp-status:empty { display: none; }
.tp-status.is-error { color: #a52b28; padding: 12px 14px; background: #fff0ed; border: 1px solid #f0c8c0; border-radius: 7px; }
.tp-section-heading h3,.tp-panel h3 { font-size: 19px; margin: 0; letter-spacing: -.025em; color: #223b40; }
.tp-section-heading p { color: #677378; font-size: 13px; line-height: 1.6; margin: 6px 0 0; max-width: 720px; }
.tp-section-heading .eyebrow,.tp-panel .eyebrow { font-size: 10px; letter-spacing: .12em; margin: 0 0 8px; color: #628084; }
.tp-owner { font-size: 11px; color: #657074; display: grid; gap: 5px; flex-shrink: 0; }
.tp-owner select { border: 1px solid #ccd4d4; border-radius: 6px; background: white; padding: 9px 12px; color: #273c42; font-size: 13px; }
.tp-year-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.tp-year-card { border: 1px solid #dce2e0; background: #fff; border-radius: 10px; padding: 25px; display: grid; align-content: start; gap: 13px; }
.tp-year { font-size: 23px; font-weight: 650; color: #223b40; font-variant-numeric: tabular-nums; }
.tp-badge { display: inline-block; font-size: 11px; line-height: 1.35; color: #5b6870; background: #f1f3f3; padding: 6px 9px; border-radius: 5px; }
.tp-badge.is-reviewed { color: #276956; background: #eaf5ef; }
.tp-label,.tp-record-meta { font-size: 12px; color: #667478; margin: 0; }
.tp-big-number { font-size: clamp(25px,2.8vw,34px); font-weight: 550; color: #203d45; letter-spacing: -.04em; font-variant-numeric: tabular-nums; margin-top: -6px; }
.tp-card-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; border-top: 1px solid #eceded; padding-top: 15px; margin-top: 4px; }
.tp-card-facts span,.tp-card-facts strong { display: block; font-size: 12px; color: #6e797c; }
.tp-card-facts strong { color: #2c4349; font-size: 15px; margin-top: 7px; font-weight: 550; }
.tp-source { font-size: 11px; color: #707b7e; line-height: 1.7; overflow-wrap: anywhere; margin: 0; }
.tp-year-card .secondary-button { justify-self: start; font-size: 12px; }
.tp-empty-year { background: #f7f8f6; border-style: dashed; }
.tp-empty-year h3 { margin: 22px 0 0; color: #3a5054; font-size: 20px; font-weight: 550; }
.tp-empty-year p { color: #6c797b; font-size: 13px; line-height: 1.7; max-width: 330px; margin: 0 0 25px; }
.tp-panel { background: #fff; padding: 25px; border: 1px solid var(--line); border-radius: 10px; min-width: 0; }
.tp-table-scroll { overflow-x: auto; margin-top: 18px; }
.tp-table { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.tp-table th,.tp-table td { padding: 13px 12px; border-bottom: 1px solid #edf0ef; text-align: right; white-space: nowrap; }
.tp-table tr:last-child th,.tp-table tr:last-child td { border-bottom: 0; }
.tp-table thead th { color: #6a787c; background: #f5f7f6; font-size: 11px; font-weight: 550; }
.tp-table th:first-child { text-align: left; }
.tp-table tbody th { font-weight: 500; color: #405358; }
.tp-table td { color: #29464d; }
.tp-muted { color: #69767b; font-size: 12px; line-height: 1.7; }
.tp-panel summary { cursor: pointer; font-size: 14px; font-weight: 600; color: #334e55; }
.tp-panel summary span { color: #7b8b8e; font-weight: 400; margin-left: 8px; }
.tp-record-list { margin-top: 16px; display: grid; }
.tp-record-row { display: flex; justify-content: space-between; text-align: left; align-items: center; gap: 20px; width: 100%; border: 0; border-bottom: 1px solid #edf0ef; padding: 17px 0; background: transparent; color: #29464d; }
.tp-record-row:last-child { border-bottom: 0; }
.tp-record-row strong { font-size: 13px; font-weight: 600; }
.tp-record-row small { display: block; font-size: 11px; color: #728184; margin-top: 6px; line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; }
.tp-record-row>span:first-child { flex: 1; min-width: 0; }
.tp-record-row:hover { background: #f6f9f8; }
.tp-outlook-intro { display: grid; grid-template-columns: 1fr; gap: 18px; }
.tp-outlook-intro p:not(.eyebrow) { max-width: 750px; font-size: 13px; color: #6c797d; line-height: 1.8; }
.tp-callout { padding: 15px 18px; background: #f7f3e9; border: 1px solid #e8dfc9; border-radius: 7px; color: #786044; font-size: 12px; line-height: 1.7; }
.tp-small-tool { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.tp-small-tool h3 { font-size: 15px; }
.tp-small-tool p { font-size: 12px; color: #768084; margin-bottom: 0; }
.tp-guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.tp-guide { background: #fff; border: 1px solid #dce2e0; padding: 23px; border-radius: 9px; display: flex; flex-direction: column; align-items: start; }
.tp-guide h4 { font-size: 17px; font-weight: 550; color: #29464d; margin: 17px 0 9px; }
.tp-guide p { color: #68777b; font-size: 13px; line-height: 1.8; margin: 0 0 20px; }
.tp-guide .tp-actions { margin-top: auto; }
.tp-guide a,.tp-text-button { font-size: 12px; color: #30656e; background: transparent; border: 0; padding: 0; text-decoration: underline; text-underline-offset: 4px; }
.tp-editor { display: grid; gap: 22px; }
.tp-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.tp-field { display: flex; flex-direction: column; gap: 8px; color: #52656a; font-size: 12px; }
.tp-field input,.tp-field select,.tp-field textarea { width: 100%; min-width: 0; border: 1px solid #ced7d6; border-radius: 6px; background: #fff; color: #243e45; padding: 11px 12px; font-size: 14px; }
.tp-field textarea { resize: vertical; line-height: 1.7; }
.tp-field-group { border-top: 1px solid #e7ebea; padding-top: 18px; }
.tp-field-group>summary { margin-bottom: 18px; }
.tp-state-editor { border: 1px solid #dce3e1; border-radius: 7px; padding: 18px; margin: 0 0 16px; }
.tp-state-editor legend { padding: 0 6px; color: #5f777c; font-size: 12px; }
.tp-state-editor .tp-text-button { margin-top: 16px; }
.tp-review-check { display: flex; align-items: start; gap: 10px; color: #4d6469; font-size: 13px; }
.tp-review-check input { width: 17px; height: 17px; margin: 0; accent-color: #245f66; }
.tp-editor-footer { border-top: 1px solid #e7ebea; padding-top: 18px; color: #748186; font-size: 12px; }
.tax-planning button:focus-visible,.tax-planning a:focus-visible,.tax-planning input:focus-visible,.tax-planning select:focus-visible,.tax-planning textarea:focus-visible,.tax-planning summary:focus-visible { outline: 3px solid #c28e43; outline-offset: 3px; }
.tax-planning button:disabled { opacity: .6; cursor: wait; }
@media(max-width:1050px) { .tp-horizon-nav button { padding: 15px 12px; gap: 10px; } .tp-horizon-arrow { display: none; } .tp-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .tp-hero { padding: 28px; } }
@media(max-width:700px) { .tp-hero,.tp-section-heading,.tp-workspace-bar,.tp-small-tool,.tp-editor-footer { align-items: flex-start; flex-direction: column; } .tp-hero { padding: 24px; } .tp-horizon-nav { gap: 7px; } .tp-horizon-nav button { flex-direction: column; align-items: flex-start; padding: 12px; } .tp-horizon-nav small { font-size: 10px; } .tp-step { display: none; } .tp-year-grid,.tp-guide-grid,.tp-form-grid { grid-template-columns: 1fr; } .tp-panel,.tp-year-card { padding: 20px; } .tp-owner,.tp-owner select { width: 100%; } .tp-record-row { flex-wrap: wrap; gap: 12px; } .tp-record-row>span:first-child { flex-basis: 100%; } }
.tp-signals { display: grid; gap: 0; margin-top: 12px; }
.tp-signals article { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 0; border-top: 1px solid #e8edeb; }
.tp-signals article:first-child { border-top: 0; }
.tp-signals strong { font-size: 14px; font-weight: 600; color: #36545c; }
.tp-signals p { font-size: 12px; color: #63767b; line-height: 1.75; max-width: 750px; margin: 6px 0; }
.tp-signals small { font-size: 11px; color: #7c8c8e; }
.tp-signals button { flex-shrink: 0; font-size: 12px; }
@media(max-width:700px) { .tp-signals article { flex-direction: column; align-items: flex-start; gap: 12px; } }
.tp-bracket-controls { display: grid; grid-template-columns: minmax(0,2fr) minmax(120px,1fr); gap: 18px; margin: 22px 0; }
.tp-bracket-result { display: flex; justify-content: space-between; gap: 18px; padding: 20px; border-radius: 8px; background: #edf5f2; }
.tp-bracket-result .tp-big-number { display: block; margin: 10px 0; }
.tp-bracket-result p,.tp-bracket-assumptions p { font-size: 12px; color: #586e72; line-height: 1.7; }
.tp-bracket-result a,.tp-signals a { font-size: 12px; color: #30656e; }
.tp-bracket-assumptions { margin-top: 15px; }
@media(max-width:700px) { .tp-bracket-controls { grid-template-columns: 1fr; } .tp-bracket-result { flex-direction: column; } }
.tax-planning .tp-field select { height: 44px; min-height: 44px; padding: 8px 12px; line-height: normal; }
.tax-planning > .tp-owner { display: block; max-width: 280px; }
