/* Approved Button System, batch A: explicit controls only, no card/navigation repaint. */
:root body button:is(#submit,#reset-close,#shortcut-save,#shortcut-close,#cancel-name,#forgot-password,#reset-back),:root body #profile-form button[type=submit]{--button-bg:var(--pocket-action-gradient);--button-fg:#fff;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:52px!important;min-width:44px!important;padding:12px 20px!important;border-radius:14px!important;border:1px solid transparent!important;background:var(--button-bg)!important;color:var(--button-fg)!important;font:600 16px/1.5 var(--control-font)!important;text-align:center!important;box-shadow:0 4px 10px #a93a501c!important;transition:filter .12s,transform .12s,box-shadow .12s}
:root body button:is(#shortcut-close,#cancel-name){--button-bg:linear-gradient(125deg,#fff3f6,#f8e5e7);--button-fg:#9C3050;min-height:48px!important;border-color:#efd7df!important;box-shadow:0 3px 8px #9b536312!important}
:root body button#shortcut-close{--button-bg:#fff;--button-fg:#655563;border-color:#DFDDE2!important}
:root body button:is(#forgot-password,#reset-back){--button-bg:transparent;--button-fg:#AD3153;min-height:44px!important;padding:10px 12px!important;box-shadow:none!important;text-decoration:underline!important;text-underline-offset:4px;font-weight:500!important}
:root body button:is(#submit,#reset-close,#shortcut-save,#shortcut-close,#cancel-name,#forgot-password,#reset-back):not(:disabled):hover,:root body #profile-form button[type=submit]:hover{filter:brightness(.96)}
:root body button:is(#submit,#reset-close,#shortcut-save,#shortcut-close,#cancel-name,#forgot-password,#reset-back):not(:disabled):active,:root body #profile-form button[type=submit]:active{transform:translateY(1px);box-shadow:0 1px 3px #9b536316!important}
:root body button:is(#submit,#reset-close,#shortcut-save,#shortcut-close,#cancel-name,#forgot-password,#reset-back):focus-visible,:root body #profile-form button[type=submit]:focus-visible{outline:3px solid #CE284D80!important;outline-offset:3px}
:root body button:is(#submit,#reset-close,#shortcut-save,#shortcut-close,#cancel-name,#forgot-password,#reset-back):disabled,:root body #profile-form button[type=submit]:disabled{opacity:1!important;background:#eee7e9!important;color:#827781!important;border-color:#e8dfe3!important;box-shadow:none!important;cursor:not-allowed!important}
:root body button#submit[aria-busy=true]{background:var(--pocket-action-gradient)!important;color:#fff!important;cursor:wait!important}
@media(max-width:480px){:root body button:is(#submit,#reset-close,#shortcut-save,#shortcut-close,#cancel-name,#forgot-password,#reset-back),:root body #profile-form button[type=submit]{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){:root body button:is(#submit,#reset-close,#shortcut-save,#shortcut-close,#cancel-name,#forgot-password,#reset-back),:root body #profile-form button[type=submit]{transition:none!important;transform:none!important}}
/* Batch B uses the same approved palette; scoped actions exclude cards, tabs and stars. */
:root{--pocket-button-primary:var(--pocket-action-gradient);--pocket-button-secondary:linear-gradient(125deg,#fff3f6,#f8e5e7);--pocket-button-shadow:0 4px 10px #a93a501c}
:root body :is(#page-library,#page-tools,#page-exchange,#page-irr,#dialog) :is(button.open,a.open,button.detail,#clear,#exchange-retry,#close,.back-my){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:48px!important;min-width:44px!important;max-width:100%;padding:12px 20px!important;border:1px solid #efd7df!important;border-radius:14px!important;background:var(--pocket-button-secondary)!important;color:#9C3050!important;font:600 16px/1.5 var(--control-font)!important;text-align:center!important;text-decoration:none!important;white-space:normal!important;overflow-wrap:anywhere;box-shadow:0 3px 8px #9b536312!important;transition:filter .12s,transform .12s}
:root body :is(#page-library,#page-tools,#page-exchange,#page-irr,#dialog) :is(button.open,a.open,#irr-calculate,#dopen){min-height:52px!important;background:var(--pocket-button-primary)!important;color:#fff!important;border-color:transparent!important;box-shadow:var(--pocket-button-shadow)!important}
:root body :is(#page-library,#page-tools,#page-exchange,#page-irr,#dialog) :is(button.detail,#clear,#close){background:#fff!important;color:#655563!important;border-color:#DFDDE2!important;box-shadow:0 2px 5px #76505e06!important;font-weight:500!important}
:root body :is(#page-library,#page-tools,#page-exchange,#page-irr,#dialog) :is(button.open,a.open,button.detail,#clear,#exchange-retry,#close,.back-my):not(:disabled):hover{filter:brightness(.96)}
:root body :is(#page-library,#page-tools,#page-exchange,#page-irr,#dialog) :is(button.open,a.open,button.detail,#clear,#exchange-retry,#close,.back-my):not(:disabled):active{transform:translateY(1px);box-shadow:0 1px 3px #9b536316!important}
:root body :is(#page-library,#page-tools,#page-exchange,#page-irr,#dialog) :is(button.open,a.open,button.detail,#clear,#exchange-retry,#close,.back-my):focus-visible{outline:3px solid #CE284D80!important;outline-offset:3px}
:root body :is(#page-library,#page-tools,#page-exchange,#page-irr,#dialog) :is(button.open,button.detail,#clear,#exchange-retry,#close,.back-my):disabled{opacity:1!important;background:#eee7e9!important;color:#827781!important;border-color:#e8dfe3!important;box-shadow:none!important;cursor:not-allowed!important;transform:none!important}
@media(max-width:480px){:root body :is(#page-library,#page-tools,#page-exchange,#page-irr,#dialog) :is(button.open,a.open,button.detail,#clear,#exchange-retry,#close,.back-my){font-size:15px!important;padding-inline:16px!important}}
@media(prefers-reduced-motion:reduce){:root body :is(#page-library,#page-tools,#page-exchange,#page-irr,#dialog) :is(button.open,a.open,button.detail,#clear,#exchange-retry,#close,.back-my){transition:none!important;transform:none!important}}
/* Batch C: action buttons only. Tool cards, tab semantics and selected choices stay intact. */
:root body :is(#page-ai,#page-investment) :is(button.open,.retirement-submit,.fss-retry,.investment-tools,#v2-ai-create,#v2-ai-copy,#v2-ai-followup-submit,#v2-market-refresh,#v2-plan-extract){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:48px!important;min-width:44px!important;max-width:100%;padding:12px 20px!important;border:1px solid #efd7df!important;border-radius:14px!important;background:var(--pocket-button-secondary)!important;color:#9C3050!important;font:600 16px/1.5 var(--control-font)!important;text-align:center!important;white-space:normal!important;overflow-wrap:anywhere;box-shadow:0 3px 8px #9b536312!important;transition:filter .12s,transform .12s}
:root body :is(#page-ai,#page-investment) :is(button.open,.retirement-submit,#v2-ai-create,#v2-ai-followup-submit,#v2-plan-extract){min-height:52px!important;background:var(--pocket-button-primary)!important;color:#fff!important;border-color:transparent!important;box-shadow:var(--pocket-button-shadow)!important}
:root body :is(#page-ai,#page-investment) :is(.fss-retry,#v2-ai-copy,#v2-market-refresh){background:#fff!important;color:#655563!important;border-color:#DFDDE2!important;font-weight:500!important;box-shadow:0 2px 5px #76505e06!important}
:root body :is(#page-ai,#page-investment) :is(button.open,.retirement-submit,.fss-retry,.investment-tools,#v2-ai-create,#v2-ai-copy,#v2-ai-followup-submit,#v2-market-refresh,#v2-plan-extract):not(:disabled):hover{filter:brightness(.96)}
:root body :is(#page-ai,#page-investment) :is(button.open,.retirement-submit,.fss-retry,.investment-tools,#v2-ai-create,#v2-ai-copy,#v2-ai-followup-submit,#v2-market-refresh,#v2-plan-extract):not(:disabled):active{transform:translateY(1px);box-shadow:0 1px 3px #9b536316!important}
:root body :is(#page-ai,#page-investment) :is(button.open,.retirement-submit,.fss-retry,.investment-tools,#v2-ai-create,#v2-ai-copy,#v2-ai-followup-submit,#v2-market-refresh,#v2-plan-extract):focus-visible{outline:3px solid #CE284D80!important;outline-offset:3px}
:root body :is(#page-ai,#page-investment) :is(button.open,.retirement-submit,.fss-retry,.investment-tools,#v2-ai-create,#v2-ai-copy,#v2-ai-followup-submit,#v2-market-refresh,#v2-plan-extract):disabled{opacity:1!important;background:#eee7e9!important;color:#827781!important;border-color:#e8dfe3!important;box-shadow:none!important;cursor:not-allowed!important;transform:none!important}
@media(max-width:480px){:root body :is(#page-ai,#page-investment) :is(button.open,.retirement-submit,.fss-retry,.investment-tools,#v2-ai-create,#v2-ai-copy,#v2-ai-followup-submit,#v2-market-refresh,#v2-plan-extract){font-size:15px!important;padding-inline:16px!important}}
@media(prefers-reduced-motion:reduce){:root body :is(#page-ai,#page-investment) :is(button.open,.retirement-submit,.fss-retry,.investment-tools,#v2-ai-create,#v2-ai-copy,#v2-ai-followup-submit,#v2-market-refresh,#v2-plan-extract){transition:none!important;transform:none!important}}
/* Batch D: admin actions only. Navigation, state filters and switches retain semantics. */
:root body:has(.admin-nav,#invite) button:not(:where([role=switch],[data-state],.pocket-select-options button)){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:48px!important;min-width:44px!important;max-width:100%;padding:12px 20px!important;border:1px solid #DFDDE2!important;border-radius:14px!important;background:#fff!important;color:#655563!important;font:500 16px/1.5 var(--control-font)!important;text-align:center!important;white-space:normal!important;box-shadow:0 2px 5px #76505e06!important;transition:filter .12s,transform .12s}
:root body:has(.admin-nav,#invite) :is(button.primary,button[type=submit],#create,#publish,#import-start,.ai-action-publish,.promotion-publish,#rename-save){min-height:52px!important;background:var(--pocket-button-primary)!important;color:#fff!important;border-color:transparent!important;font-weight:600!important;box-shadow:var(--pocket-button-shadow)!important}
:root body:has(.admin-nav,#invite) :is(.ai-action-save,.ai-action-preview,button.edit,#delete-cancel,#rename-cancel){background:var(--pocket-button-secondary)!important;color:#9C3050!important;border-color:#efd7df!important}
:root body:has(.admin-nav,#invite) button:is([data-delete],#delete-submit){background:#fff1f3!important;color:#a82443!important;border-color:#e7a8b7!important;box-shadow:none!important}
:root body:has(.admin-nav,#invite) button:not(:where(:disabled,[role=switch],[data-state],.pocket-select-options button)):hover{filter:brightness(.96)}
:root body:has(.admin-nav,#invite) button:not(:where(:disabled,[role=switch],[data-state],.pocket-select-options button)):active{transform:translateY(1px);box-shadow:0 1px 3px #9b536316!important}
:root body:has(.admin-nav,#invite) button:focus-visible{outline:3px solid #CE284D80!important;outline-offset:3px}
:root body:has(.admin-nav,#invite) button:disabled{opacity:1!important;background:#eee7e9!important;color:#827781!important;border-color:#e8dfe3!important;box-shadow:none!important;cursor:not-allowed!important;transform:none!important}
@media(max-width:480px){:root body:has(.admin-nav,#invite) button:not(:where([role=switch],[data-state],.pocket-select-options button)){font-size:15px!important;padding-inline:16px!important}}
@media(prefers-reduced-motion:reduce){:root body:has(.admin-nav,#invite) button{transition:none!important;transform:none!important}}
/* Monthly follow-ups share the todo view without duplicating or mutating saved records. */
#page-home .v2-todo .v2-pill{white-space:nowrap;gap:8px}
#page-todos .todo-followups{margin-top:20px;padding:20px;border:1px solid #eee0e5;border-radius:18px;background:#fffdfc;box-shadow:0 5px 18px #76505e08;min-width:0}
#page-todos .todo-followups-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}
#page-todos .todo-followups-heading h2{font-size:18px;margin:0;color:#443a43}
#page-todos .todo-followups-heading button{min-height:44px;padding:10px 14px}
#page-todos .todo-followup-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:16px 0;border-top:1px solid #f0e4e7}
#page-todos .todo-followup-row strong{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
#page-todos .todo-followup-status{display:inline-block;margin-left:10px;padding:3px 8px;border-radius:8px;background:#f8e5e7;color:#9c3050;font-size:12px}
#page-todos .todo-followup-row p{margin:6px 0 0;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;color:#8c7883}
@media(max-width:360px){#page-todos .todo-followups{padding:16px}#page-todos .todo-followup-status{display:table;margin:6px 0 0}}
#page-tools .exchange-tool-card h2{display:flex;align-items:center;gap:8px}
#page-tools .exchange-tool-card h2 svg{flex:0 0 22px;color:#CE284D}
#page-home .v2-home-weather{display:inline-flex;align-items:center;min-height:24px;max-width:100%;color:#926d7b;font-size:12px;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
#page-home .v2-home-weather:hover{text-decoration:underline}
#page-home .v2-home-weather:focus-visible{outline:2px solid #CE284D80;outline-offset:3px;border-radius:4px}
body #page-investment .fss-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:18px;min-width:0}
body #page-investment .fss-actions>a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;line-height:1.7}
body #page-investment .fss-actions>.fss-retry{position:static!important;flex:0 0 auto;margin:0!important;max-width:100%;transform:none}
:root body #page-investment #investment-panel-1 .fss-actions>.fss-retry[hidden]{display:none!important}
/* Lightweight, aligned homepage section actions rather than narrow square tiles. */
:root body :is(#page-home #home-customize,#page-home .v2-view-all,#page-offers>button:first-child,#page-library .v2-library-list-heading>button,#page-library .v2-saved-heading>button){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex:0 0 auto;width:auto!important;min-width:44px!important;min-height:44px!important;padding:10px 14px!important;border:1px solid #efdde3!important;border-radius:12px!important;background:#fff9fa!important;color:#97546a!important;font:500 14px/1.5 var(--control-font)!important;white-space:nowrap!important;box-shadow:0 2px 6px #9b53630a!important;transition:background-color .12s,transform .12s}
:root body :is(#page-home #home-customize,#page-home .v2-view-all,#page-offers>button:first-child,#page-library .v2-library-list-heading>button,#page-library .v2-saved-heading>button)>span{display:inline-flex;align-items:center;margin:0!important;font-size:18px!important;line-height:1!important}
:root body :is(#page-home #home-customize,#page-home .v2-view-all,#page-offers>button:first-child,#page-library .v2-library-list-heading>button,#page-library .v2-saved-heading>button):hover{background:#fbeef2!important}
:root body :is(#page-home #home-customize,#page-home .v2-view-all,#page-offers>button:first-child,#page-library .v2-library-list-heading>button,#page-library .v2-saved-heading>button):active{transform:translateY(1px);box-shadow:none!important}
:root body :is(#page-home #home-customize,#page-home .v2-view-all,#page-offers>button:first-child,#page-library .v2-library-list-heading>button,#page-library .v2-saved-heading>button):focus-visible{outline:3px solid #CE284D80!important;outline-offset:3px}
#page-home :is(.home-section-head,.v2-section-heading){gap:12px;align-items:center;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){:root body :is(#page-home #home-customize,#page-home .v2-view-all,#page-offers>button:first-child,#page-library .v2-library-list-heading>button,#page-library .v2-saved-heading>button){transition:none!important;transform:none!important}}
:root body #page-library :is(.v2-library-list-heading,.v2-saved-heading){display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
:root body:has(#page-library) #page-library :is(.v2-library-list-heading,.v2-saved-heading)>button[hidden]{display:none!important}
/* All primary actions resolve to the existing Add Customer palette. */
:root body :is(button.primary,button.open,a.open,button[type=submit],#todo-use-template,#ai-ask,#irr-calculate,#publish,#import-start,.ai-action-publish,.promotion-publish,.followup-add):not(:disabled):not([data-delete]):not(#delete-submit){background:var(--pocket-action-gradient)!important;color:#fff!important;border-color:transparent!important}
:root body #page-exchange .premium-fx>summary{background:var(--pocket-action-gradient)!important;color:#fff!important;border-color:transparent!important;box-shadow:var(--pocket-button-shadow)!important}
:root body #page-exchange .premium-fx>summary:focus-visible{outline:3px solid #CE284D80!important;outline-offset:3px}
/* Version restore is a compact secondary action, separated from the version picker. */
:root body #ai-settings article>details>select{display:block;margin:10px 0 14px!important;width:100%;box-sizing:border-box}
:root body #ai-settings article>details>button{display:inline-flex!important;width:auto!important;min-height:44px!important;min-width:44px!important;max-width:100%;padding:8px 12px!important;margin:0!important;border-radius:12px!important;font-size:14px!important;line-height:1.5!important;font-weight:500!important;box-shadow:0 2px 5px #76505e06!important}
:root body #ai-settings article>details>button[hidden]{display:none!important}
:root body #ai-settings article>details>.ai-preview{margin:0 0 14px!important;max-height:260px;overflow:auto}
#page-ai .v2-generation-consent{display:flex;align-items:flex-start;gap:9px;flex-basis:100%;font-size:12px;line-height:1.7;color:#8c7883;margin:8px 0}
#page-ai .v2-generation-consent input{width:18px;min-height:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:#ce284d}
#page-ai .v2-ai-actions{flex-wrap:wrap}
#page-ai .v2-live-result{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}
/* Final shared control layer. Do not repaint navigation, icon or whole-card hit areas. */
:root{--pocket-action-gradient:linear-gradient(110deg,#C91F49,#F06A70);--pocket-soft-gradient:linear-gradient(125deg,#fffdfc,#fbe8ec);--control-border:#efdce3;--control-text:#70545f;--control-accent:#ad3153;--control-font:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}
body :is(img.logo,img.admin-logo,img.app-icon){padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;object-fit:contain;flex-shrink:0;box-shadow:none!important}
body img.logo{width:46px!important;height:46px!important}
body img.admin-logo{width:50px!important;height:50px!important}
body :is(button,a.open):not(:where(.bottom-nav *,.app-header *,.brand *,.shortcut,.v2-todo,.home-list-item,.my-entry,.my-settings-row,.star,.eye,.followup-inline-name,.followup-inline-note,#my-name,.chat-menu-icon,.pocket-select-options button,.v2-product-main,.v2-common-row,.v2-unsave,.v2-news,.v2-tile,[data-saved-file],[data-recent])){font-family:var(--control-font)!important;border-radius:14px!important;border:1px solid var(--control-border)!important;background:var(--pocket-soft-gradient)!important;color:var(--control-text)!important;min-height:44px;box-shadow:0 3px 10px #ad4b6306}
body :is(button.primary,button.open,a.open,button[type=submit],#todo-use-template,#ai-ask,#irr-calculate,#publish,#import-start,.ai-action-publish,.promotion-publish,.followup-add){background:var(--pocket-action-gradient)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 5px 14px #cf335319!important;font-weight:600}
/* Selection is lighter than an action: tabs are not destructive or submit controls. */
body :is(.controls button,.state-tabs button,.investment-tabs button,.aia-plan-tabs button,.ai-mode-tabs button)[aria-pressed=true],body :is(.controls,.state-tabs,.investment-tabs,.aia-plan-tabs) button.active{background:linear-gradient(115deg,#fce2e9,#f8ced9)!important;color:#a12f51!important;border-color:#ebbbca!important;box-shadow:none!important}
body :is(button[data-delete],button[data-remove-todo],button[data-followup-remove],#delete-submit){background:linear-gradient(125deg,#fffafa,#fce9ec)!important;color:#ad2445!important;border-color:#edc0cc!important;box-shadow:none!important}
body :is(button,a.open):focus-visible{outline:3px solid #ce284d55!important;outline-offset:3px}
body button:disabled{opacity:.5!important;cursor:not-allowed!important}
body button:not(:disabled):active{filter:brightness(.97)}
select:not([hidden]):not([multiple]):not([size]),select:not([hidden])[size="1"]{font-family:var(--control-font)!important;appearance:none!important;background-color:#fffbfa!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23b56b82' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(125deg,#fffdfc,#fff1f4)!important;background-repeat:no-repeat!important;background-size:16px 16px,100% 100%!important;background-position:right 13px center,center!important;border:1px solid var(--control-border)!important;border-radius:14px!important;min-height:46px;padding:11px 38px 11px 14px!important;max-width:100%;min-width:0;color:var(--control-text)!important;font-size:calc(14px + var(--text-step,0px))!important;font-weight:400!important;line-height:1.6!important;text-overflow:ellipsis}
select:focus-visible{outline:3px solid #ce284d40!important;outline-offset:2px}select:disabled{opacity:.5!important}
.pocket-select-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:440px;max-height:80dvh;padding:18px;border:1px solid var(--control-border);border-radius:22px;background:linear-gradient(145deg,#fffdfc,#fff4f6);color:var(--control-text);box-shadow:0 20px 65px #74304726;overflow:auto;font-family:var(--control-font)}
.pocket-select-dialog::backdrop{background:#48303955;backdrop-filter:blur(4px)}
.pocket-select-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.pocket-select-head strong{font-size:16px}.pocket-select-head button{min-height:44px;padding:8px 14px}
.pocket-select-options{display:grid;gap:6px}.pocket-select-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;padding:12px 14px;margin:0;border:1px solid transparent!important;border-radius:14px!important;background:linear-gradient(125deg,#fffdfc,#fff8f9)!important;color:var(--control-text)!important;font-family:var(--control-font)!important;font-size:calc(14px + var(--text-step,0px))!important;font-weight:400!important;text-align:left;line-height:1.6;white-space:normal;overflow-wrap:anywhere;box-shadow:none!important}
.pocket-select-options button[aria-pressed=true]{background:linear-gradient(115deg,#fce2e9,#f8ced9)!important;color:#a12f51!important;border-color:#edc5d1!important;font-weight:600!important}.pocket-select-options button[aria-pressed=true]:after{content:'✓';flex-shrink:0}.pocket-select-options small{padding:8px 12px;color:#8d7580;font-size:12px}
@media(max-width:360px){.pocket-select-dialog{padding:14px;width:calc(100% - 24px)}.pocket-select-options button{padding:11px 12px}}

/* Cards are content, not inset action buttons. Personal settings keep their own design. */
body #page-library #results .v2-product-main,body :is(.v2-common-row,.v2-unsave){background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:inherit!important}
body #page-library #results .v2-product-main{padding:4px 0!important;min-width:0;white-space:normal!important}
body #page-library #results .v2-product-row{padding:17px 18px!important;gap:14px;background:#fffdfc!important;border-color:#f0e4e6!important;min-height:86px}
body #page-library #results .v2-product-main :is(strong,h2){font-size:calc(15px + var(--text-step,0px))!important;font-weight:600!important;line-height:1.65!important;color:#34313b!important;margin:0!important;letter-spacing:.01em;white-space:normal!important;overflow-wrap:anywhere}
body #page-library #results .v2-product-main :is(small,.meta){font-size:calc(12px + var(--text-step,0px))!important;line-height:1.7!important;color:#8c7883!important;margin-top:7px!important;white-space:normal!important;overflow-wrap:anywhere}
body #page-library #results .v2-product-main small{display:flex!important;align-items:center;flex-wrap:wrap;gap:8px}
.card-category{display:inline-block;padding:2px 8px;border-radius:7px;background:#f8f1f3;color:#826a77;font-size:inherit;font-weight:400}
.card-doc-count{font-size:inherit;font-weight:400;color:#8c7883}
body #page-library #results .v2-product-row>.star{flex:0 0 44px;width:44px;height:44px;min-height:44px;border-radius:12px!important}
.app-page:not([id^="page-my"]) :is(.card,.shortcut,.offer-card,.v2-tile,.v2-common-row,.home-list-item) :is(h2,h3,strong){font-size:calc(15px + var(--text-step,0px))!important;line-height:1.65!important;font-weight:600!important;letter-spacing:.01em;white-space:normal;overflow-wrap:anywhere}
.app-page:not([id^="page-my"]) :is(.card,.shortcut,.offer-card,.v2-tile,.v2-common-row,.home-list-item) :is(small,.meta,.sub){font-size:calc(12px + var(--text-step,0px))!important;line-height:1.75!important;color:#8c7883!important;white-space:normal;overflow-wrap:anywhere}
body #page-home .home-tools>.shortcut strong{font-size:calc(15px + var(--text-step,0px))!important;line-height:1.6!important}
body #page-home .home-tools>.shortcut small{font-size:calc(12px + var(--text-step,0px))!important;line-height:1.7!important}
#page-todos .todo-panel{background:#fffdfc!important;box-shadow:0 5px 18px #76505e08}
.admin-nav .admin-section-link strong{line-height:1.6;overflow-wrap:anywhere}.admin-nav .admin-section-link small{line-height:1.75}
body :is(button.primary,button.open,a.open,button[type=submit],#todo-use-template,#ai-ask,#irr-calculate,#publish,#import-start){box-shadow:0 5px 12px #a93a501e,0 1px 2px #7e344010!important}
body button:not(:where(.bottom-nav *,.app-header *,.brand *,.shortcut,.v2-todo,.home-list-item,.my-entry,.my-settings-row,.star,.eye,.followup-inline-name,.followup-inline-note,#my-name,.chat-menu-icon,.pocket-select-options button,.v2-product-main,.v2-common-row,.v2-unsave,.v2-news,.v2-tile,[data-saved-file],[data-recent])){box-shadow:0 3px 8px #9b536315}
@media(max-width:360px){body #page-library #results .v2-product-row{padding:15px 13px!important;gap:9px}}

/* AI and investment have their own card classes: explicitly include both surfaces. */
body #page-ai :is(.v2-tile,#v2-ai-editor,.v2-ai-output,.v2-plan-flow,.v2-market-flow){background:#fffdfc!important;border:1px solid #eee0e5!important;border-radius:18px!important;box-shadow:0 5px 18px #76505e08!important;color:#443a43!important}
body #page-ai .v2-tile{padding:15px 16px!important;min-height:62px!important;white-space:normal!important;text-align:left}
body #page-ai .v2-tile.active{background:linear-gradient(125deg,#fff8fa,#fbe8ed)!important;border-color:#e9bccb!important;color:#a12f51!important;box-shadow:0 4px 12px #b6496511!important}
body #page-ai .v2-tile strong{color:inherit!important;font-size:calc(15px + var(--text-step,0px))!important;line-height:1.65!important;font-weight:600!important;overflow-wrap:anywhere}
body #page-ai #v2-ai-editor{padding:20px!important}
/* The editor owns the outer card; avoid a second unpadded frame around market content. */
body #page-ai #v2-ai-editor .v2-market-flow{box-sizing:border-box;min-width:0;max-width:100%;margin:16px 0 0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body #page-ai .v2-market-head{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:0 0 16px;border:0;min-width:0}
body #page-ai .v2-market-head>div{flex:1 1 210px;min-width:0;gap:6px;overflow-wrap:anywhere}
body #page-ai .v2-market-head strong{font-size:15px;line-height:1.6}
body #page-ai .v2-market-head span{font-size:12px;line-height:1.7}
body #page-ai .v2-market-source-status{padding:14px 16px;min-width:0;overflow-wrap:anywhere}
body #page-ai .v2-market-source-status small{font-size:12px;line-height:1.7}
body #page-ai .v2-market-list{box-sizing:border-box;min-width:0;max-width:100%;margin-top:14px}
body #page-ai .v2-market-list article{grid-template-columns:28px minmax(0,1fr);padding:16px;gap:12px;overflow-wrap:anywhere}
body #page-ai .v2-market-list :is(small,p){font-size:12px;line-height:1.8}
body #page-ai .v2-market-list strong{font-size:14px;line-height:1.7}
body #page-ai .v2-market-note{margin:16px 0 0;padding:0;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
body #page-ai :is(#v2-ai-editor h2,.v2-ai-step-title strong){font-size:calc(15px + var(--text-step,0px))!important;line-height:1.65!important;color:#443a43!important;font-weight:600!important}
body #page-ai :is(.v2-ai-hub>p.sub,#v2-ai-editor>p.sub,.v2-ai-step p.sub){font-size:calc(12px + var(--text-step,0px))!important;line-height:1.8!important;color:#8c7883!important}
body #page-ai :is(.v2-ai-choice-row,.v2-ai-quick) button{font-size:calc(13px + var(--text-step,0px))!important;line-height:1.6!important;min-height:44px!important;padding:9px 13px!important}
body #page-ai .v2-ai-choice-row button.active{background:linear-gradient(115deg,#fce2e9,#f8ced9)!important;color:#a12f51!important;border-color:#e9bccb!important}
body #page-ai #v2-ai-create{background:var(--pocket-action-gradient)!important;color:#fff!important;box-shadow:0 5px 12px #a93a501e!important;min-height:48px!important}
body #page-ai .v2-ai-step{border-color:#f0e4e7!important;padding-top:16px;padding-bottom:16px}
body #page-investment :is(.investment-list,.investment-empty,.investment-action,.fss-comparison,.aia-funds-box,.retirement-form){background:#fffdfc!important;border:1px solid #eee0e5!important;border-radius:20px!important;box-shadow:0 5px 18px #76505e08!important}
body #page-investment :is(.investment-action,.investment-list>div){line-height:1.7!important;color:#443a43!important;font-size:calc(15px + var(--text-step,0px))!important}
body #page-investment .investment-action{padding:20px!important;text-align:left!important;white-space:normal!important}
body #page-investment :is(.investment-caption,.investment-note,.investment-action small,.investment-list small,.fss-date,.fss-help,.retirement-note){font-size:calc(12px + var(--text-step,0px))!important;line-height:1.8!important;color:#8c7883!important;overflow-wrap:anywhere}
body #page-investment :is(.investment-empty strong,.fss-source,.retirement-toolbar>strong,.aia-funds-status){font-size:calc(15px + var(--text-step,0px))!important;line-height:1.65!important;font-weight:600!important;color:#443a43!important}
body #page-investment .investment-tabs button{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:#7c6c77!important;min-height:64px;white-space:normal!important;line-height:1.6!important}
body #page-investment :is(.investment-tabs button[aria-selected=true],.aia-plan-tabs button[aria-selected=true],.aia-plan-tabs button.active){background:linear-gradient(125deg,#fff3f7,#f8dce5)!important;border-color:#efced9!important;color:#a12f51!important;box-shadow:0 3px 9px #b6496510!important}
body #page-investment .retirement-assumptions{background:#fffafc!important;border-color:#efdee4!important;border-radius:16px!important;box-shadow:none!important}
body #page-investment .retirement-results>div{background:#fffdfc!important;border:1px solid #eee0e5!important;border-radius:18px!important;box-shadow:0 5px 18px #76505e08!important;padding:18px!important}
body #page-investment .retirement-results>.retirement-result-hero{border-top:3px solid #df6a83!important}
body #page-investment .retirement-result-hero :is(span,small){color:#8c7883!important;line-height:1.8!important}
body #page-investment .retirement-result-hero strong{color:#b72d52!important}
@media(max-width:360px){body #page-ai #v2-ai-editor{padding:16px!important}body #page-ai .v2-tile{padding:12px!important}body #page-investment .retirement-form{padding:15px!important}}
/* Market news: one heading, compact metadata, comfortable reading rhythm. */
#page-ai #v2-ai-editor .v2-market-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 16px;padding:0;border:0;background:transparent;flex-wrap:wrap}
#page-ai #v2-ai-editor .v2-market-head>div{flex:1 1 200px;min-width:0}
#page-ai #v2-market-date{font-size:12px;line-height:1.6;color:#87717b;overflow-wrap:anywhere}
#page-ai #v2-market-refresh{min-height:44px;padding:10px 16px;font-size:14px;border-radius:12px;white-space:nowrap}
#page-ai #v2-ai-editor .v2-market-list{margin-top:0}
#page-ai #v2-ai-editor .v2-market-list article{grid-template-columns:26px minmax(0,1fr);gap:12px;padding:18px 16px}
#page-ai #v2-ai-editor .v2-market-list small{font-size:12px;line-height:1.5;margin-bottom:6px}
#page-ai #v2-ai-editor .v2-market-list strong{font-size:16px;line-height:1.6;margin:0;color:#39333a;overflow-wrap:anywhere}
#page-ai #v2-ai-editor .v2-market-list p{font-size:14px;line-height:1.75;margin:8px 0;color:#786972;overflow-wrap:anywhere}
#page-ai #v2-ai-editor .v2-market-list p+p{font-size:12px;color:#8e7a84;margin-top:10px}
#page-ai #v2-ai-editor .v2-market-list a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5}
#page-ai #v2-ai-editor .v2-market-note{font-size:12px;line-height:1.75;margin:16px 2px 0;color:#8e7a84}
/* Device-native emoji, matching the independent My page icon treatment. */
.native-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;font-style:normal;font-weight:400;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;text-indent:0}
.native-emoji::before,.native-emoji::after{content:none!important}
.bottom-nav .native-emoji{font-size:26px;width:30px;height:30px}
.v2-header-actions .native-emoji{font-size:23px}
.v2-shortcut-icon .native-emoji,.v2-product-thumb .native-emoji{font-size:25px}
#page-ai .v2-tile .v2-symbol.native-emoji{display:inline-flex!important;width:32px;height:32px;font-size:26px;margin:0 10px 6px 0;vertical-align:middle}
.investment-tabs .native-emoji{font-size:24px}
.tool-panel h2 .native-emoji,.section-title .native-emoji{font-size:25px;margin-right:8px}
