*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.rounded{border-radius:.25rem}.border{border-width:1px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color:#191919;background:#f7f3ea;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.stock-maintenance-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1180;border:0;background:#221f1a47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.stock-maintenance-drawer{position:fixed;inset:0 0 0 auto;z-index:1190;width:min(460px,100vw);height:100vh;height:100dvh;display:flex;flex-direction:column;border-left:1px solid #ded8cc;background:#fffdf8;box-shadow:-18px 0 48px #322b2024}.stock-maintenance-head{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid #ece6db}.stock-maintenance-head>div,.stock-maintenance-head>div small{display:flex;flex-direction:column;gap:3px}.stock-maintenance-head>div strong{font-size:16px}.stock-maintenance-head>div small{color:#777168;font-size:11px}.stock-maintenance-head>button{width:32px;height:32px;display:grid;place-items:center;border:1px solid #ddd6ca;border-radius:8px;background:#fffaf0;color:#625e56;cursor:pointer}.stock-maintenance-tabs{display:flex;flex:0 0 auto;margin:12px 18px 0}.stock-maintenance-tabs .pill-tab{min-width:0;flex:1 1 0;padding:0 6px;font-size:11px;white-space:nowrap}.stock-maintenance-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 18px 24px}.stock-maintenance-form,.stock-import-panel{display:flex;flex-direction:column;gap:14px}.stock-maintenance-form label{display:flex;flex-direction:column;gap:6px;color:#5c574f;font-size:12px;font-weight:600}.stock-maintenance-form input,.stock-maintenance-form select,.stock-maintenance-form textarea{width:100%;border:1px solid #d9d2c6;border-radius:8px;padding:9px 10px;color:#282622;background:#fff;font:inherit;font-weight:500}.stock-maintenance-form textarea{min-height:78px;resize:vertical}.stock-maintenance-form input:focus,.stock-maintenance-form select:focus,.stock-maintenance-form textarea:focus{outline:2px solid rgba(63,125,88,.16);border-color:#78a286}.stock-maintenance-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stock-trade-type,.stock-position-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stock-trade-type button,.stock-position-mode button{min-height:36px;border:1px solid #d9d2c6;border-radius:8px;background:#faf7f0;color:#686258;font-weight:650;cursor:pointer}.stock-trade-type button.active,.stock-position-mode button.active{border-color:#83a38d;color:#335f43;background:#edf4e8}.stock-maintenance-current,.stock-import-summary{display:flex;flex-wrap:wrap;gap:8px}.stock-maintenance-current span,.stock-import-summary span{border-radius:999px;padding:5px 9px;color:#615c54;background:#f1eee7;font-size:11px}.stock-maintenance-current strong{margin-left:4px;color:#33312c}.stock-import-summary span.error{color:#9f4d35;background:#f9e8e0}.stock-maintenance-note{border:1px solid #e2ded3;border-radius:9px;padding:10px 12px;color:#6e685f;background:#f8f6f0;font-size:12px;line-height:1.55}.stock-import-picker{min-height:72px;display:flex;align-items:center;gap:12px;border:1px dashed #bbb4a8;border-radius:10px;padding:14px;color:#555149;background:#fbf8f1;cursor:pointer}.stock-import-picker span{display:flex;flex-direction:column;gap:3px}.stock-import-picker small{color:#827c72;font-size:11px}.stock-import-picker input{position:absolute;width:1px;height:1px;opacity:0}.stock-import-preview,.stock-transaction-history{display:flex;flex-direction:column;gap:10px;border-top:1px solid #ece6db;padding-top:14px}.stock-import-preview-list,.stock-transaction-history{display:flex;flex-direction:column;gap:7px}.stock-import-preview-list>div,.stock-transaction-history>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-radius:8px;padding:8px 10px;background:#f7f4ed;font-size:11px}.stock-import-preview-list>div{flex-direction:column}.stock-import-preview-list small{color:#8b4b37;line-height:1.45}.stock-transaction-history h4{margin:0;color:#4f4b44;font-size:12px}.stock-transaction-history span{display:flex;flex-direction:column;gap:2px}.stock-transaction-history span:last-child{text-align:right}.stock-transaction-history small{color:#817a70}.stock-maintenance-actions{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e8e2d7;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#fffdf8f7}.stock-maintenance-actions>div{min-width:0;font-size:11px}.stock-maintenance-error{color:#aa4f34}.stock-maintenance-success{color:#39724e}.stock-maintenance-search-empty{margin:-6px 0 0;color:#87766c;font-size:11px}.stock-maintenance-actions .btn-save{min-width:116px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.health-edit-drawer .stock-maintenance-content{padding-top:20px}.health-edit-status-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:12px}.health-edit-status-row .health-ongoing-toggle{min-height:38px}@media(max-width:720px){.health-edit-status-row{grid-template-columns:1fr;align-items:stretch}.stock-page-meta{align-items:flex-start;flex-direction:column}.stock-refresh-control{justify-content:flex-start;flex-wrap:wrap}.stock-page-controls{width:100%;justify-content:flex-start;flex-wrap:wrap}.stock-refresh-control small{flex-basis:100%}.stock-holdings-section-head{align-items:center}.stock-holdings-actions{justify-content:center}.stock-maintenance-drawer{width:100vw;border-left:0}.stock-maintenance-form-row{grid-template-columns:1fr}}.stock-page{width:100%;min-width:0}.stock-history-section{margin-top:18px}.stock-history-head{align-items:flex-start}.stock-history-head h2{margin:0}.stock-history-head p,.stock-history-note,.stock-history-empty p,.stock-history-holdings-head p{margin:5px 0 0;color:#746e64;font-size:12px;line-height:1.55}.stock-history-empty{border:1px dashed #dcd5c8;border-radius:10px;padding:18px;background:#fbf9f3}.stock-history-empty strong{color:#49443d}.stock-history-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.stock-history-metrics article{min-width:0;border:1px solid #e2ddd2;border-radius:10px;padding:12px;background:#fffdf8}.stock-history-metrics span{display:block;color:#777066;font-size:11px}.stock-history-metrics strong{display:block;margin-top:6px;color:#2e2c28;font-size:18px;letter-spacing:-.02em}.stock-period-panel{margin-top:14px;border:1px solid #dfe6dc;border-radius:10px;padding:14px;background:#fcfdf9}.stock-period-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stock-period-panel h3{margin:0;color:#39372f;font-size:15px}.stock-period-panel p{margin:4px 0 0;color:#746e64;font-size:12px;line-height:1.55}.stock-period-confidence{flex:none;border-radius:6px;padding:3px 7px;color:#4b7153;background:#eaf3e8;font-size:11px;font-weight:700}.stock-period-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.stock-period-metrics>div{min-width:0;border:1px solid #e8e4da;border-radius:8px;padding:9px 10px;background:#fffdf8}.stock-period-metrics span,.stock-period-contributors>div>span{display:block;color:#7a7469;font-size:11px}.stock-period-metrics strong{display:block;margin-top:4px;color:#39372f;font-size:15px;font-variant-numeric:tabular-nums}.stock-period-evidence{margin-top:10px}.stock-period-contributors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:9px}.stock-period-contributors>div{min-width:0;border-left:2px solid #e7e1d7;padding-left:9px}.stock-period-contributors ul{display:grid;gap:4px;margin:6px 0 0;padding:0;list-style:none}.stock-period-contributors li{display:flex;justify-content:space-between;gap:8px;color:#5c564e;font-size:12px}.stock-period-contributors li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-period-contributors li strong{flex:none;font-size:12px;font-variant-numeric:tabular-nums}.stock-period-contributors small,.stock-period-panel>small{display:block;margin-top:6px;color:#887f72;font-size:12px}.stock-period-note{margin-top:10px!important}.stock-period-boundary{color:#948c81!important;font-size:11px!important}.stock-period-panel.is-accumulating,.stock-period-panel.is-unavailable{display:flex;align-items:center;justify-content:space-between;gap:12px;border-style:dashed;background:#fbf9f3}.stock-period-panel.is-unavailable{border-color:#ead9c7}.stock-history-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.stock-history-chart{height:380px;min-width:0;border:1px solid #e5dfd5;border-radius:10px;padding:10px 4px 2px;background:#fffdf8}.stock-history-calendar{display:flex;min-width:0}.stock-history-calendar-month{width:100%;height:380px;display:flex;flex-direction:column;min-width:0;border:1px solid #e5dfd5;border-radius:10px;padding:12px;background:#fffdf8}.stock-history-calendar-head{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-bottom:10px}.stock-history-calendar-month-picker select{height:32px;min-width:128px;border:1px solid #ddd7cc;border-radius:8px;padding:0 10px;color:#4f4a43;background:#f9f7f2;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.stock-history-calendar-pager{display:flex;gap:6px}.stock-history-calendar-pager button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #ddd7cc;border-radius:8px;color:#5f594f;background:#f9f7f2;cursor:pointer}.stock-history-calendar-pager button:hover:not(:disabled){border-color:#b4c8b7;background:#eef4ec}.stock-history-calendar-pager button:disabled{opacity:.45;cursor:default}.stock-history-calendar-month-pnl{display:flex;align-items:baseline;gap:5px;min-width:0;color:#746e64;font-variant-numeric:tabular-nums;white-space:nowrap}.stock-history-calendar-month-pnl span{font-size:11px}.stock-history-calendar-month-pnl strong{font-size:13px}.stock-history-calendar-month-pnl.is-positive{color:#aa4f34}.stock-history-calendar-month-pnl.is-negative{color:#39724e}.stock-history-calendar-month-pnl.is-neutral{color:#746e64}.stock-history-account-filters{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto}.stock-history-account-filters button{min-height:30px;border:1px solid #ded8ce;border-radius:7px;padding:0 8px;color:#6f685d;background:#faf8f3;font:inherit;font-size:11px;font-weight:650;cursor:pointer}.stock-history-account-filters button:hover{border-color:#b8cbb9;background:#f0f5ee;color:#497255}.stock-history-account-filters button.is-active{border-color:#9ebaa2;background:#eaf3e8;color:#3e714d}.stock-history-calendar-weekdays,.stock-history-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.stock-history-calendar-weekdays{margin-bottom:5px;flex:0 0 auto}.stock-history-calendar-weekdays span{color:#9a9286;font-size:10px;text-align:center}.stock-history-calendar-weekdays .is-weekend{color:#c9a596}.stock-history-calendar-grid{flex:1 1 auto;grid-auto-rows:1fr}.stock-history-calendar-grid button,.stock-history-calendar-empty{min-width:0;min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.stock-history-calendar-grid button{border:1px solid #e2ddd2;border-radius:8px;background:#fbf9f3;color:#5f594f;cursor:pointer}.stock-history-calendar-grid small{color:#827b70;font-size:10px}.stock-history-calendar-grid strong{max-width:100%;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.stock-history-calendar-pnl-mobile{display:none}.stock-history-calendar-grid .gain{border-color:#ecd9d2;background:#fbf0ec;color:#aa4f34}.stock-history-calendar-grid .loss{border-color:#d8e5d7;background:#f0f6ed;color:#39724e}.stock-history-calendar-grid .pending{color:#978f84}.stock-history-calendar-grid .is-selected{box-shadow:inset 0 0 0 2px #557a60}.stock-history-calendar-grid button.is-live{border-style:dashed;border-width:1.5px;border-color:#a89f8f}.stock-history-calendar-grid button.is-live.is-selected{box-shadow:none}.stock-history-calendar-empty{color:#cfc7ba;font-size:10px}.stock-history-calendar-empty.is-weekend{color:#e5dfd5}.stock-history-chart-tooltip{min-width:160px;border:1px solid #e0d9cc;border-radius:8px;padding:8px 10px;background:#fffdf8fa;box-shadow:0 4px 14px #3c34281f}.stock-history-chart-tooltip strong{display:block;color:#39372f;font-size:12px}.stock-history-chart-tooltip span{display:block;margin-top:3px;color:#6f6a61;font-size:11px;font-variant-numeric:tabular-nums}.stock-history-note{margin-top:12px}.stock-history-holdings{margin-top:14px}.stock-history-holdings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.stock-history-holdings-head h3{margin:0;color:#39372f;font-size:15px}.stock-history-holdings-table-wrap{overflow-x:auto}.stock-history-holdings-table{min-width:1120px}.stock-history-holdings-table .stock-price-cell small{max-width:110px;overflow:hidden;text-overflow:ellipsis}.stock-transactions-section{margin-top:18px}.stock-transactions-head{align-items:flex-start}.stock-transactions-head h2{margin:0}.stock-transactions-head p{margin:5px 0 0;color:#746e64;font-size:12px;line-height:1.55}.stock-transactions-filters{display:flex;align-items:flex-end;gap:8px}.stock-transactions-filters label{display:grid;gap:4px;color:#746e64;font-size:10px}.stock-transactions-filters select{min-width:112px;height:32px;border:1px solid #ddd7cc;border-radius:7px;padding:0 28px 0 9px;color:#4f4a43;background:#f9f7f2;font:inherit;font-size:12px}.stock-transactions-table-wrap{max-height:620px;margin-top:12px}.stock-transactions-table{min-width:1160px;table-layout:fixed}.stock-transactions-table th:nth-child(1){width:104px}.stock-transactions-table th:nth-child(2){width:92px}.stock-transactions-table th:nth-child(3){width:155px}.stock-transactions-table th:nth-child(4){width:105px}.stock-transactions-table th:nth-child(5){width:90px;text-align:right}.stock-transactions-table th:nth-child(6){width:110px;text-align:right}.stock-transactions-table th:nth-child(7){width:110px;text-align:right}.stock-transactions-table th:nth-child(8){width:125px;text-align:right}.stock-transactions-table th:nth-child(10){width:86px}.stock-transactions-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.stock-transactions-note{display:block;overflow:hidden;color:#6f6a61;text-overflow:ellipsis;white-space:nowrap}.stock-transaction-correct{min-height:28px;border:1px solid #cbd9cd;border-radius:7px;padding:0 8px;color:#3d704d;background:#f1f7ee;font:inherit;font-size:11px;font-weight:650;white-space:nowrap;cursor:pointer}.stock-transaction-correct:hover:not(:disabled){border-color:#86aa8f;background:#e8f2e5}.stock-transaction-correct:disabled{cursor:default;opacity:.55}.stock-transactions-mobile-list{display:none}.stock-transactions-count{margin:12px 0 0;color:#8a847a;font-size:11px;text-align:right}.stock-transactions-more{display:flex;justify-content:center;padding-top:12px}.stock-transactions-more button{min-height:32px;border:1px solid #ddd7cc;border-radius:7px;padding:0 12px;color:#5f594f;background:#f9f7f2;font-size:12px;cursor:pointer}.stock-transactions-empty{border:1px dashed #dcd5c8;border-radius:10px;padding:18px;background:#fbf9f3}.stock-transactions-empty strong{color:#49443d}.stock-transactions-empty p{margin:5px 0 0;color:#746e64;font-size:12px}@media(max-width:760px){.stock-transactions-head{gap:12px;flex-direction:column}.stock-transactions-filters{width:100%}.stock-transactions-filters label{flex:1}.stock-transactions-filters select{width:100%;min-width:0}.stock-transactions-table-wrap{display:none}.stock-transactions-mobile-list{display:grid;gap:8px;margin-top:12px}.stock-transactions-mobile-list article{display:grid;gap:9px;border:1px solid #e3ddd2;border-radius:9px;padding:11px 12px;background:#fffdf8}.stock-transactions-mobile-list header,.stock-transactions-mobile-list article>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stock-transactions-mobile-list time{color:#817a70;font-size:11px}.stock-transactions-mobile-list article>div>span{display:grid;gap:2px;min-width:0}.stock-transactions-mobile-list article>div>span:last-child{text-align:right}.stock-transactions-mobile-list strong{overflow:hidden;color:#49443d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.stock-transactions-mobile-list small{color:#817a70;font-size:10px}.stock-transactions-mobile-list p{margin:0;color:#746e64;font-size:11px;line-height:1.45}.stock-transactions-mobile-list p.is-positive{color:#377b52}.stock-transactions-mobile-list p.is-negative{color:#b04f3a}.stock-transactions-mobile-list .stock-transaction-correct{justify-self:start}}@media(max-width:720px){.stock-history-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-period-metrics,.stock-period-contributors{grid-template-columns:1fr}.stock-period-panel.is-accumulating,.stock-period-panel.is-unavailable{align-items:flex-start;flex-direction:column}.stock-history-overview{grid-template-columns:1fr}.stock-history-chart{height:220px}.stock-history-calendar-month{height:auto}.stock-history-calendar-grid{flex:none;grid-auto-rows:auto}.stock-history-head{gap:10px;flex-direction:column}.stock-history-calendar-pnl-full{display:none}.stock-history-calendar-pnl-mobile{display:block;font-size:10px}.stock-history-calendar-head{flex-wrap:wrap}.stock-history-account-filters{width:100%;margin-left:0}}.stock-page-meta,.stock-page-controls,.stock-refresh-control,.stock-holdings-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.stock-page-updated{color:#6d6a63;font-size:12px}.stock-page-mode-switch{display:inline-flex;padding:2px;border:1px solid #ddd7cc;border-radius:8px;background:#f6f3ec}.stock-page-mode-switch button{min-height:30px;border:0;border-radius:6px;padding:0 10px;color:#746e64;background:transparent;font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}.stock-page-mode-switch button.is-active{color:#2f4637;background:#fffdf8;box-shadow:0 1px 2px #463e301f}.stock-refresh-control small{font-size:11px;font-weight:600}.stock-refresh-control small.success{color:#3f7d58}.stock-refresh-control small.error{color:#b75f36}.stock-refresh-control button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d4cec1;border-radius:7px;padding:0 10px;color:#3a3935;background:#fffaf0;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.stock-refresh-control button:hover:not(:disabled){border-color:#3f7d58;color:#3f7d58;background:#edf4e8}.stock-refresh-label{display:inline}.stock-refresh-control button:disabled{cursor:wait;opacity:.65}.stock-holdings-actions button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d4cec1;border-radius:7px;padding:0 10px;color:#3a3935;background:#fffaf0;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.stock-holdings-actions button:hover{border-color:#3f7d58;color:#3f7d58;background:#edf4e8}.stock-refresh-control .spinning{animation:spin 1s linear infinite}.stock-pnl-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:12px;margin-bottom:12px}.stock-overview-grid{display:grid;grid-template-columns:minmax(300px,1.45fr) repeat(2,minmax(220px,1fr));gap:10px;margin-bottom:10px}.stock-overview-card{min-width:0;min-height:174px;padding:14px 16px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #ded8ca;border-radius:10px;background:#fffaf0}.stock-overview-card>span,.stock-overview-card>small{color:#6d6a63}.stock-overview-card-label{display:flex;align-items:center;gap:6px;min-width:0;color:#6d6a63;font-size:13px}.stock-overview-card>span{font-size:13px}.stock-overview-card-footer-spacer{min-height:38px}.stock-overview-pnl-label{justify-content:flex-start;gap:8px}.stock-overview-pnl-label>em{flex:0 0 auto;font-size:16px;font-style:normal;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.stock-overview-card>strong{overflow:hidden;font-size:clamp(23px,2.15vw,32px);line-height:1;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.stock-overview-card>small{font-size:11px;line-height:1.35}.stock-overview-total>strong{font-size:clamp(30px,3.1vw,42px)}.stock-account-allocation{display:grid;gap:7px}.stock-account-allocation-bar{width:100%;height:8px;display:flex;overflow:hidden;border-radius:999px;background:#e9e3d8}.stock-account-allocation-segment{min-width:0;height:100%}.stock-account-allocation-segment+.stock-account-allocation-segment{box-shadow:inset 1px 0 #fffaf0e6}.stock-account-allocation-legend,.stock-account-pnl-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stock-account-allocation-item,.stock-account-pnl-item{min-width:0;display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}.stock-account-allocation-item>small,.stock-account-pnl-item>small{min-width:0;display:flex;align-items:center;gap:4px;overflow:hidden;color:#78746c;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.stock-account-allocation-item>small{justify-content:flex-start}.stock-account-allocation-item>small>span,.stock-account-pnl-item>small>span{min-width:0;display:inline-flex;align-items:center;gap:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-account-allocation-item>strong,.stock-account-pnl-item>strong{overflow:hidden;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.stock-account-allocation-item>small>span>em,.stock-account-pnl-item>small>span>em{color:#8b877e;font-size:10px;font-style:normal;font-weight:600;line-height:1.15}.stock-account-color-dot{width:6px;height:6px;flex:0 0 6px;border-radius:999px}.stock-account-allocation-segment.is-zhangle,.stock-account-color-dot.is-zhangle{background:#71889d}.stock-account-allocation-segment.is-longbridge,.stock-account-color-dot.is-longbridge{background:#b69770}.stock-account-allocation-segment.is-alipay,.stock-account-color-dot.is-alipay{background:#7f9d86}.stock-account-pnl-breakdown{padding-top:8px;border-top:1px solid #e6dfd3}.stock-account-pnl-item>small{justify-content:space-between}.stock-account-pnl-item>small>em{color:#9a6e28;font-size:9px;font-style:normal}.stock-concentration-grid{display:grid;grid-template-columns:minmax(360px,2fr) repeat(2,minmax(180px,1fr));gap:10px}.stock-pnl-primary,.stock-pnl-quality,.stock-pnl-account-card,.stock-pnl-position-panel,.stock-pnl-empty{border:1px solid #ded8ca;border-radius:10px;background:#fffaf0}.stock-pnl-primary{min-height:190px;padding:22px;display:flex;flex-direction:column;justify-content:space-between}.stock-pnl-eyebrow,.stock-pnl-account-card>div,.stock-pnl-position-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.stock-pnl-eyebrow>span,.stock-pnl-quality>span,.stock-pnl-account-card>div>span{color:#6d6a63;font-size:13px}.stock-pnl-primary>strong{font-size:clamp(34px,5vw,52px);line-height:1;letter-spacing:-.03em}.stock-pnl-primary>p,.stock-pnl-quality>p,.stock-pnl-position-head p{margin:0;color:#6d6a63;font-size:12px;line-height:1.55}.stock-portfolio-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid #e8e2d7}.stock-portfolio-total span{color:#6d6a63;font-size:12px}.stock-portfolio-total strong{font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.stock-pnl-quality{padding:18px;display:flex;flex-direction:column;justify-content:center;gap:12px;background:#fbf4e8}.stock-pnl-quality>strong{font-size:20px}.stock-concentration-risks{justify-content:flex-start}.stock-concentration-risks ol{display:grid;gap:4px;margin:0;padding-left:22px;color:#3a3935;font-size:12px;line-height:1.4}.stock-concentration-risks li.high::marker{color:#b75f36}.stock-concentration-risks li.attention::marker{color:#9a741f}.stock-consolidated-table-wrap{max-height:390px}.stock-consolidated-table{width:100%;min-width:1220px;table-layout:fixed;font-size:13px}.stock-consolidated-table th:nth-child(1){width:180px}.stock-consolidated-table th:nth-child(2){width:145px}.stock-consolidated-table th:nth-child(3){width:110px}.stock-consolidated-table th:nth-child(4){width:135px}.stock-consolidated-table th:nth-child(5){width:145px}.stock-consolidated-table th:nth-child(6){width:125px}.stock-consolidated-table th:nth-child(7){width:105px}.stock-consolidated-table th:nth-child(8){width:110px}.stock-consolidated-table th:nth-child(9){width:135px}.stock-consolidated-table th:nth-child(n+2):nth-child(-n+8),.stock-consolidated-table td:nth-child(n+2):nth-child(-n+8){text-align:right;font-variant-numeric:tabular-nums}.detail-table.stock-consolidated-table th{position:sticky;top:0;z-index:1;height:36px;padding:5px 10px;border-right:1px solid #e5e0d7;border-bottom-color:#ded8ca;color:#817d75;background:#f1eee9;font-size:12px;font-weight:600}.detail-table.stock-consolidated-table td{height:38px;padding:3px 10px;border-right:1px solid #eee9e0;border-bottom-color:#e8e2d7;vertical-align:middle;font-variant-numeric:tabular-nums}.stock-consolidated-table tbody tr:nth-child(2n) td{background:#fbf7ef}.stock-consolidated-table tbody tr:hover td{background:#edf4f1}.stock-consolidated-table td:nth-child(n+4):nth-child(-n+8){font-weight:700}.stock-consolidated-table .stock-security-cell,.stock-consolidated-table .stock-number-cell{flex-direction:row;align-items:baseline;gap:6px;white-space:nowrap}.stock-consolidated-table .stock-security-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-consolidated-table .stock-number-cell{justify-content:flex-end}.stock-consolidated-table .stock-number-cell small{font-size:10px}.stock-consolidated-table tbody tr.stock-asset-group-row td{background:#f0f3ed;border-bottom-color:#d9dfd7;font-weight:700}.stock-consolidated-table tbody tr.stock-asset-group-row:hover td{background:#e8eee8}.stock-asset-group-trigger{width:100%;min-width:0;padding:0;display:flex;align-items:center;justify-content:flex-start;gap:6px;border:0;color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}.stock-asset-group-trigger svg{flex:0 0 auto;color:#71877b}.stock-asset-group-trigger>span{min-width:0;display:flex;align-items:baseline;justify-content:flex-start;gap:6px;text-align:left}.stock-asset-group-trigger strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-asset-group-trigger small{flex:0 0 auto;color:#7b8179;font-size:10px;font-weight:500}.stock-consolidated-table tbody tr.stock-asset-group-child-row td{background:#faf9f5}.stock-consolidated-table tbody tr.stock-asset-group-child-row:hover td{background:#f2f5f1}.stock-asset-group-child-row td:first-child{padding-left:32px;box-shadow:inset 3px 0 #d7dfd4}.stock-asset-group-child-row .stock-security-cell strong{font-weight:600}.stock-pnl-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stock-pnl-account-card{min-width:0;min-height:118px;padding:14px}.stock-pnl-account-card>strong{display:block;margin:12px 0 5px;font-size:24px;line-height:1.1}.stock-pnl-account-card>small{color:#6d6a63;font-size:12px;line-height:1.5}.stock-pnl-position-panel{overflow:hidden}.stock-holdings-section-head{align-items:center}.stock-holdings-section-head h2{display:flex}.stock-holdings-toggle{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;color:inherit;background:transparent;font:inherit;cursor:pointer}.stock-holdings-toggle svg{color:#817d75}.stock-holdings-toggle:hover,.stock-holdings-toggle:focus-visible{color:#9a5432}.stock-holdings-toggle:focus-visible{outline:2px solid rgba(183,95,54,.35);outline-offset:4px;border-radius:3px}.stock-pnl-position-head{min-height:52px;margin:0;padding:10px 14px;border-bottom:1px solid #ded8ca;background:#fbf4e8}.stock-pnl-position-head-inner{min-width:1335px;display:flex;align-items:center;gap:8px}.stock-diagnosis-active-filter{min-height:26px;padding:3px 8px;border:1px solid #d9cfc0;border-radius:999px;color:#6c5548;background:#f4eadf;cursor:pointer;font-size:11px}.stock-diagnosis-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-left:0;color:#78746c;font-size:11px}.stock-diagnosis-clear-filters{border:0;padding:3px 5px;color:#8c6956;background:transparent;cursor:pointer;font-size:11px}.stock-diagnosis-clear-filters:hover,.stock-diagnosis-clear-filters:focus-visible{color:#5e4032;text-decoration:underline}.stock-diagnosis-active-filter span{margin-left:6px;color:#9b7c6a}.stock-diagnosis-active-filter:hover,.stock-diagnosis-active-filter:focus-visible{border-color:#bda48f;background:#eee0d2}.stock-diagnosis-active-filter:focus-visible{outline:2px solid rgba(183,95,54,.28);outline-offset:2px}.stock-pnl-position-head-inner>.soft-tag{flex:0 0 auto}.stock-account-filter{display:flex;align-items:center;gap:6px;min-width:0}.stock-account-filter button{min-height:30px;border:1px solid transparent;border-radius:7px;padding:4px 10px;color:#6d6a63;background:transparent;font-size:12px;cursor:pointer}.stock-account-filter button:hover{background:#f2eee7}.stock-account-filter button.active{border-color:#d4cec1;color:#191919;background:#fffaf0;font-weight:700}.stock-pnl-table-wrap{max-height:610px;border:0;border-radius:0}.stock-pnl-table{width:100%;min-width:1120px;table-layout:fixed;font-size:13px;--stock-metric-size: 13px;--stock-metric-weight: 500;--stock-primary-metric-weight: 600}.detail-table.stock-pnl-table th{position:sticky;top:0;z-index:1;height:36px;padding:5px 10px;border-right:1px solid #e5e0d7;border-bottom-color:#ded8ca;color:#817d75;background:#f1eee9;font-size:12px;font-weight:600}.stock-pnl-table th button{display:inline-flex;align-items:center;gap:3px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer}.stock-pnl-table th button.active{color:#191919}.stock-pnl-table th button svg{color:#aaa59c}.stock-pnl-table th:nth-child(1){width:155px}.stock-pnl-table th:nth-child(2){width:130px}.stock-pnl-table th:nth-child(3){width:120px}.stock-pnl-table th:nth-child(4){width:90px}.stock-pnl-table th:nth-child(5){width:115px}.stock-pnl-table th:nth-child(6){width:125px}.stock-pnl-table th:nth-child(7){width:95px}.stock-pnl-table th:nth-child(8){width:85px}.stock-pnl-table th:nth-child(9){width:85px}.stock-pnl-table th:nth-child(n+2):nth-child(-n+8),.stock-pnl-table td:nth-child(n+2):nth-child(-n+8){text-align:right}.stock-pnl-table th:nth-child(n+2):nth-child(-n+8) button{margin-left:auto}.detail-table.stock-pnl-table td{height:38px;padding:3px 10px;border-right:1px solid #eee9e0;border-bottom-color:#e8e2d7;vertical-align:middle;font-variant-numeric:tabular-nums}.stock-pnl-table tfoot th,.stock-pnl-table tfoot td{height:44px;padding:7px 10px;border-top:2px solid #d9d0c0;border-bottom:0;background:#f7f0e3;font-variant-numeric:tabular-nums}.stock-pnl-table tfoot th{color:#6d6a63;text-align:left;font-size:12px;font-weight:700}.stock-pnl-table tfoot td{text-align:right}.stock-pnl-total-value{font-size:13px;font-weight:700}.stock-pnl-table tfoot .stock-pnl-data-note-row td{height:auto;padding:2px 10px 8px;border-top:0;color:#8a867d;background:#f7f0e3;font-size:10px;font-weight:400;line-height:1.5;text-align:left;white-space:normal}.stock-pnl-table tbody tr:nth-child(2n) td{background:#fbf7ef}.stock-pnl-table tbody tr:nth-child(odd) td:first-child{background:#fffaf0}.stock-pnl-table tbody tr:hover td{background:#edf4f1}.stock-pnl-table th:first-child{position:sticky;left:0;z-index:3}.stock-pnl-table td:first-child{position:sticky;left:0;z-index:2;background:#fffaf0}.stock-pnl-table td:first-child .detail-record-trigger{width:100%}.stock-pnl-table tbody tr:nth-child(2n) td:first-child{background:#fbf7ef}.stock-pnl-table tbody tr:hover td:first-child{background:#edf4f1}.stock-pnl-table td:nth-child(n+2):nth-child(-n+8){font-size:var(--stock-metric-size);font-weight:var(--stock-metric-weight);line-height:1.2}.stock-pnl-table.stock-holdings-table tbody td:nth-child(2),.stock-pnl-table.stock-holdings-table tbody td:nth-child(5),.stock-pnl-table.stock-holdings-table tbody td:nth-child(6){font-weight:var(--stock-primary-metric-weight)}.stock-pnl-table.stock-holdings-table tbody td:nth-child(2) strong,.stock-pnl-table.stock-holdings-table tbody td:nth-child(5) strong,.stock-pnl-table.stock-holdings-table tbody td:nth-child(6) strong{font-size:var(--stock-metric-size);font-weight:inherit;line-height:inherit}.stock-pnl-table.stock-holdings-table th:nth-child(1){width:170px}.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-row td,.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-row td:first-child{background:#f0f3ed;border-bottom-color:#d9dfd7;font-weight:700}.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-row:hover td,.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-row:hover td:first-child{background:#e8eee8}.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-child-row td,.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-child-row td:first-child{background:#faf9f5}.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-child-row:hover td,.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-child-row:hover td:first-child{background:#f2f5f1}.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-row td:nth-child(n+2):nth-child(-n+8){font-size:var(--stock-metric-size);font-weight:var(--stock-metric-weight);line-height:1.2}.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-row td:nth-child(2):nth-child(n),.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-row td:nth-child(5):nth-child(n),.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-row td:nth-child(6):nth-child(n){font-weight:var(--stock-primary-metric-weight)}.stock-pnl-table.stock-holdings-table tbody tr.stock-asset-group-row td:nth-child(n+2):nth-child(-n+8) strong{font-size:inherit;font-weight:inherit;line-height:inherit}.stock-security-cell,.stock-number-cell,.stock-status-cell{display:flex;min-width:0;flex-direction:column;gap:3px}.stock-security-cell strong,.stock-number-cell strong{overflow:hidden;color:inherit;font-size:14px;font-weight:700;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.stock-security-cell small,.stock-number-cell small,.stock-status-cell small{overflow:hidden;color:#817d75;font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.stock-number-cell{align-items:flex-end}.stock-price-cell{display:inline-flex;min-width:0;flex-direction:column;align-items:flex-end;gap:2px;line-height:1;white-space:nowrap}.stock-price-cell>span{display:inline-flex;align-items:baseline;gap:5px}.stock-price-cell strong{font-size:12px;font-weight:500}.stock-price-cell small{color:#8a867d;font-size:9px;font-weight:400;line-height:1}.stock-price-cell>span small{font-size:9px}.stock-holding-detail-name{padding-left:16px}.stock-status-cell{align-items:flex-start}.stock-pnl-table .stock-security-cell,.stock-pnl-table .stock-number-cell,.stock-pnl-table .stock-status-cell{flex-direction:row;align-items:baseline;gap:6px;white-space:nowrap}.stock-pnl-table .stock-security-cell{overflow:hidden;justify-content:flex-start;text-align:left}.stock-pnl-table .stock-security-cell strong{flex:1 1 auto;min-width:0}.stock-pnl-table .stock-security-cell small{min-width:0}.stock-pnl-table .stock-number-cell{justify-content:flex-end}.stock-pnl-table .stock-status-cell{align-items:center}.stock-pnl-table .stock-security-cell strong,.stock-pnl-table .stock-number-cell strong{font-size:13px;line-height:1}.stock-pnl-table .stock-security-cell small,.stock-pnl-table .stock-number-cell small,.stock-pnl-table .stock-status-cell small{font-size:10px;line-height:1}.stock-detail-secondary{display:block;margin-top:3px;color:#817d75;font-size:11px;font-weight:400}.stock-pnl-mobile-list{display:none}.stock-pnl-empty{min-height:132px;padding:20px;display:flex;flex-direction:column;justify-content:center;gap:8px;color:#6d6a63}.stock-pnl-empty strong{color:#191919}.stock-page .is-positive{color:#c15f37}.stock-page .is-negative{color:#168b78}.stock-page .is-pending{color:#8a641f}.stock-page .is-neutral{color:#191919}.stock-diagnosis-section{margin-top:18px}.stock-diagnosis-section-head{align-items:center}.stock-diagnosis-toggle{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;font:inherit}.stock-diagnosis-toggle svg{color:#817d75;transition:transform .16s ease}.stock-diagnosis-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.stock-diagnosis-toggle:hover h2,.stock-diagnosis-toggle:focus-visible h2{color:#9a5432}.stock-diagnosis-toggle:focus-visible{outline:2px solid #a76b49;outline-offset:3px}.stock-diagnosis-card{min-width:0;padding:16px;border:1px solid #ded8ca;border-radius:10px;background:#fffaf0}.stock-diagnosis-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.stock-diagnosis-card-head h3,.stock-diagnosis-card-head p{margin:0}.stock-diagnosis-card-head h3{color:#292824;font-size:15px}.stock-diagnosis-card-head p,.stock-diagnosis-card-head>span{color:#7a766e;font-size:11px;line-height:1.45}.stock-diagnosis-card-head>span{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#f1ece2;font-variant-numeric:tabular-nums}.stock-portfolio-ranking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stock-portfolio-ranking-card{padding:12px}.stock-portfolio-ranking-card .stock-diagnosis-card-head{margin-bottom:7px}.stock-portfolio-ranking-list{display:grid;gap:3px}.stock-portfolio-ranking-list>button{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 6px;border:1px solid transparent;border-radius:7px;color:inherit;background:transparent;cursor:pointer;text-align:left}.stock-portfolio-ranking-list>button:hover,.stock-portfolio-ranking-list>button.active{border-color:#d7c8b7;background:#f7eee3}.stock-portfolio-ranking-list>button.active{box-shadow:inset 2px 0 #a76b49}.stock-portfolio-ranking-list>button:focus-visible{outline:2px solid #a76b49;outline-offset:2px}.stock-portfolio-ranking-name{min-width:0;display:flex;align-items:center;gap:6px}.stock-portfolio-ranking-name>em{width:16px;height:16px;display:inline-grid;flex:0 0 16px;place-items:center;border-radius:999px;color:#8b654d;background:#f1e3d3;font-size:10px;font-style:normal;font-weight:700}.stock-portfolio-ranking-name>strong{min-width:0;overflow:hidden;color:#393631;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.stock-portfolio-ranking-details{min-width:0;display:grid;justify-items:end;gap:2px;text-align:right}.stock-portfolio-ranking-details small{color:#918c82;font-size:9px;line-height:1.2;white-space:nowrap}.stock-portfolio-ranking-details strong{overflow:hidden;color:inherit;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.stock-portfolio-ranking-details strong>em{margin-left:4px;font-size:9px;font-style:normal;font-weight:600}.stock-diagnosis-empty-copy{margin:4px 0;color:#5f5b54;font-size:12px;line-height:1.5}.stock-diagnosis-rule-note{display:block;margin-top:auto;padding-top:12px;color:#8a857b;font-size:10px;line-height:1.5}.stock-diagnosis-allocation-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:14px 0 8px}.stock-allocation-section{margin-top:18px}.stock-diagnosis-allocation-head h2{margin:0}.stock-diagnosis-allocation-edit{margin-left:auto;min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d4cec1;border-radius:7px;padding:0 10px;color:#3a3935;background:#fffaf0;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.stock-diagnosis-allocation-edit:hover{border-color:#a76b49;color:#8d4f30;background:#f7eee3}.stock-diagnosis-allocation-edit:focus-visible{outline:2px solid #a76b49;outline-offset:2px}.stock-classification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stock-classification-grid>:last-child{grid-column:1 / -1}.stock-classification-card.is-asset-type{grid-column:1 / -1}.stock-classification-card .stock-diagnosis-card-head{margin-bottom:8px}.stock-diagnosis-allocation-toggle{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;font:inherit}.stock-diagnosis-allocation-toggle svg{color:#817d75;transition:transform .16s ease}.stock-diagnosis-allocation-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.stock-diagnosis-allocation-toggle:hover h2,.stock-diagnosis-allocation-toggle:focus-visible h2{color:#9a5432}.stock-diagnosis-allocation-toggle:focus-visible{outline:2px solid #a76b49;outline-offset:3px}.stock-classification-list{display:grid;grid-template-columns:repeat(var(--stock-classification-columns),minmax(120px,1fr));gap:6px 12px}.stock-classification-list>button{width:100%;display:grid;gap:5px;padding:5px 8px;border:1px solid transparent;border-radius:8px;color:inherit;background:transparent;cursor:pointer;text-align:left}.stock-classification-list>button:hover,.stock-classification-list>button.active{border-color:#d7c8b7;background:#f7eee3}.stock-classification-list>button.active{box-shadow:inset 2px 0 #a76b49}.stock-classification-list>button:focus-visible{outline:2px solid #a76b49;outline-offset:2px}.stock-classification-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#393631;font-size:12px}.stock-classification-row-head>span{display:inline-flex;align-items:center;gap:7px;min-width:0;font-weight:650}.stock-classification-row-head i{width:7px;height:7px;flex:0 0 7px;border-radius:999px}.stock-classification-row-head strong,.stock-classification-metrics strong{font-variant-numeric:tabular-nums}.stock-classification-track{width:100%;height:6px;overflow:hidden;border-radius:999px;background:#ebe5db}.stock-classification-track i{display:block;height:100%;border-radius:inherit}.stock-classification-metrics{display:flex;align-items:center;gap:0;min-width:0;color:#918c82;font-size:10px}.stock-classification-metrics strong{min-width:0;overflow:hidden;color:inherit;font-size:inherit;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.stock-classification-metrics strong+strong:before{margin:0 4px;color:#c0b9ad;content:"·"}.stock-role-target-row{display:flex;align-items:center;min-height:12px;color:#888278;font-size:9px;font-variant-numeric:tabular-nums}.stock-product-type-detail-metrics{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#888278;font-size:9px;font-variant-numeric:tabular-nums}.stock-role-target-row small{min-width:0;font-size:inherit;line-height:1.3}.stock-role-target-row .is-within{color:#587565}.stock-role-target-row .is-below,.stock-role-target-row .is-above{color:#a45f3c}.stock-role-target-row .is-incomplete{color:#7b776f}.stock-role-track{position:relative}.stock-role-track>i{opacity:.56}.stock-role-target-band,.stock-role-current-marker{position:absolute;z-index:1;top:0;bottom:0;display:block}.stock-role-target-band{border:1px solid rgba(66,91,76,.5);border-radius:inherit;background:#7899853d}.stock-role-current-marker{width:2px;border-radius:999px;background:#4e4a43;transform:translate(-1px)}.stock-classification-chevron{flex:0 0 auto;color:#817d75;transition:transform .16s ease}.stock-classification-list>button[aria-expanded=true] .stock-classification-chevron{transform:rotate(180deg)}.stock-product-type-detail,.stock-region-detail{margin-top:12px;padding:12px;border-top:1px solid #ded8ca;border-radius:8px;background:#f8f3e9}.stock-product-type-detail-head,.stock-region-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.stock-product-type-detail-head>div,.stock-region-detail-head>div{display:grid;gap:2px}.stock-product-type-detail-head strong,.stock-region-detail-head strong{color:#393631;font-size:12px}.stock-product-type-detail-head small,.stock-product-type-detail-head>span,.stock-region-detail-head small,.stock-region-detail-head>span{color:#858077;font-size:10px;font-variant-numeric:tabular-nums}.stock-product-type-detail-list,.stock-region-detail-list{display:grid;gap:8px}.stock-product-type-detail-list{grid-template-columns:repeat(4,minmax(0,1fr))}.stock-region-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-product-type-detail-list>button,.stock-region-detail-list>button{display:grid;gap:5px;min-width:0;padding:8px 9px;border:1px solid #ded7cb;border-radius:8px;color:inherit;background:#fffaf0;cursor:pointer;text-align:left}.stock-product-type-detail-list>button:hover,.stock-product-type-detail-list>button.active,.stock-region-detail-list>button:hover,.stock-region-detail-list>button.active{border-color:#cdb9a4;background:#f7eee3}.stock-product-type-detail-list>button.active,.stock-region-detail-list>button.active{box-shadow:inset 2px 0 #a76b49}.stock-product-type-detail-list>button:focus-visible,.stock-region-detail-list>button:focus-visible{outline:2px solid #a76b49;outline-offset:2px}.stock-product-type-detail-metrics small{overflow:hidden;font-size:inherit;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1100px){.stock-pnl-hero,.stock-pnl-account-grid,.stock-overview-grid,.stock-concentration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-pnl-primary{min-height:164px}.stock-classification-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-classification-card.is-asset-type .stock-classification-list{grid-template-columns:repeat(3,minmax(0,1fr))}.stock-product-type-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-classification-metrics{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px}.stock-classification-metrics strong:first-child{grid-column:1 / -1}.stock-classification-metrics strong{overflow:visible;text-overflow:clip}.stock-classification-metrics strong+strong:before{content:none}.stock-portfolio-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.monthly-memory-card{display:grid;gap:12px;margin-top:14px;padding:15px 17px;border:1px solid #ded8ca;border-radius:10px;background:#fffaf0}.monthly-memory-head,.monthly-memory-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.monthly-memory-title{display:inline-flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.monthly-memory-title strong{color:#191919;font-size:15px;line-height:1.4}.monthly-memory-tag{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;background:#f9efe9;color:#a65636;font-size:11px;font-weight:800}.monthly-memory-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:9px}.monthly-memory-saved{display:inline-flex;align-items:center;gap:4px;color:#3f7d58;font-size:11px;font-weight:700}.monthly-memory-edit{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px;border:1px solid #191919;border-radius:8px;background:#191919;color:#fffaf0;font-size:12px;font-weight:800;cursor:pointer}.monthly-memory-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px}.monthly-memory-story{min-width:0;display:grid;align-content:start;gap:10px}.monthly-memory-summary{margin:0;color:#191919;font-size:13px;font-weight:600;line-height:1.55}.monthly-memory-highlights{display:grid;gap:7px;margin:0;padding:0 0 0 12px;border-left:2px solid #b75f36;list-style:none}.monthly-memory-highlights li{display:flex;align-items:flex-start;gap:8px;color:#5f5a51;font-size:12px;line-height:1.5}.monthly-memory-highlights a{display:inline-flex;align-items:center;gap:2px;margin:0 2px;padding:0 7px;border-radius:999px;background:#f9efe9;color:#a65636;font-size:11px;font-weight:800;line-height:1.5;text-decoration:none;white-space:nowrap}.monthly-memory-highlights a:hover{background:#f6e1d6}.monthly-memory-dot{flex:0 0 auto;width:5px;height:5px;margin-top:7px;border-radius:50%;background:#b75f36}.monthly-memory-states{min-width:0;border-left:1px solid #e5ded0;padding-left:18px}.monthly-memory-states small{display:block;margin-bottom:9px;color:#8a8579;font-size:11px;font-weight:700}.monthly-memory-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.monthly-memory-chip{display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:5px 6px;border-radius:7px;font-size:11px;font-weight:800;white-space:nowrap}.monthly-memory-chip.score-health{background:#eef4ee;color:#3f7d58}.monthly-memory-chip.score-learning{background:#eef2f7;color:#47657e}.monthly-memory-chip.score-finance{background:#f9efe9;color:#a65636}.monthly-memory-chip.score-relationship{background:#f4eef5;color:#775675}.monthly-memory-chip.score-life{background:#f7f1df;color:#8a6a20}.monthly-memory-chip.score-spirit{background:#edf2ee;color:#557163}.monthly-memory-empty{justify-content:space-between}.monthly-memory-loading,.monthly-memory-error{display:flex;align-items:center;gap:8px;color:#8a8579;font-size:12px}.monthly-memory-error p{margin:0;color:#a65636}.monthly-memory-error button{height:26px;padding:0 10px;border:1px solid #ded8ca;border-radius:7px;background:transparent;color:#5f5a51;font-size:11px;font-weight:700;cursor:pointer}.monthly-memory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;justify-content:flex-end;background:#221f1a47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.monthly-memory-editor{width:min(480px,100vw);height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid #ded8cc;background:#fffdf8;box-shadow:-18px 0 48px #322b2024}.monthly-memory-editor-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #ece6db}.monthly-memory-editor-head>div{display:flex;flex-direction:column;gap:3px}.monthly-memory-editor-head strong{color:#191919;font-size:16px}.monthly-memory-editor-head small{color:#8a8579;font-size:11px}.monthly-memory-close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e4dccd;border-radius:8px;background:#f4eddf;color:#6d6a63;cursor:pointer}.monthly-memory-form{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;align-content:start;gap:16px;padding:16px 18px}.monthly-memory-field{display:grid;gap:7px}.monthly-memory-field>span,.monthly-memory-ratings legend{color:#5f5a51;font-size:12px;font-weight:800}.monthly-memory-field input,.monthly-memory-field textarea{width:100%;box-sizing:border-box;border:1px solid #ded8ca;border-radius:8px;background:#fffdf7;color:#191919;font-size:13px;line-height:1.5;padding:9px 11px;outline:none}.monthly-memory-field input:focus,.monthly-memory-field textarea:focus{border-color:#b75f36}.monthly-memory-field textarea{resize:vertical;min-height:74px}.monthly-memory-events,.monthly-memory-batch{display:grid;gap:7px}.monthly-memory-batch textarea{width:100%;box-sizing:border-box;min-height:64px;resize:vertical;border:1px solid #ded8ca;border-radius:8px;background:#fffdf7;color:#191919;font-size:12px;line-height:1.55;padding:8px 10px;outline:none}.monthly-memory-batch textarea:focus{border-color:#b75f36}.monthly-memory-batch-add{justify-self:start;display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 11px;border:1px solid #b75f36;border-radius:7px;background:transparent;color:#a65636;font-size:11px;font-weight:800;cursor:pointer}.monthly-memory-batch-add:disabled{opacity:.45;cursor:default}.monthly-memory-event{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:7px}.monthly-memory-event-remove{width:32px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e4dccd;border-radius:8px;background:#f4eddf;color:#8a8579;cursor:pointer}.monthly-memory-add{justify-self:start;display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:#a65636;font-size:12px;font-weight:800;padding:2px 0;cursor:pointer}.monthly-memory-ratings{margin:0;padding:0;border:0}.monthly-memory-ratings legend{margin-bottom:7px}.monthly-memory-rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.monthly-memory-rating{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid #e5ded0;border-radius:8px;background:#fbf4e8}.monthly-memory-rating>span{flex:0 0 auto;color:#5f5a51;font-size:12px;font-weight:700}.monthly-memory-rate{display:inline-flex;align-items:center;gap:3px}.monthly-memory-rate button{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:#eae4d9;color:#8a8579;font-size:10px;font-weight:800;cursor:pointer}.monthly-memory-rate button.active{background:#191919;color:#fffaf0}.monthly-memory-hint{margin:0;padding:9px 11px;border-radius:8px;background:#fbf4e8;color:#8a8579;font-size:11px;line-height:1.5}.monthly-memory-save-error{margin:0;color:#a65636;font-size:12px}.monthly-memory-editor-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:13px 18px;border-top:1px solid #ece6db;background:#fffdf8}.monthly-memory-editor-foot button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:8px;font-size:12px;font-weight:800;cursor:pointer}.monthly-memory-cancel{border:1px solid #ded8ca;background:transparent;color:#5f5a51}.monthly-memory-save{border:1px solid #191919;background:#191919;color:#fffaf0}.monthly-memory-save:disabled{opacity:.65;cursor:default}@media(max-width:1100px){.monthly-memory-body{grid-template-columns:minmax(0,1fr) 280px;gap:16px}}@media(max-width:760px){.monthly-memory-card{padding:14px 15px}.monthly-memory-head,.monthly-memory-empty{align-items:flex-start}.monthly-memory-title{display:grid;gap:7px}.monthly-memory-title strong{font-size:14px}.monthly-memory-body{grid-template-columns:minmax(0,1fr);gap:13px}.monthly-memory-states{border-left:0;border-top:1px solid #e5ded0;padding:12px 0 0}.monthly-memory-overlay{align-items:flex-end;justify-content:center}.monthly-memory-editor{width:100%;height:min(78vh,640px);height:min(78dvh,640px);border-left:0;border-top:1px solid #ded8cc;border-radius:16px 16px 0 0}.monthly-memory-editor-foot{padding-bottom:max(13px,env(safe-area-inset-bottom))}.stock-overview-grid,.stock-concentration-grid,.stock-classification-grid{grid-template-columns:1fr}.stock-classification-grid>:last-child{grid-column:auto}.stock-classification-list{grid-template-columns:1fr}.stock-classification-card.is-asset-type .stock-classification-list,.stock-product-type-detail-list,.stock-region-detail-list{grid-template-columns:minmax(0,1fr)}.stock-classification-card.is-asset-type .stock-classification-metrics strong:nth-child(n+2){display:none}.stock-portfolio-ranking-grid{grid-template-columns:1fr}.stock-pnl-position-head{min-height:0;padding:10px 12px}.stock-pnl-position-head-inner{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.stock-account-filter{max-width:calc(100% - 54px);overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.stock-account-filter button{flex:0 0 auto}.stock-diagnosis-active-filters{width:100%;margin-left:0}.stock-pnl-position-head-inner>.soft-tag{margin-left:0;margin-right:0}.stock-pnl-table-wrap{display:none}.stock-pnl-mobile-list{display:block}.stock-pnl-mobile-table-wrap{overflow-x:auto;border-bottom:1px solid #e8e2d7;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;-webkit-overflow-scrolling:touch}.stock-pnl-mobile-table{width:-moz-max-content;width:max-content;min-width:728px;border-collapse:separate;border-spacing:0;color:#393631;font-size:12px;font-variant-numeric:tabular-nums}.stock-pnl-mobile-table th,.stock-pnl-mobile-table td{height:48px;padding:0 10px;border-bottom:1px solid #eee9e0;text-align:right;white-space:nowrap}.stock-pnl-mobile-table th{height:34px;color:#817d75;background:#f1eee9;font-size:10px;font-weight:650}.stock-pnl-mobile-table th button{display:inline-flex;align-items:center;gap:2px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;font:inherit;white-space:nowrap}.stock-pnl-mobile-table th:not(:first-child) button{margin-left:auto}.stock-pnl-mobile-table th button.active{color:#191919}.stock-pnl-mobile-table th button svg{color:#aaa59c}.stock-pnl-mobile-table tbody tr:last-child td{border-bottom:0}.stock-pnl-mobile-table tbody tr:nth-child(2n) td{background:#fbf7ef}.stock-pnl-mobile-table tbody tr.stock-asset-group-row td{background:#f0f3ed;border-bottom-color:#d9dfd7;font-weight:700}.stock-pnl-mobile-table tbody tr.stock-asset-group-child-row td{background:#faf9f5}.stock-pnl-mobile-table th:first-child,.stock-pnl-mobile-table td:first-child{position:sticky;left:0;z-index:1;width:120px;min-width:120px;max-width:120px;text-align:left;box-shadow:4px 0 8px #5e523e12}.stock-pnl-mobile-table th:first-child{z-index:2;background:#f1eee9}.stock-pnl-mobile-table tbody tr:nth-child(odd) td:first-child{background:#fffaf0}.stock-pnl-mobile-table tbody tr:nth-child(2n) td:first-child{background:#fbf7ef}.stock-pnl-mobile-table tbody tr.stock-asset-group-row td:first-child{background:#f0f3ed}.stock-pnl-mobile-table tbody tr.stock-asset-group-child-row td:first-child{background:#faf9f5}.stock-pnl-mobile-table th:nth-child(2),.stock-pnl-mobile-table td:nth-child(2){width:94px}.stock-pnl-mobile-table th:nth-child(3),.stock-pnl-mobile-table td:nth-child(3){width:82px}.stock-pnl-mobile-table th:nth-child(4),.stock-pnl-mobile-table td:nth-child(4),.stock-pnl-mobile-table th:nth-child(5),.stock-pnl-mobile-table td:nth-child(5){width:110px}.stock-pnl-mobile-table th:nth-child(6),.stock-pnl-mobile-table td:nth-child(6),.stock-pnl-mobile-table th:nth-child(7),.stock-pnl-mobile-table td:nth-child(7){width:92px}.stock-pnl-mobile-table .detail-record-trigger{display:block;width:100%;overflow:hidden;padding:0;color:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap}.stock-pnl-mobile-table .stock-security-cell{display:block;min-width:0}.stock-pnl-mobile-table .stock-security-cell strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f7f3ea}button{font:inherit}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid #ded8ca;padding:24px 16px;background:#eee7d8;display:flex;flex-direction:column;gap:28px;overflow:hidden}.brand{display:flex;align-items:center;gap:12px;padding:4px 6px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;color:#f7f3ea;background:#191919}.brand strong,.brand span{display:block}.brand strong{font-size:18px;line-height:1.15}.brand span{color:#6d6a63;font-size:12px;margin-top:3px}.brand .mobile-brand-title,.ios-pwa-refresh{display:none}.sidebar-nav{display:grid;align-content:start;gap:7px;flex:1;min-height:0;overflow-y:auto;padding-right:2px}.sidebar-nav button{border:0;color:#3a3935;background:transparent;display:flex;align-items:center;gap:10px;height:42px;border-radius:8px;padding:0 12px;cursor:pointer}.sidebar-nav button:hover,.sidebar-nav button.active{background:#191919;color:#f7f3ea}.nav-sub{display:grid;gap:3px;margin:-1px 0 5px 16px;padding-left:14px;border-left:1px solid #ded8ca}.nav-sub button{height:34px;padding:0 12px;font-size:13px;color:#6d6a63;gap:8px}.nav-sub button:hover{background:#e4ddd0;color:#191919}.nav-sub button.active{background:transparent;color:#b75f36;font-weight:600}.mobile-bottom-nav,.mobile-section-nav,.mobile-account-actions{display:none}main{min-width:0;padding:28px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.topbar h1{margin:0;font-size:28px;line-height:1.15;letter-spacing:0}.topbar p{margin:8px 0 0;color:#6d6a63;font-size:14px}.origin-safety-banner{margin:0 0 16px;padding:11px 14px;border:1px solid #e2b45f;border-radius:10px;background:#fff7df;color:#6f4b13;font-size:13px;line-height:1.5}.origin-safety-banner a{color:#9a4e2c;font-weight:700}.cloud-sync-status{width:-moz-fit-content;width:fit-content;max-width:100%;margin:-4px 0 14px;padding:6px 10px;border:1px solid #e2dccf;border-radius:999px;background:#fbf8ef;color:#706a5f;font-size:12px;line-height:1.35}.cloud-sync-status-success{border-color:#cddfca;background:#f4faf2;color:#46663e}.cloud-sync-status-warning{border-color:#ead5a2;background:#fff9e8;color:#74541c}.startup-page-loading{min-height:220px;display:flex;align-items:center;gap:14px;padding:28px;border:1px solid #e5ded0;border-radius:8px;background:#fbf8ef;color:#3a3935}.startup-page-loading-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#191919;color:#f7f3ea}.startup-page-loading-error{border-color:#e8c78d;background:#fff7df}.startup-page-loading-error .startup-page-loading-icon{background:#8a5a1f}.startup-page-loading h2{margin:0 0 6px;font-size:18px;line-height:1.25;letter-spacing:0}.startup-page-loading p{margin:0;color:#6d6a63;font-size:13px;line-height:1.5}.section{width:100%;min-width:0;margin:0 0 28px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #eee7d8}.section h2{margin:0;font-size:16px;font-weight:700;line-height:1.25;padding-left:12px;border-left:3px solid #b75f36}.section p{margin:0;color:#6d6a63;font-size:12px}.section-collapsible-head{align-items:center}.section-collapse-toggle{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;font:inherit}.section-collapse-title{font-size:16px;font-weight:700;line-height:1.25;padding-left:12px;border-left:3px solid #b75f36}.section-collapse-toggle svg{color:#817d75}.section-collapse-toggle:hover .section-collapse-title,.section-collapse-toggle:focus-visible .section-collapse-title{color:#9a5432}.section-collapse-toggle:focus-visible{outline:2px solid rgba(183,95,54,.35);outline-offset:4px;border-radius:3px}.section-collapsible-content{min-width:0}.today-page .today-compact-section .section-collapse-title{font-size:14px}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.finance-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.invest-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.invest-return-stat-grid,.finance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.running-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.income-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.income-overview-card{min-height:112px;padding:14px 16px;justify-content:flex-start}.income-overview-card>strong{align-self:flex-start;margin:auto 0;font-size:26px;text-align:left}.income-overview-card.is-positive .income-overview-value,.asset-change-stat-card.is-increase .asset-change-value,.invest-return-stat-card.is-positive .invest-return-value{color:#c15f37}.income-overview-card.is-negative .income-overview-value,.asset-change-stat-card.is-decrease .asset-change-value,.invest-return-stat-card.is-negative .invest-return-value{color:#168b78}.banner-comparison-result.is-positive,.banner-comparison-result.is-increase{color:#c15f37}.banner-comparison-result.is-negative,.banner-comparison-result.is-decrease{color:#168b78}.expense-summary-grid .stat-card{justify-content:flex-start}.expense-summary-grid .stat-card>strong{align-self:flex-start;margin:auto 0;text-align:left}.expense-overview-card{min-height:112px;padding:14px 16px}.expense-overview-card>strong{font-size:26px}.expense-comparison-result.is-increase{color:#c15f37}.expense-comparison-result.is-decrease{color:#168b78}.health-summary-grid{grid-template-columns:minmax(260px,1.65fr) repeat(3,minmax(0,.7fr))}.stat-card{min-height:126px;padding:16px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;display:flex;flex-direction:column;justify-content:space-between}.stat-card span{color:#6d6a63;font-size:13px}.stat-card strong{font-size:24px;line-height:1.15;letter-spacing:0}.stat-card small{color:#6d6a63;font-size:12px}.life-overview-card{min-height:112px;padding:14px 16px;justify-content:flex-start}.life-overview-card>strong{align-self:flex-start;margin:auto 0;font-size:26px;text-align:left;font-variant-numeric:tabular-nums}.life-overview-card--text>strong{font-size:22px}.life-overview-card--compact>strong{font-size:22px}.stat-card .travel-record-start-meta{font-size:11px;white-space:nowrap}.tone-green{border-top:4px solid #3f7d58}.tone-blue{border-top:4px solid #2e728f}.tone-clay{border-top:4px solid #b75f36}.tone-plum{border-top:4px solid #7a5c96}.tone-sun{border-top:4px solid #d99a2b}.running-detail-facts .stat-card{border-top:3px solid #3f7d58}.running-detail-facts .stat-card.tone-blue,.running-detail-facts .stat-card.tone-clay,.running-detail-facts .stat-card.tone-plum{border-top-color:#3f7d58}.soft-tag-list{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:100%;vertical-align:middle}.soft-tag{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:24px;border:1px solid transparent;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;line-height:1.15;white-space:nowrap}.soft-tag--blue{border-color:#c9d9ef;background:#e9f1fb;color:#2d5f8f}.soft-tag--green{border-color:#cfdcc6;background:#edf4e8;color:#4f7542}.soft-tag--sun{border-color:#ead6a7;background:#fbf0d4;color:#8a641f}.soft-tag--amber{border-color:#e7c995;background:#fbefdc;color:#875b24}.soft-tag--clay{border-color:#e4c7b8;background:#f7ebe4;color:#9a5432}.soft-tag--plum{border-color:#d7cbe5;background:#f0eaf6;color:#6d5487}.soft-tag--cyan{border-color:#bfdcdd;background:#e6f3f3;color:#3e7274}.soft-tag--teal{border-color:#bed9d4;background:#e8f3f1;color:#376d67}.soft-tag--olive{border-color:#d4dab0;background:#f1f3e6;color:#687333}.soft-tag--rose{border-color:#e5cad0;background:#f7eaed;color:#905264}.soft-tag--violet{border-color:#d2c4ea;background:#f1edf9;color:#675393}.soft-tag--sky{border-color:#bedbea;background:#edf7fb;color:#386985}.soft-tag--gray{border-color:#d8d2c6;background:#f2eee7;color:#6a6257}.chart-grid{display:grid;gap:14px}.chart-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid.one{grid-template-columns:minmax(0,1fr)}.chart-box{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:16px;min-width:0}.chart-box h3,.rank-list h3{margin:0 0 12px;font-size:14px;line-height:1.2}.chart-box-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin-bottom:12px}.chart-box-header h3{min-width:0;margin:0}.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:-2px 0 10px;color:#6d6a63;font-size:12px}.chart-legend-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.chart-box-header .chart-legend{flex:0 0 auto;justify-content:flex-end;gap:8px;margin:0;font-size:10px}.chart-box-header .chart-legend-item{gap:4px}.status-period-trends{display:grid;gap:22px}.status-period-trends-content{display:grid;gap:28px}.status-period-trend-group{display:grid;gap:12px;min-width:0}.status-period-trend-group h3{margin:0;padding:0;border:0;color:#6d6a63;font-size:14px;font-weight:650;line-height:1.35}.status-period-trend-group-head,.status-long-term-group-title{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#817d75}.status-period-trend-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid #e1dacb;border-radius:8px;background:#fbf4e8;color:#5f5a50;font-size:12px}.status-period-trend-intro span{font-weight:700}.status-period-trend-intro small{color:#817c71;font-size:11px;text-align:right}.status-period-trend-method{color:#817c71;font-size:12px;font-weight:600}.status-long-term-trends{display:grid;gap:24px}.status-long-term-group{display:grid;gap:12px}.status-long-term-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-long-term-group-title h3{margin:0;padding:0;border:0;color:#6d6a63;font-size:14px;font-weight:650;line-height:1.35}.status-long-term-controls{display:flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap}.status-long-term-analysis-control{position:relative;flex:0 0 auto}.status-long-term-analysis{height:26px;padding:0 10px;border:1px solid #d8d2c6;border-radius:8px;background:transparent;color:#6d6a63;font:inherit;font-size:11px;line-height:24px;cursor:pointer;white-space:nowrap}.status-long-term-analysis:hover{border-color:#b8ad9a;color:#27231d}.status-long-term-analysis.active{border-color:#3f7d58;background:#f2f7f1;color:#2f6546}.status-long-term-analysis-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;display:grid;gap:2px;min-width:148px;padding:5px;border:1px solid #ded8ca;border-radius:9px;background:#fffaf0;box-shadow:0 8px 24px #2e271c1f}.status-long-term-analysis-option,.status-long-term-analysis-close{width:100%;border:0;border-radius:6px;background:transparent;color:#5f5a50;font:inherit;text-align:left;cursor:pointer}.status-long-term-analysis-option{display:grid;gap:2px;padding:7px 8px}.status-long-term-analysis-option strong{color:#27231d;font-size:11px;font-weight:600}.status-long-term-analysis-option small{color:#817c71;font-size:10px}.status-long-term-analysis-option:hover,.status-long-term-analysis-option.active{background:#f2f7f1}.status-long-term-analysis-close{margin-top:3px;padding:7px 8px 5px;border-top:1px solid #ebe5da;border-radius:0;color:#817c71;font-size:10px}.status-long-term-analysis-close:hover{color:#27231d}.status-long-term-range{flex:0 0 auto;gap:2px;padding:3px}.status-long-term-range .pill-tab{height:26px;padding:0 11px;font-size:11px;white-space:nowrap}@media(max-width:680px){.status-long-term-group-head{align-items:flex-start}.status-long-term-analysis-menu{right:auto;left:0}.status-long-term-range .pill-tab{flex:1 1 0;padding:0 8px}}.status-trend-legend-line{display:inline-block;width:14px;height:2px;border-radius:999px}.status-trend-legend-line.is-comparison{height:0;border-top:1px dashed #aaa396;border-radius:0}.status-trend-legend-line.is-analysis{height:0;border-top:1.5px dashed #887c6e;border-radius:0}.legend-swatch{width:10px;height:10px;border-radius:2px;flex:0 0 auto}.legend-swatch-profit{background:#b75f36}.legend-swatch-loss{background:#3f7d58}.legend-line{width:18px;border-top-width:2px;border-top-style:solid;flex:0 0 auto}.legend-line-dash{border-top-color:#8a8a80;border-top-style:dashed}.legend-line-gold{border-top-color:#d99a2b;border-top-style:solid}.invest-chart-tooltip{background:#fffaf0;border:1px solid #ded8ca;border-radius:8px;padding:8px 10px;font-size:12px;color:#191919;line-height:1.5;box-shadow:0 4px 14px #00000014}.invest-chart-tooltip-title{font-weight:600;margin-bottom:2px}.invest-trend-grid .chart-box{padding:12px 14px 14px}.invest-trend-grid .chart-box h3{margin-bottom:6px}.invest-trend-grid .chart-legend{margin:0 0 8px}.invest-trend-grid .chart-inner{height:320px}.invest-chart-action{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.invest-chart-action .filter-chip{height:24px;padding:0 10px;font-size:12px}.chart-inner{height:300px;min-width:0}.rank-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.rank-list{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:16px}.rank-row+.rank-row{margin-top:13px}.rank-row{display:block;width:100%;padding:0;border:0;text-align:left;background:transparent}.rank-row.clickable{cursor:pointer}.rank-row.clickable:hover .rank-label>span:not(.soft-tag),.rank-row.active .rank-label>span:not(.soft-tag){color:#b75f36}.rank-row.active .rank-track div{background:#b75f36}.rank-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px}.rank-label>span:not(.soft-tag){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-label .soft-tag{flex:0 1 auto}.rank-label strong{font-size:12px;color:#6d6a63;flex:0 0 auto;display:flex;align-items:baseline;gap:4px}.rank-pct{font-size:11px;color:#a8a396;font-weight:400}.rank-track{width:100%;height:7px;margin-top:7px;border-radius:999px;background:#eee7d8;overflow:hidden}.rank-track div{height:100%;border-radius:inherit;background:#3f7d58}.empty{min-height:120px;display:grid;place-items:center;color:#6d6a63;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0}.scope-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 14px}.scope-tabs button,.detail-toolbar button{height:34px;border:1px solid #ded8ca;border-radius:8px;padding:0 12px;color:#3a3935;background:#fffaf0;cursor:pointer}.scope-tabs button.active,.scope-tabs button:hover,.detail-toolbar button:hover{color:#fffaf0;border-color:#191919;background:#191919}.distribution-month-row{display:flex;align-items:center;margin:-4px 0 14px}.distribution-month-row label{display:inline-flex;align-items:center;gap:8px;color:#6d6a63;font-size:13px}.distribution-month-row select{height:34px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;color:#191919;background:#fffaf0;font:inherit;font-size:13px}.category-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.category-picker label{display:inline-flex;align-items:center;gap:7px;height:34px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;background:#fffaf0;font-size:13px;cursor:pointer}.category-picker input{accent-color:#3f7d58}.trend-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px}.trend-segmented{display:inline-flex;gap:2px;padding:2px;border:1px solid #ded8ca;border-radius:8px;background:#f7f1e3}.trend-segmented button{height:28px;border:0;border-radius:6px;padding:0 12px;background:transparent;color:#6d6a63;font:inherit;font-size:12px;cursor:pointer}.trend-segmented button[aria-pressed=true]{background:#fffdf8;color:#191919;font-weight:600;box-shadow:0 1px 2px #0000000f}.trend-segmented button:hover,.trend-segmented button:focus-visible{color:#9a5432}.trend-segmented button:focus-visible{outline:2px solid rgba(183,95,54,.35);outline-offset:1px}.trend-search{flex:0 1 220px;min-width:150px;height:32px;border:1px solid #ded8ca;border-radius:7px;padding:0 10px;background-color:#fffdf8;color:#4f4b45;font:inherit;font-size:12px}.trend-search::-moz-placeholder{color:#a8a296}.trend-search::placeholder{color:#a8a296}.trend-search:focus-visible{outline:2px solid rgba(183,95,54,.35);outline-offset:1px}.trend-clear-btn{height:32px}.trend-note{margin:-4px 0 10px;color:#8a867d;font-size:11px;line-height:1.35}.custom-trend-picker{gap:6px}.custom-trend-picker label{height:30px;padding:0 8px;font-size:12px}.detail-toolbar{display:flex;justify-content:flex-end;margin:-4px 0 10px}.detail-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,152px));justify-content:end;gap:8px;margin-bottom:12px}.detail-filter-grid label{display:grid;gap:6px;color:#6d6a63;font-size:12px}.detail-filter-grid select{width:100%;height:36px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;color:#191919;background:#fffaf0;font:inherit}.detail-table-wrap{overflow-x:auto;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;position:relative;isolation:isolate;width:100%;max-width:100%;-webkit-overflow-scrolling:touch}.detail-table{width:-moz-max-content;width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.detail-table th,.detail-table td{padding:10px 12px;border-bottom:1px solid #eee7d8;text-align:left;vertical-align:top;white-space:nowrap}.detail-table th{color:#6d6a63;font-weight:600;background:#fbf4e8}.detail-table th:first-child,.detail-table td:first-child{position:sticky;left:0;z-index:2;min-width:76px;max-width:148px;overflow:hidden;text-overflow:ellipsis;background:#fffaf0;box-shadow:1px 0 #eee7d8}.detail-table td:first-child>*{min-width:0;max-width:100%}.detail-table th:first-child{z-index:3;background:#fbf4e8}.detail-table .credit-group-row td:first-child{position:static;max-width:none;box-shadow:none}.detail-table tr:last-child td{border-bottom:0}.detail-record-trigger{display:inline-flex;align-items:center;max-width:100%;border:0;padding:0;color:inherit;background:transparent;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-record-trigger:hover{color:#b75f36}.detail-record-dialog{width:min(420px,calc(100vw - 32px))}.detail-record-list{display:grid;gap:0;margin:0;padding:0}.detail-record-list div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;padding:10px 14px;border-bottom:1px solid #eee7d8}.detail-record-list div:last-child{border-bottom:0}.detail-record-list dt{color:#8a8376;font-size:12px}.detail-record-list dd{margin:0;min-width:0;color:#24211c;font-size:13px;font-weight:600;overflow-wrap:anywhere}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px;color:#6d6a63;font-size:13px}.pagination button{height:34px;border:1px solid #ded8ca;border-radius:8px;padding:0 12px;color:#3a3935;background:#fffaf0;cursor:pointer}.pagination button:hover:not(:disabled){color:#fffaf0;border-color:#191919;background:#191919}.pagination button:disabled{cursor:not-allowed;opacity:.45}.page-size-label{display:inline-flex;align-items:center;gap:6px;color:#6d6a63;font-size:12px}.page-size-label select{height:32px;border:1px solid #ded8ca;border-radius:8px;padding:0 8px;color:#191919;background:#fffaf0;font:inherit;font-size:12px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filter-chip{height:30px;border:1px solid #ded8ca;border-radius:999px;padding:0 12px;color:#191919;background:#fbf4e8;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.filter-chip:hover{background:#eee7d8;border-color:#b75f36;color:#b75f36}.filter-chip:disabled{opacity:.45;cursor:default}.filter-chip:disabled:hover{background:#fbf4e8;border-color:#ded8ca;color:#191919}.filter-chip-clear{background:transparent;border-style:dashed;color:#6d6a63}.subtotal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.expense-layout{display:grid;grid-template-columns:minmax(280px,318px) minmax(0,1fr);gap:14px;align-items:stretch;height:740px}.expense-layout-left{min-width:0;min-height:0;height:100%;overflow:hidden}.expense-layout-right{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;padding:12px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0}.expense-subtotal-stack{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;min-height:0;height:100%;overflow:hidden;margin-top:0}.expense-detail-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.expense-detail-heading{flex:0 0 auto;min-width:126px}.expense-detail-heading h4{margin:0 0 4px;font-size:13px;line-height:1.2;color:#6d6a63}.expense-detail-heading p{margin:0;color:#8a867d;font-size:11px;line-height:1.35}.expense-detail-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0}.expense-detail-filters select{width:auto;min-width:92px;max-width:116px;height:30px;padding:0 24px 0 9px;border:1px solid #ded8ca;border-radius:7px;background-color:#fffdf8;color:#4f4b45;font-size:11px}.expense-detail-controls{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:10px;flex:1 1 auto;min-width:0}.expense-detail-summary{flex:1 1 auto;min-width:0;margin:0;color:#8a867d;font-size:11px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-note-search{width:230px;flex:0 1 230px;max-width:100%;height:30px;border:1px solid #ded8ca;border-radius:7px;padding:0 9px;background-color:#fffdf8;color:#4f4b45;font:inherit;font-size:11px}.expense-note-search::-moz-placeholder{color:#a8a296}.expense-note-search::placeholder{color:#a8a296}.expense-note-search:focus-visible{outline:2px solid rgba(183,95,54,.35);outline-offset:1px}.amount-sortable-th{width:96px;white-space:nowrap}.amount-sort-btn{display:inline-flex;align-items:center;gap:3px;border:0;padding:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}.amount-sort-btn svg{color:#b75f36}.amount-sort-btn:hover,.amount-sort-btn:focus-visible{color:#b75f36}.amount-sort-btn:focus-visible{outline:2px solid rgba(183,95,54,.35);outline-offset:2px;border-radius:3px}.compare-controls{align-items:flex-end}.compare-period-select{display:flex;flex-direction:column;gap:4px;color:#8a8579;font-size:11px;line-height:1.3}.compare-period-select select{height:32px;min-width:120px;border:1px solid #ded8ca;border-radius:7px;padding:0 26px 0 9px;background-color:#fffaf0;color:#191919;font:inherit;font-size:12px}.compare-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.compare-stat{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:12px;min-width:0}.compare-stat span{display:block;margin-bottom:4px;color:#8a8579;font-size:11px;line-height:1.3}.compare-stat strong{display:block;font-size:18px;line-height:1.2;word-break:break-all}.compare-stat small{display:block;margin-top:4px;color:#6d6a63;font-size:11px;line-height:1.3}.compare-change.is-increase{color:#b75f36}.compare-change.is-decrease{color:#3f7d58}.compare-change.is-neutral{color:#6d6a63}.compare-trend-line{display:inline-block;width:18px;height:0;border-top:2px solid #b75f36}.compare-trend-line-b{border-color:#6d6a63;border-top-style:dashed}.compare-trend-tooltip{display:grid;gap:4px;min-width:136px;padding:9px 10px;border:1px solid #ded8ca;border-radius:7px;background:#fffaf0f5;box-shadow:0 4px 12px #322b211a;color:#3a3935;font-size:12px;line-height:1.35}.compare-trend-tooltip strong{font-size:12px}.compare-trend-tooltip small{color:#6d6a63;font-size:11px}.compare-chart-box .chart-inner{flex:1 1 auto;min-height:360px;height:auto}.compare-insight-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;margin-bottom:14px}.compare-table-wrap{min-width:0;overflow-x:auto;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:6px 10px 4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.compare-scroll-panel{max-height:420px;overflow:auto}.compare-chart-box{display:flex;flex-direction:column;min-width:0}.compare-chart-scroll{max-height:420px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.compare-chart-box .compare-difference-chart{flex:0 0 auto}@media(max-width:880px){.compare-insight-layout{grid-template-columns:minmax(0,1fr)}}.compare-category-table{width:-moz-max-content;width:max-content;min-width:100%;border-collapse:collapse}@media(min-width:681px)and (max-width:1100px){.expense-layout{grid-template-columns:minmax(250px,280px) minmax(0,1fr)}.expense-detail-toolbar{flex-direction:column;align-items:stretch;gap:6px}.expense-detail-heading{min-width:0}.expense-detail-controls{width:100%;gap:6px}.expense-note-search{width:112px;flex-basis:112px}}.compare-category-table th,.compare-category-table td{padding:7px 8px;border-bottom:1px solid #eee7d8;font-size:12px;line-height:1.3;text-align:right;white-space:nowrap}.compare-category-table th{color:#8a8579;font-weight:600;background:transparent}.compare-category-table th:first-child{background:transparent}.compare-category-table th:first-child,.compare-category-table td:first-child{position:static;background:transparent;box-shadow:none;min-width:84px;text-align:left}.compare-category-table td.is-increase{color:#b75f36;font-weight:600}.compare-category-table td.is-decrease{color:#3f7d58;font-weight:600}.compare-category-table td.is-neutral{color:#6d6a63}.compare-note{margin:-6px 0 14px;color:#8a867d;font-size:11px;line-height:1.35}.expense-detail-table-wrap{flex:1 1 auto;width:100%;min-height:0;overflow:auto}.expense-detail-table-wrap .expense-detail-table{width:100%}.expense-detail-table-wrap .expense-detail-table thead{position:sticky;top:0;z-index:2}.expense-layout-right>.pagination{flex:0 0 auto;margin-top:8px;margin-bottom:0}.subtotal-block{min-height:0;overflow:hidden;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:12px}.subtotal-block h4{margin:0 0 8px;font-size:13px;color:#6d6a63}.subtotal-scroll{max-height:220px;overflow-y:auto}.expense-month-subtotal .subtotal-scroll,.expense-category-subtotal .subtotal-scroll{max-height:280px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.subtotal-table{width:100%;border-collapse:collapse;font-size:12px}.subtotal-table td{padding:5px 0;border-bottom:1px solid #f0ecdf}.subtotal-table tr:last-child td{border-bottom:0}.subtotal-amount{text-align:right;font-weight:600;color:#b75f36}.subtotal-pct{text-align:right;color:#a8a396;font-size:11px;width:44px}.subtotal-row-clickable{cursor:pointer;transition:background .1s}.subtotal-row-clickable:hover{background:#fbf4e8}.subtotal-row-clickable.subtotal-active{background:#fef5ec}.subtotal-row-clickable.subtotal-active td:first-child{color:#b75f36;font-weight:600}.asset-month-detail{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:16px;margin-top:14px}.asset-month-detail h4{margin:0 0 12px;font-size:14px;display:flex;align-items:center}.asset-overview-panel{display:grid;gap:18px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:18px 20px 20px;min-width:0}.asset-overview-banner .is-positive{color:#c15f37}.asset-overview-banner .is-negative{color:#168b78}.asset-total-stat-card>strong{align-self:flex-start;margin:auto 0;color:#c15f37;font-size:28px;text-align:left}.asset-total-stat-card small{margin-top:8px}.asset-share-value{color:#c15f37}.asset-share-meta{margin-top:8px}.asset-change-stat-card.is-increase .asset-change-value{color:#c15f37}.asset-change-stat-card.is-decrease .asset-change-value{color:#168b78}.invest-return-stat-card.is-positive .invest-return-value{color:#c15f37}.invest-return-stat-card.is-negative .invest-return-value{color:#168b78}.asset-overview-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px}.asset-flow-item span{color:#6d6a63;font-size:13px}.asset-month-picker{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;color:#6d6a63;font-size:13px}.asset-month-picker select{height:36px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;color:#191919;background:#fffaf0;font:inherit;font-size:13px;min-width:110px}.asset-kpi-grid,.asset-flow-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.asset-kpi-card,.asset-flow-item{border-top:1px solid #eee7d8;padding-top:14px}.asset-kpi-card span,.asset-kpi-card small,.asset-flow-item span{display:block;color:#6d6a63;font-size:13px;line-height:1.35}.asset-kpi-card strong,.asset-flow-item strong{display:block;margin-top:6px;font-size:20px;line-height:1.15;letter-spacing:0;font-variant-numeric:tabular-nums}.asset-kpi-primary{border-top-color:#191919}.asset-kpi-primary span{color:#191919;font-weight:650}.asset-kpi-primary strong{margin-top:8px;font-size:42px;line-height:1.05;font-weight:760}.net-worth-hero{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:center;gap:0;border:1px solid #ded8ca;border-radius:10px;background:linear-gradient(135deg,#fffaf0,#f7f3ea);padding:20px 0;min-width:0;margin-bottom:12px}.net-worth-hero-main{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 20px;min-width:0}.net-worth-hero-divider{width:100%;height:56px;border-left:1px solid #e4ddd0}.net-worth-hero-label{font-size:13px;color:#6d6a63}.net-worth-hero-amount{font-size:36px;line-height:1.1;font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:#191919}.net-worth-hero-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 20px;min-width:0}.net-worth-hero-stat span{font-size:13px;color:#6d6a63}.net-worth-hero-stat strong{font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums}.net-worth-hero-stat small{font-size:12px;color:#a8a396;text-align:center}.net-worth-hero-month{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#6d6a63}.net-worth-hero-month select{height:32px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;color:#191919;background:#fffaf0;font:inherit;font-size:13px;min-width:110px;cursor:pointer}.subscription-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-width:0}.subscription-hero-card{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}.subscription-hero-card.tone-sun{border-top:4px solid #d99a2b}.subscription-hero-card.tone-blue{border-top:4px solid #2e728f}.subscription-hero-card.tone-plum{border-top:4px solid #7a5c96}.subscription-hero-card.tone-green{border-top:4px solid #3f7d58}.sub-hero-header{display:flex;align-items:center;gap:8px;color:#6d6a63;font-size:13px}.sub-hero-header em{margin-left:auto;padding:2px 7px;border-radius:999px;background:#eee7d8;color:#6d6a63;font-style:normal;font-size:11px}.sub-hero-body{display:flex;flex-direction:column;gap:8px}.sub-hero-big{font-size:32px;line-height:1.1;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums;color:#191919}.sub-hero-body small{font-size:12px;color:#6d6a63;line-height:1.4}.renewal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.renewal-card{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:15px;display:grid;gap:12px;min-width:0}.renewal-card.is-urgent{border-color:#d4a18a;box-shadow:inset 3px 0 #b75f36}.renewal-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.renewal-card h3{margin:0 0 4px;font-size:16px;line-height:1.25;color:#191919}.renewal-card p{margin:0;color:#6d6a63;font-size:12px;line-height:1.4}.renewal-due-chip{flex:0 0 auto;height:28px;border:1px solid #ded8ca;border-radius:999px;padding:0 10px;display:inline-flex;align-items:center;background:#fbf4e8;color:#6d6a63;font-size:12px;font-weight:700}.renewal-due-chip.urgent{border-color:#b75f36;background:#fff0e7;color:#b75f36}.renewal-card-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.renewal-money-row{display:grid;gap:3px;min-width:0}.renewal-money-row strong{font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}.renewal-money-row small{color:#6d6a63;font-size:12px}.renewal-date-box{display:grid;gap:3px;justify-items:end}.renewal-date-box span{color:#a8a396;font-size:11px}.renewal-date-box strong{color:#191919;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.renewal-summary-row{display:flex;align-items:center;gap:6px;min-width:0;padding:8px;border-radius:8px;background:#fbf4e8}.renewal-summary-row span{min-width:0;height:24px;border-radius:999px;padding:0 8px;display:inline-flex;align-items:center;background:#fffaf0;color:#6d6a63;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.renewal-summary-row .renewal-balance{flex:1 1 auto;color:#191919;overflow:hidden;text-overflow:ellipsis}.renewal-summary-row .renewal-balance.is-low,.low-balance-text{color:#b75f36;font-weight:700}.cycle-pill{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;max-width:100%;height:24px;border:1px solid transparent;border-radius:999px;padding:0 9px;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.cycle-pill.cycle-monthly{border-color:#c9d9ef;background:#e9f1fb;color:#2d5f8f}.cycle-pill.cycle-quarterly{border-color:#cfdcc6;background:#edf4e8;color:#4f7542}.cycle-pill.cycle-yearly{border-color:#ead6a7;background:#fbf0d4;color:#8a641f}.cycle-pill.cycle-other{border-color:#d8d2c6;background:#f2eee7;color:#6a6257}.renewal-tags{display:flex;flex-wrap:wrap;gap:6px}.renewal-tag{height:24px;border-radius:999px;padding:0 9px;display:inline-flex;align-items:center;font-size:11px;background:#eee7d8;color:#6d6a63}.renewal-tag.danger{background:#fff0e7;color:#b75f36}.renewal-tag.sun{background:#fff7df;color:#8a5b13}.renewal-tag.blue{background:#eaf4f6;color:#2e728f}.renewal-tag.muted{background:#f4efe5;color:#7c756b}.renewal-card-actions{display:flex;justify-content:flex-end;padding-top:2px}.renewal-review-btn{border:1px solid #cfdcc6;border-radius:7px;padding:6px 9px;background:#edf4e8;color:#3f7d58;font-size:12px;font-weight:700;cursor:pointer}.renewal-review-btn:disabled{opacity:.6;cursor:default}.subscription-cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.subscription-cost-card{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:14px;display:grid;gap:6px;min-width:0}.subscription-cost-card span{color:#6d6a63;font-size:12px}.subscription-cost-card strong{color:#191919;font-size:22px;line-height:1.15;font-variant-numeric:tabular-nums}.subscription-cost-card small{color:#6d6a63;font-size:12px;line-height:1.4}.subscription-report-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.25fr);gap:14px;align-items:stretch}.subscription-month-chart{margin-top:14px}.subscription-report-card{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;display:grid;grid-template-rows:auto 280px;gap:12px;min-width:0;min-height:332px;padding:14px}.subscription-report-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.subscription-report-card-head strong{color:#191919;font-size:13px}.subscription-report-card-head span{color:#6d6a63;font-size:12px}.subscription-year-chart-scroll{height:280px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.subscription-report-chart-frame{height:280px;min-width:0}.subscription-category-chart-layout{height:100%;display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.72fr);gap:12px;align-items:center;min-width:0}.subscription-category-legend{display:grid;gap:7px;min-width:0}.subscription-category-legend button{min-width:0;min-height:32px;border:1px solid #eee7d8;border-radius:8px;background:#fcfaf5;display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:7px;align-items:center;color:#4d4940;cursor:pointer;padding:6px 8px;text-align:left}.subscription-category-legend button>span{width:9px;height:9px;border-radius:50%}.subscription-category-legend strong,.subscription-category-legend small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-category-legend strong{font-size:12px}.subscription-category-legend small{color:#6d6a63;font-size:11px;font-variant-numeric:tabular-nums}.subscription-year-chart-inner{height:100%;min-width:100%}.subscription-filter-label{color:#6d6a63;font-size:12px;line-height:30px}.subscription-filter-row{align-items:center}.active-filter-chip{background:#fff0e7;border-color:#d4a18a;color:#b75f36}.clear-all-chip{border-color:#191919;color:#191919;font-weight:700}.subscription-maintenance-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.subscription-maintenance-message{color:#3f7d58;font-size:12px;font-weight:700}.subscription-maintenance-message.is-error{color:#b75f36}.subscription-editor{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:14px;margin-bottom:14px;display:grid;gap:12px;scroll-margin-top:16px}.subscription-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.subscription-editor-head div{display:grid;gap:3px}.subscription-editor-head strong{color:#191919;font-size:15px}.subscription-editor-head span{color:#6d6a63;font-size:12px}.subscription-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.subscription-editor-grid label{color:#6d6a63;font-size:12px;display:grid;gap:5px;min-width:0}.subscription-editor-grid input,.subscription-editor-grid select,.subscription-editor-grid textarea{width:100%;min-height:38px;border:1px solid #ded8ca;border-radius:8px;background:#fffdf7;color:#191919;font:inherit;padding:8px 10px}.subscription-currency-result{min-height:38px;border:1px solid #ded8ca;border-radius:8px;background:#fbf4e8;color:#191919;display:inline-flex;align-items:center;padding:8px 10px;font-weight:700}.subscription-editor-grid textarea{resize:vertical;line-height:1.5}.subscription-editor-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;min-height:38px;padding-top:18px}.subscription-editor-check input{width:auto!important;min-height:auto}.subscription-editor-wide{grid-column:span 2}.subscription-editor-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.subscription-periods{border:1px solid #eee7d8;border-radius:8px;background:#fcfaf5;padding:12px;display:grid;gap:10px}.subscription-periods-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.subscription-periods-head div{display:grid;gap:2px}.subscription-periods-head strong{color:#191919;font-size:14px}.subscription-periods-head span{color:#6d6a63;font-size:12px}.subscription-period-list{display:grid;gap:8px}.subscription-period-row{display:grid;grid-template-columns:28px repeat(5,minmax(0,1fr)) auto;gap:8px;align-items:end;padding:8px;border-radius:8px;background:#fffaf0}.subscription-period-index{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eee7d8;color:#6d6a63;font-size:12px;font-weight:700;align-self:center}.subscription-period-row label{display:grid;gap:5px;min-width:0;color:#6d6a63;font-size:12px}.subscription-period-row input,.subscription-period-row select{width:100%;min-height:34px;border:1px solid #ded8ca;border-radius:8px;background:#fffdf7;color:#191919;font:inherit;padding:7px 9px}.subscription-maintenance-history{border:1px solid #eee7d8;border-radius:8px;background:#fcfaf5;padding:12px;margin-bottom:14px;display:grid;gap:10px}.subscription-maintenance-history-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.subscription-maintenance-history-title strong{color:#191919;font-size:14px}.subscription-maintenance-history-title span{color:#6d6a63;font-size:12px}.subscription-maintenance-history-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.subscription-maintenance-history-item{min-width:0;padding:8px 9px;border-radius:8px;background:#fffaf0;display:grid;gap:3px}.subscription-maintenance-history-item span{color:#7a5c96;font-size:11px;font-weight:700}.subscription-maintenance-history-item strong{color:#191919;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-maintenance-history-item small{color:#6d6a63;font-size:11px}.subscription-table{display:block;width:100%;min-width:760px;table-layout:auto}.subscription-table thead,.subscription-table tbody{display:block}.subscription-table tr{display:grid;grid-template-columns:136px 92px 124px 126px 110px minmax(132px,1fr);-moz-column-gap:0;column-gap:0;align-items:stretch}.subscription-table th,.subscription-table td{box-sizing:border-box;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.subscription-table .subscription-renewal-date{display:inline-flex;align-items:center;gap:4px;min-width:0}.subscription-name-cell{display:grid;gap:2px;min-width:0}.subscription-name-cell strong,.subscription-name-cell small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-name-cell strong{color:#191919;font-weight:700}.subscription-name-cell small{color:#6d6a63;font-size:11px;font-weight:400}.amount-with-hint{display:grid;gap:2px;min-width:0}.amount-with-hint strong{overflow:hidden;text-overflow:ellipsis;font-weight:650;font-variant-numeric:tabular-nums}.amount-with-hint small{overflow:hidden;color:#6d6a63;font-size:11px;line-height:1.2;text-overflow:ellipsis}.subscription-table .subscription-actions-cell{display:flex;gap:3px;overflow:hidden;white-space:nowrap}.subscription-table .subscription-actions-cell .table-action{min-width:0;padding-inline:6px;margin-right:0}.subscription-table .subscription-actions-cell .danger-action{color:#b75f36}.subscription-table td.note-cell{width:auto;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-table td.note-cell .detail-note-trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%}.subscription-mobile-list{display:none}.subscription-list-card{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:14px;display:grid;gap:12px}.subscription-list-card.is-urgent{border-color:#d4a18a;box-shadow:inset 3px 0 #b75f36}.subscription-list-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.subscription-list-card-head h3{margin:0 0 4px;color:#191919;font-size:15px;line-height:1.25}.subscription-list-card-head p{margin:0;color:#6d6a63;font-size:12px;line-height:1.4}.subscription-list-card-head span{flex:0 0 auto;height:24px;border-radius:999px;padding:0 9px;display:inline-flex;align-items:center;background:#fff0e7;color:#b75f36;font-size:11px;font-weight:700}.subscription-list-money{display:grid;gap:4px}.subscription-list-money strong{color:#191919;font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.subscription-list-money small{color:#6d6a63;font-size:12px}.subscription-list-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.subscription-list-meta div{min-width:0;padding:8px 9px;border-radius:8px;background:#fbf4e8}.subscription-list-meta dt{margin:0 0 3px;color:#a8a396;font-size:11px}.subscription-list-meta dd{margin:0;color:#191919;font-size:12px;line-height:1.3;overflow-wrap:anywhere}.subscription-list-note{margin:0;padding-top:10px;border-top:1px solid #eee7d8;color:#6d6a63;font-size:12px;line-height:1.5}.subscription-list-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding-top:2px}.danger-link{color:#b75f36}.sub-table-sortable th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.sub-table-sortable th:hover{background:#eee7d8}.sub-table-sortable th.sorted{background:#eee7d8;color:#191919}.sort-arrow{font-size:10px;margin-left:2px;color:#b75f36}.detail-table tbody tr.due-soon{box-shadow:inset 3px 0 #b75f36}.detail-table tbody tr.due-soon td:first-child{padding-left:12px}.due-soon-text{color:#b75f36;font-weight:600}.subscription-renewal-date-wrap{display:grid;gap:2px}.subscription-renewal-reviewed{color:#4f7542;font-size:11px;font-weight:700}.note-cell{width:220px;min-width:160px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-note-trigger{display:block;width:100%;max-width:100%;border:0;padding:0;color:#4f4a40;background:transparent;font:inherit;line-height:1.45;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:zoom-in}.detail-note-trigger:hover{color:#191919;text-decoration:underline;text-underline-offset:2px}.detail-note-empty{color:#a8a396}.detail-note-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:20px;background:#19191947;overscroll-behavior:contain;touch-action:none}.detail-note-dialog{width:min(520px,calc(100vw - 32px));max-height:min(520px,calc(100vh - 64px));overflow:auto;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;box-shadow:0 18px 48px #1919192e;touch-action:pan-y}.detail-note-dialog-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #eee7d8;background:#fbf4e8}.detail-note-dialog-head strong{color:#191919;font-size:14px}.detail-note-dialog-head button{border:0;padding:0;color:#6d6a63;background:transparent;font:inherit;font-size:12px;cursor:pointer}.detail-note-dialog p{margin:0;padding:14px;color:#3a3935;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:1100px){.subscription-hero,.subscription-cost-grid,.renewal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-report-grid{grid-template-columns:1fr}.subscription-category-chart-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,1fr) auto}.subscription-report-card{grid-template-rows:auto 260px;min-height:312px}.subscription-year-chart-scroll,.subscription-report-chart-frame{height:260px}.subscription-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-maintenance-history-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.subscription-hero,.subscription-cost-grid,.renewal-grid{grid-template-columns:1fr}.subscription-hero-card,.renewal-card,.subscription-cost-card{padding:14px}.sub-hero-big{font-size:28px}.renewal-card-head{align-items:flex-start}.renewal-card-body{gap:10px}.renewal-summary-row{align-items:flex-start;flex-wrap:wrap}.subscription-mobile-list{display:grid;gap:12px}.subscription-report-card{grid-template-rows:auto 240px;min-height:292px}.subscription-year-chart-scroll,.subscription-report-chart-frame{height:240px}.subscription-category-chart{grid-template-rows:auto auto;min-height:0}.subscription-category-chart .subscription-report-chart-frame,.subscription-category-chart-layout{height:auto}.subscription-category-chart-layout{grid-template-rows:200px auto}.subscription-table-wrap{display:none}.subscription-list-meta{grid-template-columns:1fr}.subscription-maintenance-toolbar,.subscription-editor-head,.subscription-periods-head,.subscription-editor-actions{align-items:stretch;flex-direction:column}.subscription-maintenance-toolbar .btn-save,.subscription-editor-actions .btn-save,.subscription-editor-actions .btn-cancel{width:100%}.subscription-editor-grid,.subscription-maintenance-history-list{grid-template-columns:1fr}.subscription-editor-wide{grid-column:auto}.subscription-period-row{grid-template-columns:28px minmax(0,1fr);align-items:start}.subscription-period-row label,.subscription-period-row .table-action{grid-column:1 / -1}.subscription-period-index{align-self:start}.subscription-editor-check{padding-top:0}.subscription-maintenance-history-title{display:grid}.subscription-list-actions{justify-content:flex-start}.filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-chips::-webkit-scrollbar{display:none}.filter-chip,.subscription-filter-label{flex:0 0 auto}}.asset-kpi-card small{margin-top:6px}.asset-flow-row{padding-top:2px}.tone-green-text{color:#3f7d58}.tone-clay-text{color:#b75f36}.asset-records{margin-top:16px;padding-top:14px;border-top:1px solid #eee7d8}.asset-records h5{margin:0 0 4px;font-size:13px;color:#6d6a63}.asset-chart-note,.asset-chart-note-row{margin-top:14px}.asset-table-fixed{table-layout:fixed}.asset-note-cell{width:240px;min-width:180px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-group-subtotal{background:#fbf4e8;font-size:12px;font-weight:600;color:#6d6a63}.asset-group-subtotal td{padding:6px 12px!important}.month-nav{display:flex;align-items:center;margin-bottom:14px}.month-nav label{display:inline-flex;align-items:center;gap:8px;color:#6d6a63;font-size:13px}.month-nav select{height:34px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;color:#191919;background:#fffaf0;font:inherit;font-size:13px;min-width:100px}.asset-notes-section{margin-top:14px;padding-top:14px;border-top:1px solid #eee7d8}.asset-notes-section h5{margin:0 0 8px;font-size:13px;color:#6d6a63}.month-note{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;font-size:13px;line-height:1.6;color:#3a3935;overflow:hidden}.month-note-label{display:flex;align-items:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:600;color:#7a5c96;background:#f5f0f8;border-bottom:1px solid #e4d8ee}.month-note-label:before{content:"💬";font-size:13px}.month-note-body{margin:0;padding:10px 14px}.asset-note-table{width:100%;min-width:0;table-layout:fixed}.asset-note-table th:nth-child(1),.asset-note-table td:nth-child(1){width:110px}.asset-note-table th:nth-child(2),.asset-note-table td:nth-child(2){width:130px}.asset-note-table th:nth-child(3),.asset-note-table td:nth-child(3){width:124px}.asset-note-table .asset-note-cell{width:auto;min-width:0;max-width:none}.asset-distribution-grid>.chart-box{display:flex;flex-direction:column}.asset-distribution-grid>.chart-box .chart-inner{flex:1}.asset-group-chart{width:100%;height:100%}.asset-group-chart path.recharts-rectangle[data-dimmed=true]{opacity:.35}.asset-group-chart path.recharts-rectangle[data-active=true]{stroke:#191919;stroke-width:1.5}.asset-category-side{display:flex;flex-direction:column;gap:10px;min-width:0}.asset-category-side>.asset-category-reset{align-self:flex-start;font-size:12px;padding:4px 10px;border-radius:999px}.asset-category-rank-list .rank-row{display:grid;grid-template-columns:minmax(72px,96px) minmax(100px,1fr) minmax(116px,150px);align-items:center;gap:10px;min-height:26px}.asset-category-rank-list .rank-row+.rank-row{margin-top:8px}.asset-category-rank-list .rank-label{display:contents}.asset-category-rank-list .rank-label>span{grid-column:1;grid-row:1}.asset-category-rank-list .rank-track{grid-column:2;grid-row:1;margin-top:0}.asset-category-rank-list .rank-label>strong{grid-column:3;grid-row:1;justify-content:flex-end;text-align:right}.note-col-narrow{white-space:nowrap;width:1%}.income-year-chart-grid .chart-inner{height:360px}.income-note-cell{width:260px;min-width:180px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attribution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.expense-changes-toggle{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;color:#817d75;background:transparent;font:inherit;font-size:12px;cursor:pointer}.expense-changes-toggle svg{transition:transform .16s ease}.expense-changes-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.expense-changes-toggle:hover,.expense-changes-toggle:focus-visible{color:#9a5432}.expense-changes-toggle:focus-visible{outline:2px solid rgba(183,95,54,.35);outline-offset:4px;border-radius:3px}.accordion-heading{margin:0}.accordion-trigger{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:0 0 10px;border:0;border-bottom:1px solid #eee7d8;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.accordion-trigger:focus-visible{outline:2px solid rgba(183,95,54,.35);outline-offset:4px;border-radius:3px}.accordion-copy{display:block;min-width:0}.accordion-title{display:block;color:#191919;font-size:16px;font-weight:700;line-height:1.25}.accordion-subtitle{display:block;margin-top:3px;padding-left:12px;color:#6d6a63;font-size:12px;line-height:1.35}.accordion-toggle{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto;color:#817d75;font-size:12px;line-height:1}.accordion-toggle svg{transition:transform .16s ease}.accordion-trigger[aria-expanded=true] .accordion-toggle svg{transform:rotate(180deg)}.accordion-trigger:hover .accordion-title,.accordion-trigger:hover .accordion-toggle,.accordion-trigger:focus-visible .accordion-title,.accordion-trigger:focus-visible .accordion-toggle{color:#9a5432}.attribution-block{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:14px}.attribution-block h4{margin:0 0 10px;font-size:13px;color:#3a3935}.attribution-anomaly{border-color:#d99a2b;background:#fef9ee}.attribution-anomaly h4{color:#b75f36}.attribution-none{color:#6d6a63;font-size:13px;margin:0}.attribution-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.attribution-list li{display:flex;align-items:baseline;gap:8px;font-size:13px}.attribution-category{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attribution-change{margin-left:auto;font-weight:600;white-space:nowrap}.attribution-change.up{color:#b75f36}.attribution-change.down{color:#3f7d58}.attribution-rate{color:#6d6a63;font-size:12px;white-space:nowrap;min-width:44px;text-align:right}.recharts-default-tooltip{border:1px solid #ded8ca!important;border-radius:8px!important;background:#fffaf0!important;box-shadow:none!important}@media(max-width:1100px){.app-shell{grid-template-columns:1fr;align-content:start}.sidebar{position:static;height:auto;padding:14px;border-right:0;border-bottom:1px solid #ded8ca;gap:14px}.brand{padding:0}.sidebar-nav{display:flex;flex:none;gap:8px;overflow-x:auto;overflow-y:visible;padding-bottom:4px;margin:0 -14px;padding-left:14px;padding-right:14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav button{justify-content:center;flex:0 0 auto;min-width:86px;padding:0 12px;background:#fffaf085}.nav-sub{display:contents;padding-left:0;margin:0}.nav-sub button{min-width:88px;height:38px;font-size:12px;border:1px solid rgba(222,216,202,.7)}.nav-sub button.active{background:#fff5eb;border-color:#d8b08d}main{padding:20px 14px}.stat-grid,.chart-grid.one,.chart-grid.two,.rank-grid,.detail-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.today-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.today-date h2{margin:0;font-size:26px;letter-spacing:-.5px}.today-weekday{font-size:13px;color:#6d6a63;margin-right:12px}.today-sub{color:#6d6a63;font-size:13px;margin:4px 0 0}.mood-grid{display:flex;gap:12px;flex-wrap:wrap}.mood-btn{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:72px;padding:14px 10px 10px;border:2px solid #ded8ca;border-radius:12px;background:#fffaf0;cursor:pointer;transition:all .15s}.mood-btn:hover{border-color:#d99a2b;background:#fef9ee}.mood-btn.active{border-color:#d99a2b;background:#fef5e6;box-shadow:0 0 0 1px #d99a2b}.mood-emoji{font-size:28px;line-height:1}.mood-text{font-size:12px;color:#6d6a63}.habit-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.habit-toggle-card{border:1px solid #ded8ca;border-radius:12px;background:#fffaf0;padding:16px;text-align:center}.habit-toggle-card h3{margin:0 0 14px;font-size:16px}.toggle-group{display:flex;gap:10px;justify-content:center}.toggle-btn{height:44px;padding:0 28px;border:2px solid #ded8ca;border-radius:10px;background:#fffaf0;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.toggle-btn.yes:hover{border-color:#3f7d58;background:#eef8f1}.toggle-btn.yes.active{border-color:#3f7d58;background:#3f7d58;color:#fffaf0}.toggle-btn.no:hover{border-color:#b75f36;background:#fdf1ec}.toggle-btn.no.active{border-color:#b75f36;background:#b75f36;color:#fffaf0}.note-input{width:100%;border:1px solid #ded8ca;border-radius:10px;padding:12px 14px;font:inherit;font-size:14px;color:#191919;background:#fffaf0;resize:vertical;min-height:68px}.note-input:focus{outline:none;border-color:#7a5c96;box-shadow:0 0 0 2px #f5f0f8}.btn-add-expense{height:34px;padding:0 16px;border:1px solid #b75f36;border-radius:8px;background:transparent;color:#b75f36;font-weight:500;font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-add-expense:hover{background:#b75f36;color:#fffaf0}.expense-form{border:1px solid #d99a2b;border-radius:12px;background:#fef9ee;padding:16px;margin-bottom:14px}.expense-form-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px}.expense-form-row:last-child{margin-bottom:0}.expense-form-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#6d6a63}.expense-form-row input,.expense-form-row select{height:36px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;color:#191919;background:#fffaf0;font:inherit;font-size:14px}.expense-form-row input[type=number]{width:120px}.expense-form-row input[type=date]{width:150px}.expense-form-actions{display:flex;gap:8px;align-items:flex-end;padding-bottom:3px}.btn-save{height:36px;padding:0 20px;border:0;border-radius:8px;background:#191919;color:#fffaf0;font-weight:600;font-size:13px;cursor:pointer}.btn-save:hover{background:#3a3935}.btn-cancel{height:36px;padding:0 16px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;color:#6d6a63;font-size:13px;cursor:pointer}.expense-mini-table{width:100%;border-collapse:collapse;font-size:13px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0}.expense-mini-table th,.expense-mini-table td{padding:8px 12px;border-bottom:1px solid #eee7d8;text-align:left}.expense-mini-table th{color:#6d6a63;font-weight:600;background:#fbf4e8}.expense-mini-table tr:last-child td{border-bottom:0}.expense-amount{text-align:right;font-weight:600;color:#b75f36;white-space:nowrap}.expense-note-cell{width:220px;min-width:160px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-delete{width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:#c0b9a8;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.btn-delete:hover{background:#fdf1ec;color:#b75f36}.empty-hint{color:#6d6a63;font-size:13px;padding:20px 0;text-align:center}.carryover-box{border:1px dashed #ded8ca;border-radius:10px;padding:14px;margin-bottom:14px;background:#fcfaf5}.carryover-title{font-size:13px;color:#6d6a63;font-weight:500}.carryover-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.carryover-select{height:30px;border:1px solid #7a5c96;border-radius:6px;padding:0 8px;font:inherit;font-size:13px;color:#7a5c96;background:#fffaf0;cursor:pointer}.carryover-arrow{font-size:13px;color:#6d6a63;margin-left:auto}.btn-carryover{height:28px;padding:0 12px;border:1px solid #7a5c96;border-radius:6px;background:transparent;color:#7a5c96;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-carryover:hover{background:#7a5c96;color:#fffaf0}.batch-input{width:100px;height:30px;border:1px solid #ded8ca;border-radius:6px;padding:0 8px;font:inherit;font-size:13px;color:#191919;background:#fffaf0;text-align:right}.batch-input:focus{outline:none;border-color:#3f7d58;box-shadow:0 0 0 2px #e8f2ec}.batch-actions{display:flex;gap:10px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #eee7d8}.batch-note-input{flex:1;height:36px;border:1px solid #ded8ca;border-radius:8px;padding:0 12px;font:inherit;font-size:13px;color:#191919;background:#fffaf0}.batch-note-input:focus{outline:none;border-color:#7a5c96}.prev-amount{color:#a8a396!important;font-weight:500!important;white-space:nowrap}.batch-note-inline{width:120px;height:28px;border:1px solid #ded8ca;border-radius:6px;padding:0 8px;font:inherit;font-size:12px;color:#191919;background:#fffaf0}.batch-note-inline:focus{outline:none;border-color:#7a5c96}.batch-note-textarea{width:200px;min-height:48px;border:1px solid #ded8ca;border-radius:6px;padding:7px 8px;font:inherit;font-size:12px;line-height:1.45;color:#191919;background:#fffaf0;resize:vertical;white-space:pre-wrap}.batch-note-textarea:focus{min-height:88px;outline:none;border-color:#7a5c96;box-shadow:0 0 0 2px #eee7f4}.batch-total-row{background:#fbf4e8!important;font-weight:700;font-size:14px}.batch-total-row td{padding:10px 12px!important;border-top:2px solid #d99a2b!important}.batch-total-amount{text-align:right;color:#191919;white-space:nowrap}.row-added{background:#fef9ee;opacity:.85}.maintenance-view-switch{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%;gap:4px;margin-bottom:14px;padding:4px;border:1px solid #ded8ca;border-radius:8px;background:#fbf8ef}.maintenance-view-switch button{min-width:88px;height:32px;border:0;border-radius:6px;padding:0 12px;background:transparent;color:#6d6a63;font-size:13px;font-weight:700;cursor:pointer}.maintenance-view-switch button:hover,.maintenance-view-switch button.active{background:#191919;color:#fffaf0}.maintenance-hero{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:12px}.maintenance-hero-bar{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(280px,1fr);gap:12px;align-items:center}.maintenance-hero-title{display:grid;gap:3px}.maintenance-hero-title span{color:#8a8579;font-size:12px;font-weight:700}.maintenance-hero-title strong{color:#191919;font-size:22px;line-height:1.1}.maintenance-hero-main{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.maintenance-hero-main p{min-width:0;color:#6d6a63;line-height:1.45}.maintenance-progress-label{flex:0 0 auto;color:#3f7d58;font-size:12px;font-weight:800}.maintenance-kicker{display:block;color:#6d6a63;font-size:11px;margin-bottom:0}.maintenance-month-row{display:flex;align-items:center;gap:12px}.maintenance-month-row input{height:40px;border:1px solid #ded8ca;border-radius:8px;padding:0 12px;background:#fffaf0;color:#191919;font:inherit}.maintenance-month-row strong{font-size:28px;line-height:1}.maintenance-progress{height:6px;margin-top:10px;border-radius:999px;overflow:hidden;background:#eee7d8}.maintenance-progress div{height:100%;border-radius:inherit;background:#3f7d58;transition:width .2s ease}.maintenance-dual-month{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:0}.maintenance-month-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.maintenance-month-nav .chevron{width:30px;min-height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d4cec1;border-radius:7px;color:#3a3935;background:#fffdf8;cursor:pointer}.maintenance-month-nav .chevron:hover:not(:disabled){border-color:#3f7d58;color:#3f7d58;background:#edf4e8}.maintenance-month-nav .chevron:disabled{opacity:.45;cursor:default}.maintenance-month-nav input[type=month]{height:30px;border:1px solid #d4cec1;border-radius:7px;padding:0 8px;background:#fffdf8;color:#4f4b45;font:inherit;font-size:12px}.maintenance-month-nav input[type=month]:disabled{opacity:.6}.maintenance-month-nav .save-hint{color:#8a8579;font-size:11px}.maintenance-month-card{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px;border:1px solid #ded8ca;border-radius:8px;padding:8px 10px;background:#faf7f0;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.maintenance-month-card:hover{border-color:#b75f36;background:#fffaf0}.maintenance-month-card.active{border-color:#b75f36;background:#fff5eb}.maintenance-month-card.done{border-color:#3f7d58}.maintenance-month-card strong{min-width:0;overflow:hidden;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.maintenance-month-stat{font-size:11px;color:#a8a396;white-space:nowrap}.maintenance-month-badge{min-height:20px;display:inline-flex;align-items:center;border-radius:999px;padding:0 7px;background:#eee7d8;color:#6d6a63;font-size:11px;font-weight:700;white-space:nowrap}.maintenance-month-card.done .maintenance-month-badge{background:#e1f0e5;color:#3f7d58}.save-hint{color:#3f7d58;font-size:13px;font-weight:600}.maintenance-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:7px}.maintenance-task{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;min-height:36px;padding:7px 9px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:border-color .15s,background .15s}.maintenance-task:hover{border-color:#b75f36;background:#fffaf0}.maintenance-task input{width:14px;height:14px;flex-shrink:0;accent-color:#3f7d58}.maintenance-task span{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;color:#191919;font-size:12px;font-weight:600;line-height:1.3}.maintenance-task-badge{flex-shrink:0;padding:2px 6px;border-radius:999px;background:#f1eadf;color:#8a7d69;font-size:10px;font-weight:700;line-height:1.2}.maintenance-task.done{border-color:#b7d1bf;background:#f2f8f0}.maintenance-task.done span{color:#5a7a63}.maintenance-task.done input{accent-color:#3f7d58}.maintenance-task.auto:not(.done) input{accent-color:#d4cfc4}.maintenance-task.event:not(.done){background:#fff8eb}.maintenance-task.event:not(.done) input,.maintenance-task.status:not(.done) input{accent-color:#d99a2b}.maintenance-task.cloud .maintenance-task-badge,.maintenance-task.done .maintenance-task-badge{background:#e1f0e5;color:#3f7d58}.maintenance-task.life:not(.done) .maintenance-task-badge{background:#fbf0df;color:#9a5b2f}.maintenance-task.pending{background:#f8f5ee}.maintenance-task.pending .maintenance-task-badge{background:#eee7d8;color:#8a8579}.maintenance-todo-section{margin-bottom:24px}.maintenance-category{margin:0 0 28px;padding-top:14px;border-top:1px solid #ded8ca}.maintenance-category-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.maintenance-category-head span{color:#9a4e2c;font-size:13px;font-weight:800}.maintenance-category-head strong{color:#8a8579;font-size:12px;font-weight:600}.maintenance-category>.section{margin-bottom:22px}.maintenance-category>.section:last-child{margin-bottom:0}.maintenance-category .section-head{margin-bottom:10px;padding-bottom:8px}.maintenance-category .data-safety-section,.maintenance-category .reference-admin-section{border-top:0;padding-top:0}.maintenance-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.maintenance-note-grid label{display:flex;flex-direction:column;gap:8px;color:#6d6a63;font-size:13px}.maintenance-note-grid span{font-weight:600}.maintenance-note-grid textarea{width:100%;min-height:96px;border:1px solid #ded8ca;border-radius:8px;padding:12px;resize:vertical;color:#191919;background:#fffaf0;font:inherit;line-height:1.6}.maintenance-note-grid textarea:focus{outline:none;border-color:#7a5c96;box-shadow:0 0 0 2px #f5f0f8}.maintenance-note-grid small{color:#a8a396;font-size:12px}.action-note-box{margin:12px 0;padding:12px;border:1px solid #eee7d8;border-radius:8px;background:#fffaf0}.action-note-box label{display:grid;gap:8px;color:#6d6a63;font-size:13px;font-weight:600}.action-note-box textarea{width:100%;min-height:82px;border:1px solid #ded8ca;border-radius:8px;padding:10px 12px;color:#191919;background:#fffaf0;font:inherit;line-height:1.6;resize:vertical}.action-note-box textarea:focus{outline:none;border-color:#7a5c96;box-shadow:0 0 0 2px #f5f0f8}.action-note-box small{display:block;margin-top:8px;color:#a8a396;font-size:12px}.monthly-note-card{border-color:#d9c08f;border-left:4px solid #d99a2b;background:#fff7e8;box-shadow:0 8px 20px #4a371c0f}.monthly-note-card label span{color:#8f452c;font-size:14px}.asset-action-note{margin-top:14px}.audit-grid,.event-month-hint{font-size:12px;color:#a8a396;flex-shrink:0}.event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-card,.event-card{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:10px 12px}.audit-card{display:grid;gap:10px}.audit-card strong,.event-card span{color:#191919;font-weight:700}.audit-card span{color:#6d6a63;font-size:13px;line-height:1.5}.audit-check{display:inline-flex;align-items:center;gap:8px;color:#3f7d58;font-size:13px;font-weight:600}.audit-check input{accent-color:#3f7d58}.event-card{cursor:pointer;display:flex;align-items:center;justify-content:space-between;text-align:left}.event-card:hover,.event-card.active{border-color:#191919}.event-card strong{font-size:18px;line-height:1}.event-form{margin-top:10px;padding:10px;border-color:#e4d1a8;border-radius:8px}.event-form .expense-form-row{gap:8px;margin-bottom:8px}.event-form .expense-form-row label{flex:1 1 128px}.event-form .expense-form-row input,.event-form .expense-form-row select{height:32px;font-size:13px}.event-form .btn-save{height:32px;padding:0 16px}.event-form .health-illness-row{gap:7px;margin-bottom:8px}.event-form .health-illness-tag{padding:3px 9px}.watch-form-choice{display:flex;flex:1 1 190px;min-width:190px;flex-direction:column;gap:4px}.watch-form-choice>span{color:#6d6a63;font-size:12px}.watch-choice-empty{display:block;color:#8b8678!important;font-size:11px!important}.watch-form-choice>input{height:32px;min-width:0;font-size:13px}.watch-choice-tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:32px}.watch-choice-tags .health-illness-tag{flex:0 0 auto;min-width:42px}.watch-rating-tag{min-width:30px!important;padding-inline:7px!important}.watch-choice-clear{border:0;padding:3px 2px;background:transparent;color:#8b8678;font:inherit;font-size:11px;cursor:pointer}.watch-choice-clear:hover{color:#191919}.watch-records-head{margin:-4px 0 10px}.watch-records-hint{color:#8b8678;font-size:12px}.event-form .health-illness-custom{height:30px}.event-recent-table{margin-top:12px}.event-error{margin:10px 0 12px}.operation-history-table td strong{display:block;color:#191919;font-size:14px;line-height:1.35}.operation-history-table td small{display:block;color:#8b8678;font-size:12px;line-height:1.4;margin-top:2px}.operation-action{display:inline-flex;align-items:center;min-width:42px;justify-content:center;border-radius:999px;padding:4px 8px;background:#eee8dc;color:#5d5548;font-size:12px;font-weight:700}.operation-action-create,.operation-action-import{background:#e8f3ea;color:#3f7d58}.operation-action-update{background:#edf0f5;color:#4d637d}.operation-action-delete{background:#f7e7df;color:#a44b2f}.operation-history-toggle{display:inline-flex;align-items:center;gap:6px}.operation-history-toggle svg{flex-shrink:0}.health-illness-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.health-illness-row-compact{min-width:220px;gap:6px;margin-bottom:0}.health-illness-label{font-size:13px;color:#6d6a63;flex-shrink:0}.health-illness-tags{display:flex;flex-wrap:wrap;gap:6px}.health-illness-tag{padding:4px 12px;border:1px solid #ded8ca;border-radius:16px;background:#faf7f0;font-size:12px;color:#3a3935;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.health-illness-row-compact .health-illness-tag{padding:3px 8px}.health-illness-tag:hover{border-color:#b75f36;background:#fff5eb}.health-illness-tag.active{border-color:#b75f36;background:#b75f36;color:#fffaf0}.health-illness-custom{flex:1;min-width:140px;height:32px;padding:0 10px;border:1px solid #ded8ca;border-radius:6px;background:#fffaf0;font-size:12px}.health-illness-row-compact .health-illness-custom{min-width:120px;height:30px}.health-auto-duration{display:flex;flex-direction:column;gap:4px;min-width:150px;color:#6d6a63;font-size:12px}.health-auto-duration strong{min-height:36px;display:flex;align-items:center;border:1px solid #e4d7b9;border-radius:8px;padding:0 10px;color:#8a6b39;background:#fffdf6;font-size:13px;font-weight:600}.section-head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.section-head-actions .file-picker,.section-head-actions .btn-add-expense{margin:0}.import-panel{display:grid;gap:12px;margin-bottom:14px}.import-card{min-height:104px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.import-card.muted{opacity:.72}.import-card strong,.import-card span{display:block}.import-card strong{margin-bottom:6px;font-size:15px}.import-card span{color:#6d6a63;font-size:13px;line-height:1.5}.import-controls{display:flex;align-items:center;gap:14px;margin-bottom:12px;color:#6d6a63;font-size:13px}.import-controls label{display:flex;align-items:center;gap:8px;color:#191919;font-weight:600}.import-controls select,.mapping-grid select{height:32px;border:1px solid #ded8ca;border-radius:6px;background:#fffaf0;color:#191919;font:inherit;font-size:13px}.mapping-box{margin-bottom:12px;padding:12px;border:1px solid #eee7d8;border-radius:8px;background:#fffaf0}.mapping-box>strong{display:block;margin-bottom:10px;font-size:13px}.mapping-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mapping-grid label{display:grid;gap:4px}.mapping-grid span{color:#6d6a63;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-picker{position:relative;height:36px;padding:0 16px;border:1px solid #191919;border-radius:8px;background:#191919;color:#fffaf0;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap}.file-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-picker.disabled{cursor:not-allowed;opacity:.55}.import-error{color:#b75f36!important;padding:12px;border:1px solid #e1b8a4;border-radius:8px;background:#fdf1ec}.import-preview{border:1px dashed #ded8ca;border-radius:8px;background:#fcfaf5;padding:14px}.import-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.import-preview-head strong,.import-preview-head span{display:block}.import-preview-head span{margin-top:4px;color:#6d6a63;font-size:13px}.import-summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 12px;border-radius:8px;background:#fbf4e8}.import-summary-row span{color:#6d6a63;font-size:13px}.import-summary-row strong{color:#b75f36;font-size:18px}.import-confirm-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid #eee7d8}.import-confirm-row span{color:#6d6a63;font-size:13px}.data-maintenance-tool{display:grid;gap:12px}.data-maintenance-card{margin-bottom:0}.data-maintenance-template-help{display:block;margin-top:5px;color:#8a8579;font-size:12px;line-height:1.55}.data-maintenance-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.data-maintenance-actions .file-picker{gap:6px;padding:0 14px}.data-maintenance-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.data-maintenance-error-list{display:grid;gap:4px;margin-bottom:12px}.data-maintenance-table-wrap{max-height:420px;overflow:auto;border:1px solid #eee7d8;border-radius:8px}.data-maintenance-table-wrap .detail-table{margin:0}.cloud-maintenance-muted{color:#8a8579;font-size:13px;line-height:1.6}.cloud-event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cloud-event-card{min-width:0;padding:14px;border:1px solid #ded8ca;border-radius:10px;background:#fcfaf5}.cloud-event-card.available{border-color:#d9cbb7;background:#fffaf0}.cloud-event-card.pending{opacity:.78;background:#f7f3ea}.cloud-event-card span,.cloud-event-card small{display:block}.cloud-event-card span{color:#8f452c;font-size:12px;font-weight:700}.cloud-event-card strong{display:block;margin:6px 0 5px;color:#27241f;font-size:14px;line-height:1.35}.cloud-event-card small{color:#777269;font-size:12px;line-height:1.45}.backup-actions{display:flex;gap:8px;align-items:center}.backup-action-group{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.backup-last-time{color:#777269;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}.cloud-backup-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0;border:0;background:transparent;color:#27241f;cursor:pointer;font-weight:700;line-height:1;white-space:nowrap}.cloud-backup-button svg{flex:0 0 auto}.cloud-backup-button:disabled{cursor:not-allowed;opacity:.55}.data-safety-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.backup-feedback{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:600}.backup-feedback.success{border:1px solid #b9d3c1;background:#f2f8f3;color:#2f6a45}.backup-feedback.error{border:1px solid #e0b6a7;background:#fff0ec;color:#a43f2c}.data-safety-status{min-width:0;padding:12px 14px;border:1px solid #ded8ca;border-radius:10px;background:#fcfaf5}.data-safety-status.ok{border-color:#b9d3c1;background:#f2f8f3}.data-safety-status.danger{border-color:#e2b45f;background:#fff7df}.data-safety-status span,.data-safety-status small{display:block}.data-safety-status span{color:#777269;font-size:11px}.data-safety-status strong{display:block;margin:5px 0 4px;overflow:hidden;color:#27241f;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.data-safety-status small{overflow-wrap:anywhere;color:#777269;font-size:11px;line-height:1.45}.data-safety-status a{margin-left:4px;color:#9a4e2c;font-weight:700}.backup-file-picker{position:relative;display:inline-flex;align-items:center;cursor:pointer}.backup-file-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.table-actions{display:flex;align-items:center;gap:8px}.btn-link{border:0;background:transparent;color:#7a5c96;font-size:12px;font-weight:600;cursor:pointer}.btn-link:hover{color:#191919}.import-detail-row>td{background:#fcfaf5;padding:12px!important}.edit-expense-box{border-left:4px solid #7a5c96;padding-left:14px}.expense-list-panel{margin-top:12px;padding-top:12px;border-top:1px solid #eee7d8}.expense-month-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 12px;border:1px solid #eee7d8;border-radius:8px;background:#fcfaf5}.expense-month-summary span{color:#6d6a63;font-size:13px;font-weight:600}.expense-month-summary strong{color:#b75f36;font-size:18px}.expense-month-summary small{grid-column:1 / -1;color:#8a8579;font-size:12px}.expense-list-footer,.expense-note-summary{margin-top:10px;color:#6d6a63;font-size:13px;line-height:1.6}.expense-note-summary .btn-link{margin-left:8px}.expense-summary-actions{display:flex;justify-content:flex-end;align-items:center}.expense-detail-edit-table{margin-top:10px}.expense-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.expense-detail-search{width:100%;max-width:320px;height:30px;border:1px solid #ded8ca;border-radius:7px;padding:0 9px;background-color:#fffdf8;color:#4f4b45;font:inherit;font-size:12px}.expense-detail-search::-moz-placeholder{color:#a8a296}.expense-detail-search::placeholder{color:#a8a296}.expense-detail-search:focus-visible{outline:2px solid rgba(183,95,54,.35);outline-offset:1px}.expense-detail-empty{padding:14px 12px;color:#8a8579;font-size:12px;text-align:center}.expense-detail-edit-table input,.expense-detail-edit-table select{width:100%;min-width:88px;height:32px;border:1px solid #ded8ca;border-radius:6px;background:#fffaf0;color:#191919;font:inherit;font-size:13px;padding:0 8px}.monthly-note-summary{padding:10px 12px;border:1px solid #d9c08f;border-left:4px solid #d99a2b;border-radius:8px;background:#fff7e8;color:#4f3f26;font-weight:600}.asset-saved-chip{display:inline-flex;align-items:center;height:30px;padding:0 10px;border:1px solid #b7d1bf;border-radius:999px;background:#f2f8f0;color:#3f7d58;font-size:12px;font-weight:700;white-space:nowrap}.maintenance-section-actions{display:flex;align-items:center;gap:8px;min-width:0}.expense-list-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px}.cloud-maintenance-status-actions{display:flex;justify-content:flex-end;margin-top:12px}.reference-admin-section{border-top:1px solid #ded8ca;padding-top:20px}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reference-card{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:14px}.reference-card>strong{display:block;margin-bottom:10px;font-size:14px}.reference-add-row{display:flex;gap:8px;margin-bottom:10px}.reference-add-row input,.asset-mapping-card select{min-width:0;height:32px;border:1px solid #ded8ca;border-radius:6px;background:#fffaf0;color:#191919;font:inherit;font-size:13px;padding:0 8px}.reference-add-row input{flex:1}.reference-chip-list{display:flex;flex-wrap:wrap;gap:6px;max-height:170px;overflow:auto}.reference-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid #eee7d8;border-radius:999px;background:#fcfaf5;color:#3a3935;font-size:12px;padding:4px 8px}.reference-chip button{border:0;background:transparent;color:#7a5c96;cursor:pointer;font-size:11px;padding:0}.reference-chip button:hover{color:#191919}.asset-mapping-card{margin-top:12px}.data-safety-section{border-top:1px solid #ded8ca;padding-top:20px}.data-safety-section .section-head{align-items:center}.data-safety-section .cloud-backup-button{min-height:36px;padding:0 14px;border:1px solid #191919;border-radius:8px;background:#191919;color:#fffaf0}.data-safety-section .cloud-backup-button:hover:not(:disabled){background:#3a3935}.safety-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.safety-card{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:14px;display:grid;gap:8px}.safety-card strong{font-size:14px}.safety-card span{color:#6d6a63;font-size:13px;line-height:1.6}.habit-sync-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0}.habit-sync-info{display:flex;flex-direction:column;gap:6px;min-width:0}.habit-sync-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border:1px solid #191919;border-radius:8px;background:#191919;color:#f7f3ea;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,opacity .15s}.habit-sync-btn:hover:not(:disabled){background:#3a3935}.habit-sync-btn:disabled{opacity:.5;cursor:not-allowed}.sync-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.sync-badge-success{color:#3f7d58}.sync-badge-error{color:#b75f36}.sync-badge-syncing{color:#2e728f}.sync-badge-idle{color:#6d6a63}.spin-icon{animation:spin 1s linear infinite}.sync-error-msg{margin:0;color:#b75f36;font-size:12px}.sync-warning-msg{margin:0;color:#b75f36;font-size:12px;line-height:1.5}.sync-detail-text{margin:0;color:#6d6a63;font-size:12px}.habit-config-hint{margin-top:12px;padding:12px 16px;border:1px solid #f0e0b0;border-radius:6px;background:#fef9ee}.habit-config-hint p{margin:0;color:#6d6a63;font-size:13px}.habit-config-hint code{padding:1px 6px;border-radius:4px;background:#eee7d8;font-size:12px}.today-page{display:flex;flex-direction:column;gap:18px;min-width:0}.today-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding-top:10px;padding-bottom:10px;background:#fffaf0}.today-date-row{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.today-date-chip,.today-source-chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border:1px solid #ded8ca;border-radius:8px;background:#f7f1e6;color:#6d6a63;font-size:12px;font-weight:700;white-space:nowrap}.today-date-row strong{color:#24231f;font-size:18px;letter-spacing:0;white-space:nowrap}.today-source-chip{background:#eef4eb;color:#3f7d58}.today-adjust-btn{height:26px;padding:0 10px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;color:#4d4940;font-size:12px;font-weight:700;cursor:pointer}.today-adjust-btn:hover{border-color:#c8bba8;color:#191919}.today-adjust-btn:disabled{cursor:not-allowed;opacity:.45}.today-date-input{height:26px;min-width:132px;padding:0 8px;border:1px solid #ded8ca;border-radius:8px;background:#fff;color:#24231f;font:inherit;font-size:12px;font-weight:700}.today-editing-chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border:1px solid #c8d7bd;border-radius:8px;background:#eef4eb;color:#3f7d58;font-size:12px;font-weight:700}.today-stack{display:grid;gap:18px;min-width:0}.today-editor-card{display:grid;gap:12px;padding:14px}.today-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.today-editor-date{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.today-editor-date h3{margin:0;color:#24231f;font-size:18px;line-height:1.2}.today-editor-date>.today-editor-weekday:not(.today-editing-chip){display:inline-flex;align-items:center;height:26px;padding:0 9px;border:1px solid #e5dfd3;border-radius:8px;background:#fff8eb;color:#625f58;font-size:12px;font-weight:700}.today-editor-weekday{display:inline-flex;align-items:center;height:26px;padding:0 9px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;color:#5f5b54;font-size:12px;font-weight:700}.today-editor-weekday-weekend{border-color:#efd9b8;background:#fff3d6;color:#996e3f}.today-editor-save{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.today-editor-save .today-save-btn{height:34px;min-width:78px;padding:0 13px;font-size:13px}.today-editor-save .today-save-message{min-height:34px;font-size:12px}.today-editor-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:34px;padding:0 11px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;color:#4d4940;font-size:13px;font-weight:700;cursor:pointer}.today-editor-action-btn:hover{border-color:#191919;color:#191919}.today-entry-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));margin-bottom:0}.today-entry-grid .today-habit-pill,.today-entry-grid .today-compact-metric,.today-entry-grid .today-editor-mood,.today-entry-grid .today-other-toggle{width:100%;min-height:42px;border-radius:6px;padding:6px 10px;background:#f7f3ea}.today-entry-grid .today-habit-pill{height:auto}.today-entry-grid .today-compact-metric{justify-content:space-between}.today-entry-grid .today-editor-mood{grid-column:span 2}.today-entry-grid .today-other-toggle{justify-self:start;width:auto;min-width:86px}.today-empty-detail{padding:10px 0 2px;color:#8a8579;font-size:13px;line-height:1.5}.today-loading-card{min-height:164px}.today-loading-copy{margin-top:10px;color:#8a8579;font-size:13px;font-weight:700}.today-loading-lines{display:grid;gap:9px;margin-top:14px}.today-loading-lines span{display:block;height:34px;border:1px solid #eee5d7;border-radius:8px;background:linear-gradient(90deg,#f7f0e3,#fff9ee 55%,#f4ecdd)}.today-editor-core{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:2px}.today-habit-pill{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 10px;border:1px solid #ded8ca;border-radius:8px;background:#fff;color:#4d4940;font:inherit;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.today-habit-pill span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #ded8ca;border-radius:6px;background:#f8f4ec}.today-habit-pill strong{font-size:14px}.today-habit-pill.checked{border-color:#86b47a;background:#f0f8ed;color:#315c3e;box-shadow:0 0 0 2px #3f7d581a}.today-habit-pill.checked span{border-color:#3f8f56;background:#3f8f56;color:#fffaf0}.today-habit-pill.rejected{border-color:#f4b8bd;background:#fff2f4;color:#d32128;box-shadow:0 0 0 2px #ef444414}.today-habit-pill.rejected span{border-color:#ef4444;background:#ef4444;color:#fff}.today-compact-metric,.today-editor-mood{display:inline-flex;align-items:center;gap:6px;color:#4d4940;font-size:13px;font-weight:700}.today-compact-metric span,.today-compact-metric small,.today-habit-pill strong,.day-detail-item span{white-space:nowrap}.today-compact-metric input{width:52px;height:32px;padding:0 6px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf2;color:#24231f;font:inherit;text-align:center}.today-compact-metric small{color:#8a8579;font-size:12px}.today-editor-mood .today-mood-grid{gap:5px}.today-editor-mood .today-mood-grid button{width:32px;height:32px;background:#fffaf2;font-size:13px}.today-editor-mood .today-mood-grid button.active{background:#f0f8ed}.today-supplement-summary{display:flex;flex-wrap:wrap;gap:6px;padding-top:2px}.today-supplement-summary span{display:inline-flex;align-items:center;min-height:24px;height:auto;padding:0 8px;border-radius:7px;background:#f1eadf;color:#6d6a63;font-size:12px;font-weight:700;line-height:1.4;white-space:normal;overflow-wrap:anywhere;word-break:break-word;min-width:0}.today-other-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed #d9cfbd;color:#5f5a51;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.today-other-toggle:hover,.today-other-toggle.active{border-style:solid;border-color:#c8baa2;background:#f1eadf;color:#3f3a32}.today-other-toggle strong{color:#8b5a43;font-size:12px;font-weight:800;white-space:nowrap}.today-other-panel{display:grid;grid-template-columns:repeat(2,78px);gap:8px;align-items:center}.today-other-panel .today-compact-metric{min-height:38px;padding:6px 8px;border-radius:6px;background:#f7f3ea}.today-other-panel .today-compact-metric input{width:34px}.today-inline-fields{display:grid;grid-template-columns:max-content 164px minmax(260px,1fr);align-items:center;gap:8px}.today-inline-fields .today-editor-mood{min-height:38px;padding:6px 10px;border-radius:6px;background:#f7f3ea}.today-factor-select,.today-note-compact{display:flex;align-items:center;gap:8px;min-width:0;min-height:38px;padding:6px 10px;border-radius:6px;background:#f7f3ea;color:#4d4940;font-size:13px;font-weight:700}.today-factor-select{position:relative}.today-note.today-note-compact{display:flex;grid-column:1 / -1}.today-factor-select span,.today-note-compact span{flex:0 0 auto;color:#6d6a63;font-size:12px;white-space:nowrap}.today-factor-select-trigger,.today-note-compact input{flex:1 1 auto;min-width:0;height:30px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf2;color:#24231f;font:inherit}.today-factor-select-trigger{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:space-between;gap:4px;width:76px;padding:0 9px;font-size:13px;font-weight:400;cursor:pointer}.today-factor-select-trigger svg{flex:0 0 auto;color:#8a8579;transition:transform .15s ease}.today-factor-select-trigger.open{border-color:#c8baa2;background:#f1eadf}.today-factor-select-trigger.open svg{transform:rotate(180deg)}.today-factor-menu{position:absolute;top:calc(100% + 6px);right:8px;z-index:40;display:grid;gap:4px;width:-moz-max-content;width:max-content;min-width:136px;max-height:228px;overflow-y:auto;padding:6px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf2;box-shadow:0 14px 32px #24211c24}.today-factor-menu button{min-height:30px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#4d4940;font:inherit;font-size:12px;font-weight:800;text-align:left;white-space:nowrap;cursor:pointer}.today-factor-menu button:hover,.today-factor-menu button:focus-visible{background:#f1eadf;outline:none}.today-note-compact input{padding:0 10px}.today-selected-factors{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.today-factor-chip{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:2px 8px;border:1px solid #d8cde2;border-radius:7px;background:#f0e9f5;color:#5b4272;font-size:12px;font-weight:700;cursor:pointer}.today-factor-chip svg{flex:0 0 auto}.today-checkin{display:grid;gap:12px}.today-block h3{margin:0 0 10px;color:#4d4940;font-size:14px}.today-mood-grid{display:flex;gap:7px}.today-mood-grid button,.today-factor-list button{border:1px solid #ded8ca;border-radius:8px;background:#fff;color:#4d4940;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.today-mood-grid button{width:42px;height:36px;padding:0;color:#24231f;font-size:15px;font-weight:800}.today-mood-grid button.active{border-color:#86b47a;background:#f0f8ed;color:#315c3e;box-shadow:0 0 0 2px #3f7d581f}.today-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.today-check-square{display:inline-grid;grid-template-columns:28px auto;align-items:center;gap:9px;min-height:46px;padding:8px 12px;border:1px solid #ded8ca;border-radius:8px;background:#fff;color:#4d4940;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.today-check-square span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #ded8ca;border-radius:7px;background:#f8f4ec}.today-check-square small{font-size:16px;font-weight:800}.today-check-square.checked{border-color:#86b47a;background:#f0f8ed;color:#315c3e;box-shadow:0 0 0 2px #3f7d581f}.today-check-square.checked span{border-color:#3f8f56;background:#3f8f56;color:#fffaf0}.today-check-square.rejected{border-color:#f4b8bd;background:#fff2f4;color:#d32128;box-shadow:0 0 0 2px #ef44441a}.today-check-square.rejected span{border-color:#ef4444;background:#ef4444;color:#fff}.today-number-grid{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.today-detail-lines{display:grid;border-top:1px solid #e6ded2;border-bottom:1px solid #e6ded2}.today-detail-line{padding:10px 0;border-top:1px solid #e8e0d3}.today-detail-line:first-child{border-top:0}.today-note{color:#4d4940;font-size:13px;font-weight:700;display:grid;gap:6px}.today-note textarea{border:1px solid #ded8ca;border-radius:8px;background:#fff;color:#24231f;font:inherit}.today-mood-factor-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px}.today-mood-block,.today-factor-block{display:flex;align-items:center;min-width:0;gap:10px}.today-mood-factor-row .today-block h3{flex:0 0 auto;margin:0;font-size:13px;white-space:nowrap}.today-factor-list{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.today-factor-list button{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;font-size:12px}.today-factor-list button.active{border-color:#7a5c96;background:#f0e9f5;color:#5b4272}.today-factor-add-btn{border-style:dashed!important;background:#f9f5ec!important;color:#6d6a63!important}.today-note textarea{width:100%;min-height:38px;padding:9px 12px;resize:vertical;transition:min-height .15s}.today-note textarea:focus,.today-note.expanded textarea{min-height:78px}.today-note-save-row{display:grid;grid-template-columns:minmax(280px,680px) auto auto minmax(0,1fr);align-items:end;gap:10px 12px}.today-save-btn{display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:7px;width:auto;min-width:88px;height:40px;padding:0 16px;border:1px solid #3f7d58;border-radius:8px;background:#3f7d58;color:#fffaf0;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.today-save-btn:hover{border-color:#2e6a48;background:#4a9168}.today-save-btn:disabled{border-color:#cfccc2;background:#f0e9df;color:#9ca096;cursor:not-allowed;opacity:1}.today-save-message{display:inline-flex;align-items:center;align-self:center;min-height:40px;color:#6d6a63;font-size:13px;white-space:nowrap}.today-save-message.saved{color:#3f7d58}.today-save-message.error{color:#b75f36}.today-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.today-insight-card{display:grid;gap:5px;min-height:82px;padding:12px;border:1px solid #ded8ca;border-radius:8px;background:#fff}.today-insight-card svg{color:#2e728f}.today-insight-card span{color:#8a8579;font-size:12px}.today-insight-card strong{color:#24231f;font-size:18px;line-height:1.2}.today-activity-strip{display:grid;grid-template-columns:repeat(14,minmax(12px,1fr));align-items:end;gap:6px;margin-top:16px;padding-top:10px;border-top:1px solid #ebe5d9}.today-activity-day{display:grid;gap:5px;justify-items:center;min-width:0}.today-activity-day span{width:100%;max-width:14px;border-radius:5px 5px 2px 2px;background:#7fa3b3}.today-activity-day small{color:#a8a396;font-size:10px}.today-running-loading{padding:18px;border:1px dashed #ded8ca;border-radius:8px;background:#fbf7ee;color:#6d6a63;font-size:13px}.today-running-insights{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"volume" "calendar";gap:12px;align-items:start}.today-movement-stack,.learning-page{min-width:0}.learning-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.learning-page-kicker{display:inline-flex;align-items:center;gap:6px;color:#3f7d58;font-size:12px;font-weight:700}.learning-page-header h1{margin:8px 0 6px;color:#24231f;font-size:26px;line-height:1.15}.learning-page-header p{margin:0;color:#6d6a63;font-size:13px}.learning-page-note{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid #ded8ca;border-radius:999px;background:#fbf8ef;color:#8a8579;font-size:11px;font-weight:700}.learning-page-section .today-learning-section{margin-bottom:0}.learning-page-section .today-learning-grid{align-items:start}.learning-page-error{margin:-8px 0 18px}.today-learning-section{min-width:0}.today-learning-section .section-head{align-items:flex-end}.today-learning-section .section-head p{max-width:250px;margin-left:auto;color:#8a8579;font-size:12px;text-align:right}.today-learning-toggle{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;color:inherit;background:transparent;font:inherit;cursor:pointer}.today-learning-toggle svg{color:#817d75}.today-learning-toggle:hover h2,.today-learning-toggle:focus-visible h2{color:#9a5432}.today-learning-toggle:focus-visible{outline:2px solid rgba(183,95,54,.35);outline-offset:4px;border-radius:3px}.today-learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.today-learning-loading{min-height:160px;display:grid;place-items:center;border:1px dashed #ded8ca;border-radius:8px;color:#8a8579;font-size:12px}.today-learning-card{min-width:0;padding:14px;border:1px solid #ded8ca;border-radius:8px;background:#fffdf8}.today-word-card{border-color:#d9e4d4;background:linear-gradient(145deg,#f5faf2,#fffdf8 72%)}.today-poem-card{background:linear-gradient(145deg,#fffaf0,#fffdf8 72%)}.today-learning-card-head,.today-word-main,.today-poem-title,.today-poem-actions{display:flex;align-items:center}.today-learning-card-head{justify-content:space-between;gap:12px}.today-learning-card-head>div{display:grid;gap:2px}.today-learning-card-head span{color:#8a8579;font-size:11px;font-weight:700}.today-learning-card-head strong{color:#3f5142;font-size:13px}.today-learning-card-head>svg{color:#7f9d86}.today-learning-card-head>.today-word-card-meta,.today-learning-card-head>.today-poem-card-meta{display:flex;min-width:0;align-items:center;gap:7px;margin-left:auto}.today-word-card-meta span,.today-poem-card-meta span{overflow:hidden;color:#71816f;font-size:11px;font-weight:700;white-space:nowrap}.today-word-card-meta svg,.today-poem-card-meta svg{flex:0 0 auto;color:#7f9d86}.today-learning-stat-trigger{flex:0 0 auto;border:0;padding:0;background:transparent;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.today-learning-stat-trigger.fuzzy{color:#916d23}.today-learning-stat-trigger.unfamiliar{color:#a9513d}.today-learning-stat-trigger.favorite{color:#3f7d58}.today-learning-stat-trigger:hover,.today-learning-stat-trigger:focus-visible{text-decoration:underline;text-underline-offset:2px}.today-word-content,.today-poem-content{display:grid;gap:10px;margin-top:12px}.today-word-main{gap:8px}.today-word-main h3,.today-poem-title h3{margin:0;color:#24231f;font-size:24px;line-height:1.1}.today-word-main em{color:#7c8177;font-size:12px;font-style:normal}.today-word-ipa{color:#667269;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.today-word-collocation{display:grid;gap:3px;padding:9px 10px;border-left:2px solid #a8c49e;border-radius:0 6px 6px 0;background:#e9f1e8b3}.today-word-collocation span,.today-word-meaning span{color:#7b7d76;font-size:11px}.today-word-collocation strong{color:#3f5142;font-size:14px}.today-learning-reveal,.today-word-rating,.today-poem-actions button{min-height:32px;border-radius:7px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.today-learning-reveal{border:1px solid #b6cbb0;background:#fff;color:#3f7d58}.today-learning-reveal:hover{border-color:#3f7d58;background:#edf5ea}.today-word-meaning{display:grid;gap:4px;padding:9px 10px;border-radius:7px;background:#fff}.today-word-meaning strong{color:#24231f;font-size:14px}.today-word-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.today-word-rating{border:1px solid #ded8ca;background:#fff;color:#5f5b54}.today-word-rating.unfamiliar:hover{border-color:#d9a79c;background:#fff3ef;color:#a9513d}.today-word-rating.fuzzy:hover{border-color:#e0c58f;background:#fff8e8;color:#916d23}.today-word-rating.known:hover{border-color:#b6cbb0;background:#edf5ea;color:#3f7d58}.today-learning-complete{display:grid;gap:4px;min-height:132px;align-content:center;color:#536158}.today-learning-complete strong{color:#3f7d58;font-size:16px}.today-learning-complete span{color:#7b7d76;font-size:12px;line-height:1.5}.today-poem-title{align-items:baseline;justify-content:space-between;gap:12px}.today-poem-title h3{font-size:22px}.today-poem-title span{flex:0 0 auto;color:#8a8579;font-size:11px}.today-poem-body{display:grid;gap:4px;padding:10px 0 3px;border-top:1px solid #e9e4d4}.today-poem-body p,.today-poem-famous{margin:0;color:#4d4940;font-family:Songti SC,STSong,serif;font-size:14px;line-height:1.75}.today-poem-famous{padding:8px 10px;border-left:2px solid #a8c49e;border-radius:0 6px 6px 0;background:#e9f1e8b3;color:#3f5142;font-size:13px}.today-poem-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.today-learning-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 0;padding:8px 10px;border:1px solid #ead8cf;border-radius:8px;background:#fffaf7;color:#74594e;font-size:12px}.today-learning-undo button{flex:0 0 auto;border:0;background:transparent;color:#8f4d3c;font:inherit;font-weight:700;cursor:pointer}.today-learning-undo button:hover{color:#6d382c;text-decoration:underline}.today-poem-actions button{min-height:32px;padding:0 8px;border:1px solid #ded8ca;border-radius:7px;background:#fff;color:#5f5b54;font:inherit;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}.today-poem-actions .today-poem-favorite.active{border-color:#b6cbb0;background:#eef5eb;color:#3f7d58}.today-poem-actions .today-poem-favorite:hover,.today-poem-actions .today-poem-favorite.active:hover{border-color:#3f7d58;background:#edf5ea;color:#3f7d58}.today-poem-actions .today-poem-not-recommend{color:#7b756a}.today-poem-actions .today-poem-not-recommend:hover{border-color:#cfae9f;background:#fff7f3;color:#9b5c4b}.today-poem-actions .today-poem-next{border-color:#b6cbb0;background:#eef5eb;color:#3f7d58}.today-poem-actions .today-poem-next:hover{border-color:#3f7d58;background:#e5f0e1;color:#2f6b49}.today-poem-actions button:hover{border-color:#b79b68;color:#765622}.today-learning-error{margin:8px 0 0;color:#a9513d;font-size:12px}.today-learning-list-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:24px;background:#19191947;overscroll-behavior:contain}.today-learning-list-dialog{width:min(520px,100%);max-height:min(560px,calc(100vh - 48px));overflow:auto;border:1px solid #ded8ca;border-radius:10px;background:#fffaf0;box-shadow:0 18px 48px #1919192e}.today-learning-list-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #eee7d8;background:#fbf4e8}.today-learning-list-head>div{display:flex;align-items:baseline;gap:7px}.today-learning-list-head strong{color:#24231f;font-size:14px}.today-learning-list-head span{color:#8a8579;font-size:12px}.today-learning-list-head button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:6px;background:transparent;color:#6d6a63;cursor:pointer}.today-learning-list-head button:hover,.today-learning-list-head button:focus-visible{background:#f1eadf}.today-learning-list{display:grid;margin:0;padding:0;list-style:none}.today-learning-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #eee7d8}.today-learning-list li:last-child{border-bottom:0}.today-learning-list-item-main{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between;gap:14px;border:0;padding:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.today-learning-list-item-main>div{display:grid;min-width:0;gap:3px}.today-learning-list-item-main:hover strong,.today-learning-list-item-main:focus-visible strong{color:#3f7d58}.today-learning-list strong{color:#24231f;font-size:14px}.today-learning-list span,.today-learning-list small{color:#7b756a;font-size:12px}.today-learning-list small{flex:0 0 auto}.today-learning-list em{overflow:hidden;color:#5c574d;font-family:Songti SC,STSong,serif;font-size:12px;font-style:normal;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}.today-learning-favorite-toggle{flex:0 0 auto;border:1px solid #ded8ca;border-radius:6px;padding:5px 8px;background:#fff;color:#6d6a63;font:inherit;font-size:12px;cursor:pointer}.today-learning-favorite-toggle:hover,.today-learning-favorite-toggle:focus-visible{border-color:#d9a79c;background:#fff3ef;color:#a9513d}.today-learning-list-empty{margin:0;padding:28px 14px;color:#7b756a;font-size:13px;text-align:center}.today-learning-detail{display:grid;gap:14px;padding:14px}.today-learning-detail-back{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:5px;border:0;padding:0;background:transparent;color:#7b756a;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.today-learning-detail-back:hover,.today-learning-detail-back:focus-visible{color:#3f7d58}.today-learning-detail-title{display:grid;gap:4px}.today-learning-detail-title h3{margin:0;color:#24231f;font-size:22px}.today-learning-detail-title span,.today-learning-detail-meta,.today-learning-detail-block span,.today-learning-detail-review{color:#7b756a;font-size:12px}.today-learning-detail-meta{color:#667269;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.today-learning-detail-block{display:grid;gap:5px;padding:10px;border-radius:7px;background:#fff}.today-learning-detail-block strong{color:#3f5142;font-size:14px;line-height:1.6}.today-learning-detail-block small{color:#7b7d76;font-size:12px}.today-learning-detail-review{display:flex;justify-content:space-between;gap:12px;padding-top:2px}.today-learning-detail-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.today-learning-detail-poem-body{display:grid;gap:5px;padding:10px 0;border-top:1px solid #e9e4d4;border-bottom:1px solid #e9e4d4}.today-learning-detail-poem-body p{margin:0;color:#4d4940;font-family:Songti SC,STSong,serif;font-size:15px;line-height:1.8}.today-learning-detail-favorite{min-height:32px;border:1px solid #ded8ca;border-radius:7px;background:#fff;color:#5f5b54;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.today-learning-detail-favorite.active,.today-learning-detail-favorite:hover,.today-learning-detail-favorite:focus-visible{border-color:#b6cbb0;background:#eef5eb;color:#3f7d58}@media(max-width:680px){.today-learning-list-overlay{place-items:end center;padding:0 max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))}.today-learning-list-dialog{width:100%;max-height:min(72vh,620px);border-bottom:0;border-radius:16px 16px 0 0}.today-learning-list li{align-items:flex-start}.today-learning-list small{padding-top:2px}}.today-ai-section{margin-top:4px;padding-top:8px;border-top:1px dashed #e8e3d4}.today-ai-trigger{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 10px;border:1px dashed #c4bfb0;border-radius:6px;background:transparent;color:#8a8579;font:inherit;font-size:11px;cursor:pointer}.today-ai-trigger:hover{border-color:#a8c49e;color:#3f7d58;background:#e9f1e880}.today-ai-loading{color:#8a8579;font-size:11px;padding:4px 0}.today-ai-content{display:grid;gap:6px}.today-ai-row{display:grid;gap:1px}.today-ai-row span{color:#998f7d;font-size:10px;font-weight:700}.today-ai-row strong{color:#3c3a35;font-size:12px;line-height:1.55;font-weight:500}.today-ai-row em{color:#6e6a60;font-size:11px;font-style:normal}.today-ai-row-mnemonic span,.today-ai-row-mnemonic strong{color:#7b5b3c}.today-ai-row-expression span,.today-ai-row-expression strong,.today-ai-row-expression em,.today-ai-row-expression small{color:#39707a}.today-ai-row-scenario span,.today-ai-row-scenario strong,.today-ai-row-scenario em,.today-ai-row-scenario small{color:#6b5d8c}.today-ai-row-translation span,.today-ai-row-translation strong{color:#806b32}.today-ai-row-analysis span,.today-ai-row-analysis strong{color:#4c7187}.today-ai-row-appreciation span,.today-ai-row-appreciation strong{color:#865c72}.today-ai-row-recommendation span,.today-ai-row-recommendation strong{color:#4d795d}.today-ai-refresh{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:26px;padding:0 9px;border:1px solid #ded8ca;border-radius:5px;background:#fff;color:#8a8579;font:inherit;font-size:10px;cursor:pointer;justify-self:end}.today-ai-refresh:hover{border-color:#a8c49e;color:#3f7d58}.today-ai-refresh:disabled{opacity:.6;cursor:not-allowed}.today-ai-note{margin:0;color:#6e6a60;font-size:11px;line-height:1.55}.today-ai-line{display:grid;gap:1px;padding:5px 0;border-top:1px dashed #eee7d8}.today-ai-line small{color:#998f7d;font-size:10px}.today-ai-draft-label{margin:0;color:#8a641f;font-size:11px;font-weight:700}.today-ai-draft-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:2px}.today-ai-cancel{min-height:26px;padding:0 9px;border:1px solid #ded8ca;border-radius:5px;background:transparent;color:#8a8579;font:inherit;font-size:10px;cursor:pointer}.today-ai-cancel:hover{border-color:#cbbfa8;color:#4a4538}.today-ai-error{margin:4px 0 0;color:#a9513d;font-size:11px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.today-running-advice{padding:16px;border:1px solid #ded8ca;border-radius:8px;background:linear-gradient(180deg,#fffaf0,#fff)}.today-running-advice.tone-good{border-color:#cbdccf;background:linear-gradient(180deg,#f3f8f1,#fff)}.today-running-advice.tone-info{border-color:#bfd8e5;background:linear-gradient(180deg,#f1f8fb,#fff)}.today-running-advice.tone-caution{border-color:#ead5a8;background:linear-gradient(180deg,#fff8e8,#fff)}.today-running-advice.tone-warning{border-color:#e5c4bc;background:linear-gradient(180deg,#fff2ee,#fff)}.today-running-advice-top,.today-running-chart-head,.today-running-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px}.today-running-advice-title,.today-running-advice-title span,.today-running-subhead>div{display:inline-flex;align-items:center}.today-running-advice-title{gap:8px;min-width:0;flex:1}.today-running-advice-title span,.today-running-subhead>div{gap:6px}.today-running-advice-title span{color:#3f7d58;font-size:12px;font-weight:700}.today-running-advice-top strong{padding:4px 9px;border-radius:999px;background:#e9f1e8;color:#3f7d58;font-size:12px}.today-running-advice-status{display:inline-flex;align-items:center;flex-shrink:0;gap:5px}.today-running-advice h3{margin:12px 0 0;color:#24231f;font-size:26px;line-height:1.15;letter-spacing:0}.today-running-advice p{margin:10px 0 0;max-width:780px;color:#536158;font-size:14px;line-height:1.7}.today-running-advice-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.today-running-advice-meta-inline{flex-wrap:nowrap;gap:4px;margin-top:0;overflow:hidden}.today-running-advice-meta span{padding:5px 9px;border-radius:999px;background:#f3efe6;color:#6d6a63;font-size:12px}.today-running-advice-meta-inline span{flex-shrink:0;padding:2px 6px;font-size:10px}.today-running-ai-icon-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d8e3d4;border-radius:999px;background:#f5faf2;color:#3f7d58;cursor:pointer}.today-running-ai-icon-button-compact{width:24px;height:24px}.today-running-ai-icon-button:disabled{opacity:.55;cursor:not-allowed}.today-running-ai-error{display:block;margin-top:8px;color:#b75f36;font-size:12px}.today-running-detail-grid{display:grid;grid-template-areas:"calendar charts";grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:12px;align-items:stretch}.today-running-overview-grid{display:grid;grid-area:charts;grid-template-columns:minmax(0,1fr);grid-template-rows:auto repeat(2,minmax(0,1fr));width:min(100%,480px);height:100%;gap:10px}.today-running-volume-comparisons{display:grid;grid-area:volume;gap:8px;width:min(100%,520px);padding:1px 4px 0}.today-running-volume-row{display:grid;gap:4px;min-width:0}.today-running-volume-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px;min-width:0;color:#817d75;font-size:10px;line-height:1.2}.today-running-volume-head strong{color:#5f5a50;font-size:11px;font-weight:650;white-space:nowrap}.today-running-volume-head small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-running-volume-head b{color:#3f7d58;font-size:11px;font-weight:700;white-space:nowrap}.today-running-volume-track{height:4px;overflow:hidden;border-radius:999px;background:#eee9df}.today-running-volume-track span{display:block;height:100%;border-radius:inherit;background:#7fa78a;transition:width .18s ease}.today-running-chart-card{display:grid;grid-template-rows:auto minmax(102px,1fr);min-width:0;padding:14px 18px 12px;border:1px solid #e7dfd2;border-radius:8px;background:#fffdf8}.today-running-chart-head span,.today-running-subhead span{color:#8a8579;font-size:11px}.today-running-chart-head strong{display:block;margin-top:3px;color:#24231f;font-size:16px;line-height:1.2}.today-running-chart-head small{color:#6d6a63;font-size:11px;white-space:nowrap}.today-running-chart-card svg{align-self:center;justify-self:center;display:block;width:min(100%,560px);height:108px;margin-top:4px;overflow:visible}.today-running-chart-card svg line{stroke:#eee7d8;stroke-width:1;vector-effect:non-scaling-stroke}.today-running-chart-card svg path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.today-running-chart-card svg .baseline,.today-running-chart-card svg .previous{stroke:#a8a396;stroke-width:1.6;stroke-dasharray:4 4}.today-running-chart-card svg .current{stroke:#3f7d58;stroke-width:2.5}.today-running-chart-card svg circle{fill:#fffaf0;stroke-width:1.7;vector-effect:non-scaling-stroke}.today-running-chart-card svg text{fill:#a8a396;font-size:8.5px;text-anchor:middle}.today-running-calendar-row{display:grid;grid-area:calendar;grid-template-columns:minmax(260px,1fr)}.today-running-calendar,.today-month-overview,.today-running-calendar-collapse{min-width:0;border-radius:8px}.today-running-calendar,.today-running-calendar-collapse{padding:12px;border:1px solid #ded8ca;border-radius:8px;background:#fff}.today-month-overview{padding:0;border:0;background:transparent}.today-mind-pulse{width:min(100%,720px);margin-top:10px;padding-top:2px}.today-mind-pulse-head,.today-mind-pulse-head>div{display:flex;align-items:center}.today-mind-pulse-head{justify-content:space-between;gap:12px;margin-bottom:6px;padding:0 2px}.today-mind-pulse-head>div{gap:6px}.today-mind-pulse-head svg{color:#b75f36}.today-mind-pulse-head strong{color:#4f4a41;font-size:12px}.today-mind-pulse-head span{color:#9a958b;font-size:10px}.today-mind-pulse-subhead{display:flex;align-items:center;gap:5px;margin:10px 2px 6px;color:#6d6a63;font-size:11px}.today-mind-pulse-subhead svg{color:#2e728f}.today-mind-pulse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.today-mind-trend-card{min-width:0;height:160px;box-sizing:border-box;padding:9px 10px 7px;border:1px solid #e7dfd2;border-radius:8px;background:#fffdf8}.today-mind-trend-title,.today-mind-trend-legend{display:flex;align-items:flex-start}.today-mind-trend-title{justify-content:space-between;gap:10px}.today-mind-trend-title>div:first-child{display:flex;align-items:center;min-width:0;gap:5px}.today-mind-trend-title span{color:#6d6a63;font-size:10px;white-space:nowrap}.today-mind-trend-value{display:inline-flex;align-items:center;min-height:16px;margin-left:0;padding:0 4px;border:1px solid #e4ddd0;border-radius:4px;background:#fbf9f4;color:#777269;font-size:10px;font-weight:600;line-height:1;white-space:nowrap}.today-mind-trend-legend{gap:10px;padding-top:2px}.today-mind-trend-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.today-mind-trend-legend span:before{content:"";width:14px;border-top:2px solid var(--trend-color, #aaa497)}.today-mind-trend-legend .comparison:before{border-top-color:#aaa497;border-top-style:dashed}.today-mind-trend-chart{width:100%;height:112px;margin-top:2px}.today-mind-pulse .today-running-chart-card{grid-template-rows:auto minmax(0,1fr);height:160px;min-height:0;box-sizing:border-box;padding:9px 10px 7px}.today-mind-pulse .today-running-chart-head span{font-size:10px}.today-mind-pulse .today-running-chart-head strong{margin-top:1px;font-size:16px}.today-mind-pulse .today-running-chart-head small{font-size:10px}.today-mind-pulse .today-running-chart-card svg{height:112px;margin-top:2px}.today-running-calendar-row-only{grid-template-columns:minmax(280px,360px)}@media(min-width:1024px){.today-mind-pulse{width:100%}.today-mind-pulse-head{width:min(100%,720px)}.today-mind-pulse>.today-mind-pulse-grid:not(.today-mind-pulse-running-grid){width:min(100%,calc(66.6667% - 2.6667px))}.today-mind-pulse-running-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.today-running-calendar-collapse{display:none;padding:0}.today-running-calendar-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;cursor:pointer;list-style:none}.today-running-calendar-summary::-webkit-details-marker{display:none}.today-running-calendar-summary>div,.today-running-calendar-summary>span{display:inline-flex;align-items:center;gap:6px}.today-running-calendar-summary strong{color:#24231f;font-size:14px}.today-running-calendar-summary svg{color:#3f7d58}.today-running-calendar-summary>span{color:#8a8579;font-size:11px}.today-running-calendar-chevron{transition:transform .16s ease}.today-running-calendar-collapse[open] .today-running-calendar-chevron{transform:rotate(180deg)}.today-running-calendar-collapse-body{padding:0 12px 12px}.today-running-subhead{margin-bottom:10px}.today-running-subhead strong{color:#24231f;font-size:14px}.today-running-subhead svg{color:#3f7d58}.today-running-calendar-weekdays,.today-running-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.today-running-calendar-weekdays span{color:#a8a396;font-size:10px;text-align:center}.today-running-calendar-grid{margin-top:6px}.today-running-calendar-day,.today-running-calendar-grid .blank{aspect-ratio:1;min-height:34px}.today-running-calendar-day{display:grid;align-content:center;justify-items:center;border:1px solid #ebe5d9;border-radius:7px;background:#fbf7ee;color:#8a8579;font-size:11px}.today-running-calendar-day.active{border-color:#cbdccf;background:#e9f1e8;color:#3f7d58}.today-running-calendar-day.long{border-color:#3f7d58;background:#3f7d58;color:#fff}.today-running-calendar-day.today{box-shadow:0 0 0 2px #b75f362e}.today-running-calendar-day.future{opacity:.45}.today-running-calendar-day strong{font-size:11px;line-height:1}.today-running-calendar-day small{margin-top:3px;font-size:9px;line-height:1;white-space:nowrap}.today-month-dot-table{box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto;padding:12px 14px;border:1px solid #eee7d8;border-radius:8px;background:#fffdf8}.today-month-dot-row{display:grid;grid-template-columns:50px minmax(560px,1fr);align-items:center;gap:10px;min-width:620px}.today-month-dot-row+.today-month-dot-row{margin-top:8px}.today-month-dot-row>span{position:sticky;left:0;z-index:2;box-sizing:border-box;min-width:50px;padding-right:6px;color:#6d6a63;font-size:12px;font-weight:700;background:#fffdf8}.today-month-dot-row>span:before{content:"";position:absolute;top:0;right:100%;bottom:0;width:12px;background:#fffdf8;pointer-events:none}.today-month-dot-row>div{display:grid;grid-template-columns:repeat(var(--month-days, 31),minmax(10px,1fr));gap:5px}.today-month-dot-header i{display:flex;align-items:center;justify-content:center;min-height:14px;color:#a8a396;font-size:9px;font-style:normal}.today-month-dot-header i.today{border-radius:999px;background:#e9f1e8;color:#3f7d58;font-weight:700}.today-month-dot-row:not(.today-month-dot-header) i{display:block;width:8px;height:8px;justify-self:center;box-sizing:border-box;border-radius:999px;border:1px solid #d7d2c8;background:transparent}.today-month-dot-row:not(.today-month-dot-header) i.completed{border-color:#3f7d58;background:#3f7d58}.today-month-dot-row:not(.today-month-dot-header) i.today{box-shadow:0 0 0 3px #b75f3624}.today-month-dot-row:not(.today-month-dot-header) i.future{opacity:.18}.habit-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.trend-overview-toolbar{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}.trend-overview-tabs{flex:0 0 auto}.trend-overview-controls{display:flex;align-items:center;gap:8px}.trend-month-picker,.trend-year-picker,.monthly-memory-month{font-family:inherit;font-size:12px;padding:4px 8px;border:1px solid #d9d2c0;border-radius:6px;background:#fff;color:#4a4538;outline:none;height:30px;box-sizing:border-box}.trend-month-picker:focus,.trend-year-picker:focus,.monthly-memory-month:focus{border-color:#b75f36;box-shadow:0 0 0 2px #b75f361f}.trend-overview-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:14px;padding:16px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;min-width:0}.trend-overview-hero.tone-good{border-color:#cbdccf;background:linear-gradient(180deg,#f4faf2,#fffaf0)}.trend-overview-hero.tone-caution{border-color:#ead5a8;background:linear-gradient(180deg,#fff8e8,#fffaf0)}.trend-overview-hero.tone-warning{border-color:#e4c1b4;background:linear-gradient(180deg,#fff1ec,#fffaf0)}.trend-overview-hero-copy{display:grid;gap:7px;min-width:0}.trend-overview-hero-copy>span,.trend-insight-title{display:flex;align-items:center;gap:7px;color:#6d6a63;font-size:12px;font-weight:800}.trend-overview-hero-copy h3{margin:0;color:#191919;font-size:22px;line-height:1.22;letter-spacing:0}.trend-overview-hero-copy p{margin:0;max-width:760px;color:#5f5a51;font-size:13px;line-height:1.55}.trend-overview-coverage{align-content:start;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:360px}.trend-overview-coverage span{min-height:26px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0c7;color:#6d6a63;font-size:12px;font-weight:700;line-height:1.35;white-space:nowrap}.trend-domain-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.trend-domain-card{min-width:0;display:grid;gap:12px;align-content:start;border:1px solid #ded8ca;border-top-width:3px;border-radius:8px;background:#fffaf0;padding:14px}.trend-domain-card.tone-good{border-top-color:#3f7d58}.trend-domain-card.tone-neutral{border-top-color:#7c8ea3}.trend-domain-card.tone-caution{border-top-color:#d99a2b}.trend-domain-card.tone-warning{border-top-color:#b75f36}.trend-domain-card.tone-muted{border-top-color:#c7c2b8}.trend-domain-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.trend-domain-head>div{display:inline-flex;align-items:center;gap:7px;min-width:0}.trend-domain-head strong{color:#191919;font-size:14px}.trend-domain-head span{min-height:24px;flex:0 0 auto;display:inline-flex;align-items:center;padding:0 8px;border-radius:7px;background:#eff3f6;color:#5d6d7d;font-size:11px;font-weight:800}.trend-domain-card.tone-good .trend-domain-head span{background:#eef6eb;color:#3f7d58}.trend-domain-card.tone-neutral .trend-domain-head span{background:#eff3f6;color:#5d6d7d}.trend-domain-card.tone-caution .trend-domain-head span{background:#fff5dc;color:#8a641f}.trend-domain-card.tone-warning .trend-domain-head span{background:#fff0e7;color:#b75f36}.trend-domain-card.tone-muted .trend-domain-head span{background:#f1eee7;color:#817c71}.trend-domain-card p{margin:0;color:#625f58;font-size:12px;line-height:1.5}.trend-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.trend-metric{min-width:0;min-height:82px;display:grid;align-content:start;gap:4px;padding:9px;border-radius:8px;background:#fbf4e8}.trend-metric span,.trend-metric small{min-width:0;color:#6d6a63;font-size:11px;line-height:1.35}.trend-metric small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trend-metric strong{color:#191919;font-size:17px;line-height:1.18;letter-spacing:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.trend-domain-card.domain-finance .trend-metric strong,.trend-domain-card.domain-learning .trend-metric.metric-readingMinutes strong{font-size:15px;white-space:nowrap;overflow-wrap:normal;word-break:normal}.trend-domain-card.domain-finance .trend-metric small{font-size:10.5px}.trend-insight-list{display:grid;gap:10px;margin-top:0;padding:13px 14px;border:1px solid #e4ddd0;border-radius:8px;background:#fbf4e8}.trend-insight-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.trend-insight-title strong{color:#191919;font-size:13px}.trend-insight-method{flex:0 0 auto;color:#8f887a;font-size:11px;font-weight:700;white-space:nowrap}.trend-insight-items{display:grid;gap:8px;margin:0;padding:0;list-style:none}.trend-insight-item{min-width:0;display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid #e5ded0;border-left:3px solid #8d887d;border-radius:8px;background:#fffaf0b8;color:#4d4940;font-size:13px;line-height:1.5}.trend-insight-item.tone-good{border-left-color:#3f7d58;background:#f5faf2}.trend-insight-item.tone-caution{border-left-color:#d99a2b;background:#fff8e8}.trend-insight-item.tone-warning{border-left-color:#b75f36;background:#fff2ec}.trend-insight-item.tone-muted{border-left-color:#c7c2b8;background:#f8f5ee}.trend-insight-domain{flex:0 0 auto;min-width:58px;display:inline-flex;align-items:center;gap:5px;color:#6d6a63;font-size:12px;font-weight:800;line-height:1.45}.trend-insight-item.tone-good .trend-insight-domain{color:#3f7d58}.trend-insight-item.tone-caution .trend-insight-domain{color:#8a641f}.trend-insight-item.tone-warning .trend-insight-domain{color:#b75f36}.trend-insight-item.tone-muted .trend-insight-domain{color:#817c71}.trend-insight-item p{min-width:0;margin:0;color:#4d4940}.status-period-insights{padding:0}.status-period-insights-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.status-period-insights-head>div{display:flex;align-items:center;gap:6px;min-width:0}.status-period-insights-head strong{color:#2f3838;font-size:15px;line-height:1.35}.status-period-insights-head>span{flex:0 0 auto;color:#8a857a;font-size:12px;font-weight:700}.status-period-insights-icon{display:inline-flex;color:#b75f36}.status-period-insights .trend-domain-grid{margin-top:12px}.trend-domain-summary{min-height:36px}.status-period-method{margin:10px 0 0!important;color:#a09a8f;font-size:10.5px;line-height:1.45}.trend-ai-card{display:grid;gap:11px;margin-top:14px;padding:14px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0}.trend-ai-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.trend-ai-head>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}.trend-ai-head strong{color:#191919;font-size:13px}.trend-ai-head span{color:#8a8579;font-size:12px;font-weight:700}.trend-ai-button{flex:0 0 auto;height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid #191919;border-radius:8px;background:#191919;color:#fffaf0;font-size:12px;font-weight:800;cursor:pointer}.trend-ai-button:disabled{cursor:wait;opacity:.6}.trend-ai-error{margin:0;color:#b75f36;font-size:13px;line-height:1.55}.trend-ai-pending,.trend-ai-empty{margin:0;color:#777168;font-size:13px;line-height:1.55}.trend-ai-body{display:grid;gap:9px}.trend-ai-body h3{margin:0;color:#191919;font-size:17px;line-height:1.25}.trend-ai-body p,.trend-ai-body small{margin:0;color:#5f5a51;font-size:13px;line-height:1.55}.trend-ai-body .trend-ai-meta{color:#8a8579;font-size:12px;font-weight:700}.trend-ai-body .trend-ai-meta.is-stale{color:#9a6a1f}.trend-ai-body ul{display:grid;gap:6px;margin:0;padding-left:18px;color:#3a3935;font-size:13px;line-height:1.5}.trend-ai-followups{display:flex;flex-wrap:wrap;gap:6px}.trend-ai-followups span{min-height:24px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid #e2dccf;border-radius:8px;background:#fbf4e8;color:#6d6a63;font-size:12px;font-weight:700;line-height:1.35}.pill-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:10px;background:#eee7d8}.pill-tab{height:30px;padding:0 16px;border:0;border-radius:8px;background:transparent;color:#6d6a63;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.pill-tab:hover{color:#191919}.pill-tab.active{background:#fffaf0;color:#191919;font-weight:600;box-shadow:0 1px 2px #0000000f;outline:2px solid #3f7d58;outline-offset:-2px}.pill-tab:focus-visible{outline:2px solid #3f7d58;outline-offset:-2px}.mood-heatmap-tabs{margin-bottom:10px;display:flex;align-items:center;flex-wrap:wrap}.mood-heatmap-year-filter{position:relative;display:inline-flex;align-items:center;font-size:13px}.mood-heatmap-year-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:5px;min-width:88px;height:30px;border:1px solid #e5dfd3;border-radius:8px;padding:0 10px;background:#fff8eb;color:#625f58;font:inherit;font-weight:700;cursor:pointer}.mood-heatmap-year-trigger svg{flex:0 0 auto;color:#8a8579;transition:transform .15s ease}.mood-heatmap-year-trigger.open{border-color:#c8baa2;background:#f1eadf}.mood-heatmap-year-trigger.open svg{transform:rotate(180deg)}.mood-heatmap-year-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:45;display:grid;gap:4px;width:-moz-max-content;width:max-content;min-width:118px;max-height:240px;overflow-y:auto;padding:6px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf2;box-shadow:0 14px 32px #24211c24}.mood-heatmap-year-menu button{min-height:30px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#4d4940;font:inherit;font-size:12px;font-weight:800;text-align:left;white-space:nowrap;cursor:pointer}.mood-heatmap-year-menu button:hover,.mood-heatmap-year-menu button:focus-visible,.mood-heatmap-year-menu button.active{background:#f1eadf;outline:none}.mood-heatmap-loading{display:flex;align-items:center;justify-content:center;min-height:118px;border:1px dashed #e5dfd3;border-radius:8px;background:#fffaf0;color:#8a8579;font-size:13px;font-weight:700}.habit-recent-table{margin-top:0}.habit-recent-table table{font-size:13px}.habit-date-cell{white-space:nowrap;font-weight:600;color:#191919;min-width:52px}.habit-val-cell{text-align:center;white-space:nowrap}.mood-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;border:1px solid rgba(66,62,52,.08);color:#2f2c26;font-size:12px;font-weight:700;vertical-align:middle}.mood-null{color:#c0bdb0}.factor-tags{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.factor-tag{display:inline-block;padding:1px 7px;border-radius:4px;background:#eee7d8;color:#6d6a63;font-size:11px;white-space:nowrap}.heatmap-scroll{overflow-x:auto;max-width:100%;min-width:0;padding:6px 0 5px}.heatmap-grid{display:flex;gap:3px;align-items:end}.heatmap-col{display:flex;flex-direction:column;gap:2px}.heatmap-cell{width:14px;height:14px;display:block;padding:0;border:0;border-radius:2px;cursor:pointer;transition:outline .1s}.heatmap-cell:focus-visible{outline:2px solid #191919;outline-offset:2px;z-index:4;position:relative}.heatmap-cell:hover{outline:2px solid #191919;outline-offset:1px;z-index:1;position:relative}.heatmap-cell.today{outline:2px solid #46533f;outline-offset:2px;box-shadow:0 0 0 1px #fffaf0,0 0 0 4px #46533f2e;z-index:2;position:relative}.heatmap-cell.today.today-empty{background:#f7e6bd!important;border:1px solid rgba(70,83,63,.32);border-radius:3px}.heatmap-cell.selected{outline:2px solid #b75f36;outline-offset:1px;z-index:1;position:relative}.heatmap-cell.today.selected{outline:2px solid #b75f36;outline-offset:2px;box-shadow:0 0 0 2px #fffaf0,0 0 0 5px #b75f363d;z-index:3;transform:scale(1.08)}.heatmap-cell.out-of-range{cursor:default}.heatmap-cell.out-of-range:hover{outline:none}.day-detail-card{min-width:0;padding:16px;margin-bottom:14px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0}.day-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.day-detail-header h3{margin:0;font-size:16px}.day-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:10px}.day-detail-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:#f7f3ea}.day-detail-item span{color:#6d6a63;font-size:12px}.day-detail-item strong{font-size:13px}.day-detail-label{font-size:12px;color:#a8a396;margin-right:8px}.day-detail-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.day-detail-note-text{font-size:13px;color:#6d6a63;line-height:1.5}.mood-heatmap-empty-detail{color:#8a8579;font-size:13px;line-height:1.5}@media(max-width:680px){:root{--mobile-bottom-nav-height: 68px;--mobile-bottom-nav-gap: 10px;--mobile-bottom-content-gap: 8px}body{min-height:100dvh;overflow-x:hidden;overscroll-behavior-y:none}.app-shell{min-height:100dvh}.sidebar{position:sticky;top:0;z-index:45;height:calc(44px + env(safe-area-inset-top,0px));min-height:calc(44px + env(safe-area-inset-top,0px));padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px;border-right:0;border-bottom:1px solid rgba(222,216,202,.82);background:#f7f3eaf7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;justify-content:center;gap:0;overflow:hidden}.brand{width:100%;gap:8px;padding:0;min-width:0}.brand-mark{width:28px;height:28px;border-radius:7px}.brand-mark svg{width:16px;height:16px}.brand strong{font-size:16px;line-height:1}.brand .mobile-brand-title{display:block;margin-left:auto;max-width:52%;overflow:hidden;color:#7c756b;font-size:13px;font-weight:700;line-height:1;text-align:right;text-overflow:ellipsis;white-space:nowrap}.ios-pwa-refresh{width:30px;height:30px;display:inline-grid;flex:0 0 30px;place-items:center;border:1px solid #ded8ca;border-radius:8px;color:#6d6a63;background:#fffaf0;cursor:pointer}.ios-pwa-refresh:hover,.ios-pwa-refresh:focus-visible{border-color:#bda48f;color:#9a5432;background:#f7eee3}.ios-pwa-refresh:focus-visible{outline:2px solid rgba(167,107,73,.35);outline-offset:2px}.ios-pwa-refresh:disabled{cursor:wait;opacity:.65}.ios-pwa-refresh.is-refreshing svg{animation:spin .7s linear infinite}.sidebar-nav{display:none}.mobile-bottom-nav{position:fixed;left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));bottom:calc(var(--mobile-bottom-nav-gap) + env(safe-area-inset-bottom,0px));z-index:50;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;min-height:var(--mobile-bottom-nav-height);padding:7px;border:1px solid rgba(222,216,202,.9);border-radius:14px;background:#fbf8eff5;box-shadow:0 14px 34px #3a312329;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-bottom-nav button{min-width:0;height:52px;border:0;border-radius:10px;background:transparent;color:#6d6a63;display:grid;place-items:center;gap:2px;padding:5px 2px;font-size:11px;line-height:1.15;cursor:pointer}.mobile-bottom-nav button.active{background:#191919;color:#f7f3ea;font-weight:700}.mobile-bottom-nav button svg{display:block}.mobile-section-nav{display:flex;gap:8px;max-width:100%;margin:-6px 0 14px;padding-bottom:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mobile-section-nav::-webkit-scrollbar{display:none}.mobile-section-nav button{flex:0 0 auto;height:34px;border:1px solid #e2dccf;border-radius:999px;background:#fbf8ef;color:#6d6a63;display:inline-flex;align-items:center;gap:6px;padding:0 11px;font-size:12px;cursor:pointer}.mobile-section-nav button.active{border-color:#d8b08d;background:#fff5eb;color:#9a4e2c;font-weight:700}.mobile-account-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 11px;border:1px solid #e2dccf;border-radius:10px;background:#fbf8ef;color:#6d6a63;font-size:12px}.mobile-account-actions button{border:0;border-radius:999px;background:#eee7d8;color:#3a3935;padding:6px 10px;font-size:12px;cursor:pointer}.pill-tabs{display:flex;max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pill-tabs::-webkit-scrollbar{display:none}.pill-tab{flex:0 0 auto}.nav-sub button{color:#7c756b}.nav-sub button.active{min-width:92px;color:#b75f36}main{min-height:0;padding:12px max(12px,env(safe-area-inset-right,0px)) calc(var(--mobile-bottom-nav-height) + var(--mobile-bottom-nav-gap) + var(--mobile-bottom-content-gap) + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.topbar{display:none}.section-head{display:block}.maintenance-section-actions{margin-top:10px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.maintenance-section-actions .btn-add-expense{flex:0 0 auto;padding:0 12px}.mobile-appbar-title-source>.section-head:not(.section-collapsible-head){display:none}.section p{margin-top:6px}.stat-grid,.chart-grid.one,.chart-grid.two,.rank-grid,.detail-filter-grid,.attribution-grid{grid-template-columns:1fr}.invest-stat-grid,.invest-return-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invest-return-stat-grid .stat-card:last-child{grid-column:1 / -1}.expense-overview-grid .stat-card:last-child{grid-column:1 / -1}.stat-card{min-height:108px}.asset-overview-toolbar{justify-content:flex-start}.asset-kpi-primary strong{font-size:34px}.asset-month-picker{margin-top:0}.asset-kpi-grid,.asset-flow-row{grid-template-columns:1fr}.net-worth-hero{grid-template-columns:1fr;gap:0;padding:14px 0}.net-worth-hero-amount{font-size:32px}.net-worth-hero-divider{width:calc(100% - 32px);height:1px;border-left:none;border-top:1px solid #e4ddd0;margin:0 auto}.net-worth-hero-stat strong{font-size:22px}.chart-inner{height:280px}.income-year-chart-grid .chart-inner{height:340px}.income-note-cell{max-width:260px}.habit-sync-bar{flex-direction:column;align-items:stretch}.habit-sync-btn{justify-content:center}.habit-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-overview-toolbar{align-items:flex-start;justify-content:flex-start}.trend-overview-toolbar,.trend-overview-tabs,.trend-overview-controls{width:100%}.trend-overview-controls{flex-wrap:wrap;gap:6px}.trend-month-picker,.trend-year-picker{max-width:100%;flex:0 1 auto;min-width:0}.trend-overview-tabs{flex:0 1 auto;overflow-x:auto;flex-wrap:nowrap}.trend-overview-tabs .pill-tab{flex-shrink:0;white-space:nowrap;padding:4px 12px;font-size:12px}.trend-overview-tabs{justify-content:space-between}.trend-overview-tabs .pill-tab{flex:1 1 0;padding:0 10px}.trend-overview-section .section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.trend-overview-section .section-subtitle,.trend-overview-section .trend-overview-toolbar,.trend-overview-section .trend-overview-controls{display:contents}.trend-overview-section .trend-month-picker,.trend-overview-section .trend-year-picker{grid-column:2;grid-row:1;justify-self:end;width:auto}.trend-overview-section .trend-overview-tabs{grid-column:1 / -1;grid-row:2;width:100%}.trend-overview-hero{grid-template-columns:minmax(0,1fr);padding:14px}.trend-overview-hero-copy h3{font-size:18px}.trend-overview-coverage{justify-content:flex-start;max-width:none}.trend-domain-grid{grid-template-columns:minmax(0,1fr)}.trend-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-metric{min-height:76px}.trend-ai-head{align-items:stretch;flex-direction:column}.trend-ai-button{width:100%}.today-hero,.today-toggle-grid,.today-stack{grid-template-columns:1fr}.today-page{gap:14px}.learning-page-header{margin-bottom:18px}.learning-page-header h1{font-size:22px}.learning-page-note{display:none}.today-learning-grid{grid-template-columns:1fr}.today-learning-section .section-head p{display:none}.today-learning-card{padding:12px}.today-word-main h3{font-size:22px}.today-page .section{margin-bottom:20px}.today-page .section-head{margin-bottom:10px;padding-bottom:8px}.today-page .section h2{padding-left:10px;font-size:15px}.today-insights{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.today-insight-card{min-height:66px;padding:10px;gap:3px}.today-insight-card strong{font-size:16px}.today-insight-card span{font-size:11px}.today-hero{flex-direction:row;align-items:center;flex-wrap:wrap}.today-editor-card{gap:10px;padding:10px}.today-editor-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.today-editor-date{gap:6px}.today-editor-date h3{font-size:16px}.today-editor-date>span:not(.today-editing-chip),.today-editing-chip,.today-adjust-btn{height:24px;padding:0 8px;font-size:11px}.today-editor-save{justify-content:flex-end;gap:6px;min-width:0}.today-editor-save .today-save-btn,.today-editor-action-btn{height:30px;min-width:0;padding:0 9px;font-size:12px}.today-editor-save .today-save-btn{min-width:72px;white-space:nowrap}.today-editor-action-btn{min-width:48px;white-space:nowrap}.today-editor-save .today-save-btn svg,.today-editor-action-btn svg{width:13px;height:13px}.today-editor-save .today-save-message{flex-basis:auto;align-self:center;justify-content:flex-end;min-height:14px;font-size:11px;line-height:1.2}.today-entry-grid{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:7px}.today-entry-grid .day-detail-item,.today-entry-grid .today-habit-pill,.today-entry-grid .today-compact-metric,.today-entry-grid .today-editor-mood,.today-entry-grid .today-other-toggle{min-width:0;min-height:38px;padding:6px 8px}.today-entry-grid .day-detail-item{gap:5px}.today-entry-grid .day-detail-item span{flex:0 0 auto;font-size:11px}.today-entry-grid .day-detail-item strong{min-width:0;font-size:12px;line-height:1.25}.today-entry-grid .today-compact-metric{gap:4px;font-size:12px}.today-entry-grid .today-compact-metric input{width:44px;height:28px;padding:0 4px;font-size:16px}.today-entry-grid .today-editor-mood{grid-column:1 / -1}.today-entry-grid .today-other-toggle{justify-self:stretch;width:100%;min-width:0}.today-editor-core{align-items:flex-start;gap:7px}.today-habit-pill{height:32px;padding:0 9px}.today-habit-pill strong{font-size:13px}.today-editor-mood{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.today-editor-mood .today-mood-grid{justify-content:space-between;gap:5px}.today-editor-mood .today-mood-grid button{width:30px;height:30px}.mood-heatmap-tabs{flex-wrap:wrap;gap:8px}.mood-heatmap-year-filter{font-size:12px}.mood-heatmap-year-trigger{min-width:84px;height:28px;padding:0 9px}.mood-heatmap-year-menu{right:0;min-width:108px;max-height:210px}.mood-heatmap-year-menu button{min-height:32px}.heatmap-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.heatmap-grid{width:-moz-max-content;width:max-content;min-width:100%}.heatmap-cell{width:13px;height:13px}.today-supplement-summary{gap:5px}.today-supplement-summary span{min-height:22px;padding:0 7px;font-size:11px}.today-other-toggle{gap:5px;font-size:12px}.today-other-toggle strong{font-size:11px}.today-other-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.today-other-panel .today-compact-metric{min-height:38px;padding:6px 8px}.today-other-panel .today-compact-metric input{font-size:16px}.today-inline-fields{grid-template-columns:1fr;gap:7px}.today-inline-fields .today-editor-mood{min-height:38px;padding:6px 8px}.today-factor-select,.today-note-compact{min-height:38px;padding:6px 8px;gap:7px}.today-factor-select span,.today-note-compact span{font-size:11px}.today-factor-select-trigger,.today-note-compact input{height:28px;font-size:16px}.today-factor-select-trigger{font-size:13px;font-weight:400}.today-factor-menu{left:8px;right:8px;width:auto;min-width:0;max-height:210px}.today-factor-menu button{min-height:32px}.today-selected-factors{gap:5px}.today-factor-chip{min-height:22px;padding:1px 7px;font-size:11px}.today-editor-card .day-health-events{grid-template-columns:1fr;gap:5px;margin-bottom:8px;padding:8px}.today-detail-line{padding:11px 0}.today-number-grid{gap:9px 14px}.today-mood-factor-row{grid-template-columns:1fr;align-items:start;gap:11px}.today-mood-block,.today-factor-block{align-items:flex-start}.today-factor-block{flex-direction:column;gap:8px}.today-note-save-row{grid-template-columns:1fr auto}.today-note-save-row .today-note{grid-column:1 / -1}.today-save-message{justify-self:start}.today-activity-strip{gap:4px}.today-running-advice{padding:14px}.today-running-advice h3{font-size:22px}.today-running-advice-top,.today-running-subhead{align-items:flex-start}.today-running-advice-top,.today-running-advice-title{flex-wrap:wrap}.today-running-detail-grid,.today-running-calendar-row{grid-template-columns:minmax(0,1fr)}.today-running-detail-grid{grid-template-areas:"charts" "calendar"}.today-running-overview-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;width:100%;height:auto;gap:8px}.today-running-chart-card{grid-template-rows:auto auto;padding:9px 10px 8px;border-color:#ded8ca;background:#fff}.today-running-chart-head strong{font-size:16px}.today-running-chart-head small{font-size:10px}.today-running-calendar-desktop{display:none}.today-running-calendar-collapse{display:block}.today-month-overview{padding:12px;border:1px solid #ded8ca;background:#fff}.today-mind-pulse{width:100%;margin-top:8px;padding:0}.today-mind-pulse-grid{grid-template-columns:minmax(0,1fr);gap:7px}.today-mind-pulse-subhead{margin-top:9px}.today-running-insights{grid-template-columns:minmax(0,1fr);grid-template-areas:"volume" "calendar";gap:10px}.today-mind-trend-card{padding:9px 9px 6px;background:#fff}.today-mind-trend-chart{height:112px}.today-mind-pulse .today-running-chart-card{height:160px;min-height:0}.today-running-calendar-row-only{grid-template-columns:minmax(0,1fr)}.today-running-chart-card svg{width:100%;height:64px;margin-top:2px}.today-mind-pulse .today-running-chart-card{grid-template-rows:auto minmax(0,1fr)}.today-mind-pulse .today-running-chart-card svg{height:112px}.today-running-calendar-day,.today-running-calendar-grid .blank{min-height:32px}.today-month-dot-table{border:0;margin-right:-2px;padding:9px;background:#fbf7ee}.today-month-dot-row{grid-template-columns:52px minmax(520px,1fr);min-width:580px}.today-month-dot-row>span{min-width:52px;background:#fbf7ee}.today-month-dot-row>span:before{background:#fbf7ee}.today-month-dot-row:not(.today-month-dot-header) i{width:10px;height:10px}.habit-recent-table{overflow-x:auto}.maintenance-hero-main,.import-preview-head,.import-controls,.import-confirm-row{flex-direction:column;align-items:stretch;text-align:left}.maintenance-hero-main p{text-align:left}.maintenance-task-grid,.maintenance-note-grid,.import-panel,.audit-grid,.event-grid,.mapping-grid,.reference-grid,.safety-grid,.data-safety-status-grid{grid-template-columns:1fr}.data-maintenance-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.data-maintenance-card,.data-maintenance-actions{align-items:stretch}.data-maintenance-card{flex-direction:column}.cloud-event-grid{grid-template-columns:1fr}.expense-mini-table{display:block;max-width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.backup-actions{margin-top:12px}.maintenance-view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-bottom:12px}.maintenance-view-switch button{min-width:0}.maintenance-hero{padding:10px;margin-bottom:14px}.maintenance-hero-bar{grid-template-columns:1fr;gap:8px}.maintenance-hero-title{grid-template-columns:minmax(0,1fr) auto;align-items:baseline}.maintenance-hero-title strong{font-size:18px}.maintenance-dual-month{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.maintenance-month-card{grid-template-columns:minmax(0,1fr) auto;gap:3px 6px;padding:7px 8px}.maintenance-month-card .maintenance-kicker,.maintenance-month-card strong{grid-column:1}.maintenance-month-stat,.maintenance-month-badge{grid-column:2}.maintenance-month-card strong{font-size:13px}.maintenance-month-badge{min-height:18px;padding:0 6px;font-size:10px}.maintenance-hero-main,.maintenance-progress{margin-top:8px}.maintenance-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-task{min-height:34px;padding:6px 8px}.maintenance-category{margin-bottom:22px;padding-top:12px}.maintenance-category-head{align-items:flex-start;flex-direction:column;gap:2px;margin-bottom:10px}.maintenance-category>.section{margin-bottom:18px}.section-head-actions{flex-wrap:wrap;gap:8px;margin-top:8px}.section-head-actions .btn-add-expense,.section-head-actions .btn-cancel,.section-head-actions .file-picker{height:32px;padding:0 11px;font-size:12px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card{min-height:42px;padding:8px 10px}.event-card span{font-size:12px}.event-card strong{font-size:16px}.event-form{padding:9px}.event-form .expense-form-row label{flex:1 1 calc(50% - 8px);min-width:0}.event-form .expense-form-row .watch-form-choice{flex:1 1 100%;min-width:0}.event-form .expense-form-row input,.event-form .expense-form-row select,.event-form .health-illness-custom{width:100%!important;min-width:0}.event-form .health-illness-label,.backup-action-group,.data-safety-section .cloud-backup-button{width:100%}.backup-last-time{width:100%;white-space:normal}}@media(max-width:360px){.today-running-advice-title{display:grid;gap:6px}.today-running-advice-title .today-running-advice-meta-inline{width:100%;flex-wrap:wrap;overflow:visible;row-gap:4px}.today-running-advice-meta-inline span{white-space:nowrap}}.map-wrap{border:1px solid #ded8ca;border-radius:10px;background:#fcfaf5;overflow:hidden;margin-bottom:14px;width:100%;height:360px}.map-wrap svg{width:100%;height:100%;display:block}.map-detail-panel{border:1px solid #ded8ca;border-radius:10px;background:#fffaf0;padding:16px 18px;margin-bottom:4px}.map-detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.map-detail-head h4{margin:0;font-size:15px}.map-detail-stat{display:flex;align-items:baseline;gap:10px}.map-detail-stat span{font-size:13px;color:#6d6a63}.map-detail-stat strong{font-size:22px;color:#3f7d58}.map-detail-hint{margin:10px 0 0;font-size:12px;color:#a8a396}.travel-row-active{background:#fef5ec!important}.travel-row-active td:first-child{color:#b75f36;font-weight:600}@media(max-width:680px){.map-wrap{height:280px}}.life-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.life-filter-row label{display:inline-flex;align-items:center;gap:6px;color:#6d6a63;font-size:13px}.life-filter-row select{height:32px;border:1px solid #ded8ca;border-radius:8px;padding:0 8px;background:#fffaf0;font:inherit}.credit-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.credit-preview-badge{display:inline-flex;align-items:center;min-height:24px;border:1px solid #d7c28d;border-radius:999px;padding:2px 9px;color:#805f16;background:#fff3cf;font-size:12px;font-weight:600}.credit-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.credit-hero-card{min-height:138px;border:1px solid #ded8ca;border-radius:8px;padding:16px;background:#fffaf0;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.credit-hero-head{display:flex;align-items:center;gap:7px;color:#6d6a63;font-size:13px}.credit-hero-card strong{color:#191919;font-size:27px;line-height:1.15;font-variant-numeric:tabular-nums}.credit-hero-card small{color:#6d6a63;font-size:12px;line-height:1.45}.credit-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.credit-action-card{border:1px solid #ded8ca;border-radius:8px;padding:13px 14px;background:#fffaf0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.credit-action-card svg{color:#3f7d58}.credit-action-card.warning svg{color:#d99a2b}.credit-action-card.danger svg{color:#b75f36}.credit-action-card div{display:grid;gap:3px;min-width:0}.credit-action-card strong,.credit-action-card b{color:#191919;font-size:14px;line-height:1.3}.credit-action-card span{color:#6d6a63;font-size:12px;line-height:1.35}.credit-action-card b{font-variant-numeric:tabular-nums;white-space:nowrap}.credit-tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.credit-tier-column{min-width:0}.credit-tier-head{min-height:36px;display:flex;align-items:center;gap:8px;margin-bottom:10px}.credit-tier-head strong{color:#191919;font-size:14px}.credit-tier-head span{margin-left:auto;color:#6d6a63;font-size:12px}.credit-requirement-list{display:grid;gap:10px}.credit-requirement-card{width:100%;border:1px solid #ded8ca;border-radius:8px;padding:14px;background:#fffaf0;color:inherit;font:inherit;text-align:left;cursor:pointer;display:grid;gap:10px}.credit-requirement-card:hover{border-color:#191919}.credit-requirement-card.ok{border-left:4px solid #3f7d58}.credit-requirement-card.warning{border-left:4px solid #d99a2b}.credit-requirement-card.danger{border-left:4px solid #b75f36}.credit-requirement-card.muted{border-left:4px solid #8d887d}.credit-requirement-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.credit-requirement-top div{display:grid;gap:3px;min-width:0}.credit-requirement-top strong{color:#191919;font-size:14px;line-height:1.25}.credit-requirement-top span,.credit-requirement-card small{color:#6d6a63;font-size:12px;line-height:1.4}.credit-requirement-top b{border-radius:999px;padding:3px 8px;background:#eee7d8;color:#3a3935;font-size:12px;white-space:nowrap}.credit-requirement-card p{margin:0;color:#3a3935;font-size:13px;line-height:1.5}.credit-progress,.credit-benefit-meter,.credit-bank-meter{height:6px;border-radius:999px;overflow:hidden;background:#eee7d8}.credit-progress i,.credit-benefit-meter i,.credit-bank-meter i{display:block;height:100%;border-radius:999px;background:#3f7d58}.credit-requirement-card.warning .credit-progress i{background:#d99a2b}.credit-requirement-card.danger .credit-progress i{background:#b75f36}.credit-bank-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px;align-items:start}.credit-bank-list,.credit-premium-stack{display:grid;gap:10px}.credit-bank-row{border:1px solid #ded8ca;border-radius:8px;padding:13px 14px;background:#fffaf0;display:grid;gap:10px}.credit-bank-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.credit-bank-row strong{color:#191919;font-size:14px}.credit-bank-row span{color:#6d6a63;font-size:12px;white-space:nowrap}.credit-bank-meter i{background:#2e728f}.credit-premium-pill{width:100%;border:1px solid #ded8ca;border-radius:8px;padding:11px 12px;background:#fffaf0;color:#3a3935;font:inherit;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;cursor:pointer}.credit-premium-pill:hover,.credit-premium-pill.active{border-color:#191919;background:#f7f1e7}.credit-premium-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.credit-premium-pill strong{color:#6d6a63;font-size:12px;white-space:nowrap}.credit-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.credit-benefit-card{border:1px solid #ded8ca;border-radius:8px;padding:14px;background:#fffaf0;display:grid;gap:9px;min-width:0}.credit-benefit-head{display:flex;align-items:center;gap:7px;color:#7a5c96;font-size:12px;font-weight:600}.credit-benefit-card-owner{color:#8d887d;font-size:11px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credit-benefit-card strong{color:#191919;font-size:15px;line-height:1.3}.credit-benefit-card small,.credit-benefit-card p{color:#6d6a63;font-size:12px;line-height:1.45}.credit-benefit-card p{margin:0}.credit-benefit-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.credit-benefit-meta span{display:inline-flex;align-items:center;gap:4px;color:#3a3935;font-size:12px;white-space:nowrap}.credit-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,.7fr)) minmax(320px,1.9fr);gap:10px}.credit-overview-card{min-height:82px;border:1px solid #ded8ca;border-radius:8px;padding:12px;background:#fffaf0;display:grid;align-content:center;gap:6px}.credit-overview-card span{color:#6d6a63;font-size:12px}.credit-overview-card strong{color:#191919;font-size:22px;line-height:1.1;letter-spacing:0}.credit-overview-card.danger{border-left:4px solid #b75f36;background:#fff7f2}.credit-overview-card.benefit{align-content:start}.credit-overview-benefits{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.credit-overview-benefits b{border-radius:999px;padding:4px 8px;background:#f4eddf;color:#3a3935;font-size:12px;font-weight:700;line-height:1.25;white-space:nowrap}.credit-card-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.credit-card-table{min-width:820px}.credit-card-table tbody tr{cursor:pointer}.credit-card-table tbody tr:hover,.credit-card-table tbody tr.selected{background:#f7f1e7}.credit-card-table td strong,.credit-card-table td small{display:block}.credit-card-table td strong{color:#191919;font-size:13px}.credit-card-table td small{margin-top:3px;color:#6d6a63;font-size:11px}.credit-card-table th,.credit-card-table td{padding:8px 12px;vertical-align:middle}.credit-card-table .credit-bank-card-label{gap:8px}.credit-card-table .credit-bank-logo{border-radius:7px;height:30px;width:30px}.credit-card-cell-stack{display:grid;gap:2px;min-width:0}.credit-bank-card-label{display:inline-flex;align-items:center;gap:9px;min-width:0;vertical-align:middle}.credit-bank-logo{width:22px;height:22px;border-radius:6px;display:inline-grid;place-items:center;flex:0 0 auto;background:#7a7669;color:#f7f3ea;font-size:11px;font-weight:700;line-height:1}.credit-bank-logo.cmb{background:#a08880}.credit-bank-logo.spdb{background:#7a8f99}.credit-bank-logo.cgb{background:#a0897a}.credit-bank-logo.citic{background:#8a8099}.credit-bank-logo.icbc{background:#998080}.credit-bank-logo.ccb{background:#7a8c99}.credit-bank-logo.abc{background:#7a8f80}.credit-bank-logo.bocom{background:#7a8499}.credit-bank-logo.boc{background:#998080}.credit-bank-card-text{display:grid;gap:2px;min-width:0}.credit-bank-card-text strong{display:block;color:#191919;font-size:13px;line-height:1.25}.credit-bank-card-text small{display:block;color:#6d6a63;font-size:12px;line-height:1.25}.credit-bank-card-label.subtle{gap:7px}.credit-bank-card-label.subtle .credit-bank-logo{width:18px;height:18px;border-radius:5px;font-size:10px}.credit-bank-card-label.subtle .credit-bank-card-text strong{font-size:12px}.credit-bank-card-label.subtle .credit-bank-card-text small{font-size:11px}.credit-bank-card-label.compact{gap:6px}.credit-bank-card-label.compact .credit-bank-card-text{gap:0}.credit-bank-card-label.compact .credit-bank-card-text strong{font-size:12px;line-height:1.25;white-space:nowrap}.credit-bank-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.credit-bank-name{color:#191919;font-size:13px;line-height:1.25;white-space:nowrap}.credit-benefit-type-label{display:inline-flex;align-items:center;gap:7px;color:#3a3935;font-weight:600}.credit-benefit-type-label.group{color:#191919;font-weight:700}.credit-benefit-type-icon{width:22px;height:22px;border-radius:7px;display:inline-grid;place-items:center;flex:0 0 auto;background:#eee7d8;color:#6d6a63}.credit-benefit-type-label.group .credit-benefit-type-icon{width:24px;height:24px}.credit-benefit-type-icon.travel{background:#e3eff3;color:#2f6f87}.credit-benefit-type-icon.lounge{background:#eee5d6;color:#805f16}.credit-benefit-type-icon.health{background:#e9f1e8;color:#3f7d58}.credit-benefit-type-icon.hotel{background:#ede7f2;color:#6f5b8c}.credit-status{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:2px 8px;background:#eee7d8;color:#3a3935;font-size:12px;white-space:nowrap}.credit-status.ok{color:#3f7d58;background:#e9f1e8}.credit-status.warning{color:#805f16;background:#fff3cf}.credit-status.danger{color:#a94735;background:#f7e5df}.credit-status.muted{color:#6d6a63;background:#eee7d8}.credit-detail-panel{border:1px solid #ded8ca;border-radius:8px;padding:14px;background:#fffaf0;display:grid;gap:12px}.credit-detail-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #eee7d8}.credit-detail-head div{display:grid;gap:4px}.credit-detail-head span,.credit-detail-panel dt{color:#6d6a63;font-size:11px}.credit-detail-head strong{color:#191919;font-size:15px;line-height:1.3}.credit-detail-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.credit-detail-panel dl div{display:grid;gap:3px}.credit-detail-panel dd{margin:0;color:#191919;font-size:13px;font-weight:600;line-height:1.35}.credit-detail-block{border-top:1px solid #eee7d8;padding-top:10px;display:grid;gap:6px}.credit-detail-block>div{display:flex;align-items:center;gap:6px;color:#3a3935}.credit-detail-block strong{font-size:13px}.credit-detail-block p,.credit-detail-block span,.credit-detail-note{margin:0;color:#6d6a63;font-size:12px;line-height:1.5}.credit-detail-note{border-top:1px solid #eee7d8;padding-top:10px}.credit-section-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.credit-section-toolbar>span{color:#6d6a63;font-size:12px}.credit-annual-toolbar{justify-content:flex-end}.credit-annual-toolbar .pill-tab{padding:0 12px}.credit-benefit-filters{display:flex;align-items:center;flex:1 1 420px;flex-wrap:wrap;gap:6px;min-width:0}.credit-benefit-filter{min-height:30px;border:1px solid #e5ddce;border-radius:999px;padding:5px 10px;background:#fffaf0;color:#3a3935;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.credit-benefit-filter:hover{border-color:#c8bba3;color:#191919}.credit-benefit-filter.active{border-color:#191919;background:#191919;color:#fffaf0}.credit-benefit-filter span{margin-left:4px;color:inherit;font-weight:500}.credit-benefit-chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}.credit-benefit-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;border:1px solid #e5ddce;border-radius:999px;padding:5px 12px;background:#fffaf0;color:#3a3935;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.credit-benefit-chip:hover{border-color:#c8bba3;color:#191919}.credit-benefit-chip.active{border-color:#191919;background:#191919;color:#fffaf0}.credit-benefit-chip b{font-weight:700;color:inherit}.credit-benefit-chip .credit-benefit-type-label{color:inherit;font-weight:inherit}.credit-benefit-chip .credit-benefit-type-icon{width:18px;height:18px;border-radius:5px}.credit-benefit-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid #eee7d8}.credit-benefit-card-foot small{color:#6d6a63;font-size:11px}.credit-benefit-remaining-text small{color:#6d6a63;font-size:11px;margin-left:2px}.credit-fee-alert-list{display:grid;gap:10px}.credit-fee-alert{border:1px solid #ded8ca;border-radius:8px;padding:13px 14px;background:#fffaf0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.credit-fee-alert.warning{border-left:4px solid #d99a2b}.credit-fee-alert.danger{border-left:4px solid #b75f36}.credit-fee-alert svg{color:#d99a2b}.credit-fee-alert.danger svg{color:#b75f36}.credit-fee-alert-main{display:grid;gap:5px;min-width:0}.credit-fee-alert-head{align-items:center;display:flex;gap:14px;min-width:0}.credit-fee-alert strong,.credit-fee-alert b{color:#191919;font-size:14px;line-height:1.3}.credit-fee-alert span{color:#6d6a63;font-size:12px;line-height:1.35}.credit-fee-alert-trigger{align-items:baseline;background:#f3eadb;border-radius:6px;color:#191919;display:inline-flex;flex-wrap:wrap;gap:8px;padding:6px 9px;white-space:nowrap}.credit-fee-alert-trigger strong{font-size:13px;font-variant-numeric:tabular-nums}.credit-fee-alert-trigger em{color:#8a4d2f;font-size:12px;font-style:normal;font-weight:700}.credit-fee-alert-status{align-items:center;color:#5f5b52;display:inline-flex;font-size:12px;font-weight:600;gap:8px;line-height:1.3;white-space:nowrap}.credit-fee-alert-status:before{background:#5f5b5247;content:"";display:inline-block;height:12px;width:1px}.credit-fee-alert.danger .credit-fee-alert-trigger{background:#fae4dc}.credit-fee-alert .credit-bank-logo{color:#fffaf0}.credit-fee-alert .credit-bank-card-text strong{font-size:14px}.credit-fee-alert .credit-bank-card-text small{font-size:12px}.credit-fee-alert-rule{color:#191919;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.credit-benefit-table,.credit-annual-table{min-width:0;table-layout:fixed;width:100%}.credit-annual-table th:nth-child(1),.credit-annual-table td:nth-child(1){width:12%}.credit-annual-table th:nth-child(2),.credit-annual-table td:nth-child(2){width:10%;max-width:100px}.credit-annual-table th:nth-child(3),.credit-annual-table td:nth-child(3){width:10%}.credit-annual-table th:nth-child(4),.credit-annual-table td:nth-child(4){width:auto}.credit-annual-table th:nth-child(5),.credit-annual-table td:nth-child(5){width:14%}.credit-annual-table th:nth-child(6),.credit-annual-table td:nth-child(6){width:10%}.credit-annual-table td:first-child{border-right:1px solid #eee7d8}.credit-benefit-table{table-layout:auto;width:100%;min-width:0}.credit-benefit-table.by-card th:nth-child(1),.credit-benefit-table.by-card td:nth-child(1){width:130px;max-width:130px}.credit-benefit-table.by-card th:nth-child(2),.credit-benefit-table.by-card td:nth-child(2){width:72px;white-space:nowrap}.credit-benefit-table.by-card th:nth-child(3),.credit-benefit-table.by-card td:nth-child(3){max-width:160px}.credit-benefit-table.by-card th:nth-child(4),.credit-benefit-table.by-card td:nth-child(4){width:56px}.credit-benefit-usage b{color:#191919;font-variant-numeric:tabular-nums}.credit-benefit-usage span{color:#6d6a63;font-size:12px}@media(max-width:760px){.credit-benefit-table.by-card th:nth-child(1),.credit-benefit-table.by-card td:nth-child(1){width:90px;max-width:90px}.credit-benefit-table.by-card th:nth-child(2),.credit-benefit-table.by-card td:nth-child(2){width:56px}}.credit-annual-table td{overflow:hidden;text-overflow:ellipsis}.credit-benefit-table.by-category,.credit-benefit-table.by-card{min-width:920px}.credit-fee-banner{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.credit-fee-empty{margin:0;color:#767167;font-size:13px}.credit-fee-banner-card{min-width:0;min-height:86px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #e3dccd;border-radius:8px;padding:14px;color:#24211c;background:#fffaf0;text-align:left;cursor:pointer}.credit-fee-banner-card:hover:not(:disabled){border-color:#cdbf9f;background:#fff7ea}.credit-fee-banner-card:disabled{cursor:default}.credit-fee-banner-card.danger{border-left:4px solid #b75f36}.credit-fee-banner-card.warning{border-left:4px solid #c9a84c}.credit-fee-banner-card.quiet{border-left:4px solid #cfdcc6}.credit-fee-banner-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#5f5b52;background:#f3eadb}.credit-fee-banner-card.danger .credit-fee-banner-icon{color:#9a5432;background:#fae4dc}.credit-fee-banner-card.warning .credit-fee-banner-icon{color:#8a641f;background:#fbf0d4}.credit-fee-banner-card.quiet .credit-fee-banner-icon{color:#4f7542;background:#edf4e8}.credit-fee-banner-copy{min-width:0;display:grid;gap:4px}.credit-fee-banner-copy small,.credit-fee-banner-copy em{min-width:0;overflow:hidden;color:#6d6a63;font-size:12px;font-style:normal;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.credit-fee-banner-copy strong{min-width:0;overflow:hidden;color:#191919;font-size:15px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.credit-fee-banner-action{color:#8a8376}.credit-fee-banner-row{display:flex;align-items:center;gap:10px;padding:7px 14px;border-radius:6px;background:#fdfaf3;border:1px solid #e8e2d2;font-size:13px;flex:1;min-width:280px}.credit-fee-banner-row.warning{border-left:3px solid #c9a84c}.credit-fee-banner-row.danger{border-left:3px solid #c2856a}.credit-fee-banner-row svg{flex-shrink:0;opacity:.7}.credit-fee-banner-row.warning svg{color:#c9a84c}.credit-fee-banner-row.danger svg{color:#c2856a}.credit-fee-banner-date{color:#7a7669;font-size:12px}.credit-fee-banner-progress{color:#7a7669;font-size:12px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credit-fee-banner-row>b{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#4d4940}.credit-benefit-card-filter{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#6d6a63}.credit-benefit-card-filter select{height:34px;min-width:200px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;color:#191919;background:#fffaf0;font:inherit}.credit-benefit-card-cell{display:inline-flex;align-items:center;gap:8px;max-width:100%}.credit-benefit-card-cell .credit-benefit-type-label{flex-shrink:0}.credit-maintenance-form-group{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:0}.credit-maintenance-form-group label{display:grid;gap:3px;color:#6d6a63;font-size:12px}.credit-maintenance-form-group label.wide,.credit-maintenance-form-group label.full{grid-column:1 / -1}.credit-maintenance-form-group input,.credit-maintenance-form-group select{height:34px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;color:#191919;background:#fffaf0;font:inherit;font-size:13px}.invest-distribution-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:14px;align-items:stretch}.invest-detail-inline{min-width:0;display:flex;flex-direction:column;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:16px}.invest-detail-inline .filter-chip{margin-bottom:8px}.invest-year-label{display:inline-flex;align-items:center;gap:6px;color:#6d6a63;font-size:13px;margin-left:8px;margin-bottom:8px}.invest-year-label select{height:32px;border:1px solid #ded8ca;border-radius:8px;padding:0 8px;color:#191919;background:#fffaf0;font:inherit}.invest-detail-compact{width:100%;min-width:100%!important;table-layout:fixed}.invest-detail-compact th,.invest-detail-compact td{min-width:0!important;max-width:none!important;overflow:hidden;text-overflow:ellipsis;padding:8px 10px;font-size:13px}.invest-detail-compact th:nth-child(1),.invest-detail-compact td:nth-child(1){width:18%}.invest-detail-compact th:nth-child(2),.invest-detail-compact td:nth-child(2){width:16%}.invest-detail-compact th:nth-child(3),.invest-detail-compact td:nth-child(3){width:22%}.invest-detail-compact th:nth-child(4),.invest-detail-compact td:nth-child(4){width:16%}.invest-detail-compact th:nth-child(5),.invest-detail-compact td:nth-child(5){width:28%}.invest-detail-subtitle{font-weight:400;font-size:12px;color:#6d6a63;margin-left:8px}.invest-detail-inline-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.invest-detail-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.invest-detail-toolbar .invest-group-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.invest-select-label{display:inline-flex;align-items:center;gap:6px;color:#6d6a63;font-size:13px}.invest-select-label select{height:32px;border:1px solid #ded8ca;border-radius:8px;padding:0 8px;color:#191919;background:#fffaf0;font:inherit}.invest-contribution-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.invest-contribution-list{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.invest-contribution-row{display:flex;flex-direction:column;gap:8px;width:100%;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:10px 14px;cursor:pointer;text-align:left}.invest-contribution-row:hover{border-color:#d4a18a;background:#fbf4e8}.invest-contribution-row:last-child:nth-child(odd){grid-column:1 / -1}.invest-contribution-row.active{border-color:#b75f36;background:#fff0e7}.invest-contribution-head{display:flex;align-items:baseline;gap:12px}.invest-contribution-name{font-weight:600;font-size:13px;color:#191919}.invest-contribution-value{margin-left:auto;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.invest-contribution-value.is-positive{color:#c15f37}.invest-contribution-value.is-negative{color:#168b78}.invest-contribution-pct{color:#6d6a63;font-size:12px;min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.invest-contribution-bar{display:block;height:8px;border-radius:4px;background:#eee7d8;overflow:hidden}.invest-contribution-fill{display:block;height:100%;border-radius:4px;min-width:3px}.invest-contribution-fill.is-positive{background:#b75f36}.invest-contribution-fill.is-negative{background:#3f7d58}.invest-insight{margin-bottom:14px}.invest-insight-bar{display:flex;align-items:center;gap:10px;width:100%;border:1px solid #e4d7c2;border-radius:8px;background:#fdf6e9;padding:12px 14px;color:#191919;font:inherit;text-align:left;cursor:pointer;margin-bottom:0}.invest-insight-bar--open{border-radius:8px 8px 0 0}.invest-insight-bar:hover{border-color:#d4a18a;background:#fbf0e0}.invest-insight-icon{flex:0 0 auto;color:#d99a2b}.invest-insight-text{flex:1 1 auto;min-width:0;font-size:13px;line-height:1.6}.invest-insight-link{flex:0 0 auto;color:#b75f36;font-size:12px;font-weight:600;white-space:nowrap}.invest-insight-expanded{border:1px solid #e4d7c2;border-top:0;border-radius:0 0 8px 8px;background:#fffdf8;padding:2px 16px 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:24px;column-gap:24px}.invest-insight-expanded-head{grid-column:1 / -1;padding:10px 0 4px;border-bottom:1px solid #f0e9da;margin-bottom:4px}.invest-insight-expanded-head strong{color:#191919;font-size:14px}.invest-insight-block{padding:12px 0 10px;border-bottom:1px solid #f0e9da}.invest-insight-block:last-child{border-bottom:0}.invest-insight-block:last-of-type{grid-column:1 / -1}.invest-insight-block h4{margin:0 0 8px;padding-left:8px;border-left:3px solid #d4a18a;color:#191919;font-size:13px;font-weight:700;line-height:1.4}.invest-insight-rows{margin:0}.invest-insight-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:7px 0;border-bottom:1px solid #f5efe2}.invest-insight-row:last-child{border-bottom:0}.invest-insight-row dt{color:#6d6a63;font-size:13px}.invest-insight-row dd{margin:0;color:#191919;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.invest-insight-row dd.is-positive{color:#c15f37}.invest-insight-row dd.is-negative{color:#168b78}.invest-insight-callout{margin-top:2px;padding:10px 12px;border:1px solid #eee0cb;border-radius:8px;background:#fdf6e9}.invest-insight-callout p{margin:3px 0;color:#3a3935;font-size:13px;line-height:1.7}.invest-insight-note{grid-column:1 / -1;margin:10px 0 0;color:#8a8579;font-size:11px;line-height:1.6}.invest-top-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.invest-top-list h4{margin:0 0 8px;color:#191919;font-size:13px;font-weight:700}.invest-top-row{display:flex;align-items:baseline;gap:10px;width:100%;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:8px 12px;color:#191919;font:inherit;text-align:left;cursor:pointer;margin-bottom:6px}.invest-top-row:hover{border-color:#d4a18a;background:#fbf4e8}.invest-top-date{color:#6d6a63;font-size:12px;font-variant-numeric:tabular-nums}.invest-top-name{flex:1 1 auto;min-width:0;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invest-top-amount{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.invest-top-amount.is-positive{color:#c15f37}.invest-top-amount.is-negative{color:#168b78}.invest-detail-scroll{max-height:360px;overflow-y:auto}.invest-inline-pagination{margin-top:8px;font-size:12px}.invest-detail-inline h4{margin:0 0 8px;font-size:14px;font-weight:700;line-height:1.2}.invest-distribution-layout>.chart-box .chart-inner{height:360px}@media(max-width:1100px){.invest-distribution-layout{grid-template-columns:minmax(0,1fr)}.invest-distribution-layout>.chart-box .chart-inner{height:300px}}.credit-benefit-table th:first-child,.credit-benefit-table td:first-child,.credit-card-table th:first-child,.credit-card-table td:first-child,.subscription-table th:first-child,.subscription-table td:first-child,.purchase-table th:first-child,.purchase-table td:first-child,.travel-timeline-table th:first-child,.travel-timeline-table td:first-child,.watch-detail-table th:first-child,.watch-detail-table td:first-child{min-width:96px;max-width:136px}.expense-detail-table th:first-child,.expense-detail-table td:first-child,.asset-note-table th:first-child,.asset-note-table td:first-child,.income-detail-table th:first-child,.income-detail-table td:first-child,.invest-detail-table th:first-child,.invest-detail-table td:first-child,.health-detail-table th:first-child,.health-detail-table td:first-child{min-width:84px;max-width:132px;white-space:nowrap}.invest-detail-table th:nth-child(4),.invest-detail-table td:nth-child(4),.watch-detail-table th:first-child,.watch-detail-table td:first-child{max-width:152px;overflow:hidden;text-overflow:ellipsis}.credit-benefit-table th,.credit-benefit-table td,.credit-annual-table th,.credit-annual-table td,.credit-card-table th,.credit-card-table td{white-space:nowrap}.credit-benefit-table td:nth-child(9),.credit-annual-table td:nth-child(3),.credit-annual-table td:nth-child(4),.credit-annual-table td:nth-child(9){max-width:190px;overflow:hidden;text-overflow:ellipsis}.credit-benefit-table.by-card td.note-cell{max-width:none;white-space:normal}.credit-benefit-table td svg{vertical-align:-2px;margin-right:4px}.credit-group-row td{background:#f4eddf;color:#3a3935;font-weight:700;font-size:12px;letter-spacing:0}.credit-group-row .credit-benefit-type-label{font-size:12px}.credit-count-actions{display:inline-flex;align-items:center;gap:6px}.credit-count-actions button{width:28px;height:28px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;color:#3a3935;display:inline-grid;place-items:center;cursor:pointer}.credit-count-actions button:hover:not(:disabled){border-color:#191919}.credit-count-actions button:disabled{opacity:.45;cursor:not-allowed}.credit-card-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-bottom:12px}.credit-card-toolbar label{display:grid;gap:5px;color:#6d6a63;font-size:12px}.credit-card-toolbar input,.credit-card-toolbar select{height:36px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;color:#191919;background:#fffaf0;font:inherit;font-size:13px}.credit-search{flex:1 1 260px;position:relative}.credit-search svg{position:absolute;left:10px;bottom:10px;color:#8d887d}.credit-search input{width:100%;padding-left:32px}.credit-card-table .table-action{display:inline-flex;align-items:center;gap:4px}.credit-card-pagination{align-items:center;color:#6d6a63;display:flex;font-size:12px;justify-content:space-between;gap:10px;padding:10px 2px 0}.credit-card-pagination>div{display:inline-flex;gap:6px}.credit-card-pagination button{background:#fffaf0;border:1px solid #ded8ca;border-radius:8px;color:#3a3935;cursor:pointer;font:inherit;font-weight:700;min-height:30px;padding:0 10px}.credit-card-pagination button:disabled{color:#aaa195;cursor:not-allowed;opacity:.6}.credit-annual-row{cursor:pointer}.credit-annual-row td{padding-top:6px;padding-bottom:6px}.credit-annual-row.danger td:first-child{box-shadow:inset 3px 0 #b75f36}.credit-maintenance-panel{border:1px solid #ded8ca;border-radius:8px;padding:14px;background:#fffaf0;display:flex;flex-direction:column;gap:8px;min-height:0}.credit-maintenance-backdrop{background:#1919192e;border:0;cursor:default;top:0;right:0;bottom:0;left:0;padding:0;position:fixed;z-index:60}.credit-maintenance-drawer{background:#fffaf0;border-left:1px solid #ded8ca;box-shadow:-18px 0 42px #362d2029;height:100vh;max-width:calc(100vw - 24px);overflow:hidden;position:fixed;right:0;top:0;width:min(560px,42vw);z-index:61}.credit-maintenance-drawer .credit-maintenance-panel{border:0;border-radius:0;height:100%;min-height:0;padding:18px}.credit-maintenance-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.credit-maintenance-head .credit-bank-card-label{align-items:center}.credit-maintenance-head .credit-bank-logo{color:#f7f3ea;font-size:11px}.credit-maintenance-head-actions{display:inline-flex;align-items:center;gap:8px;color:#6d6a63;font-size:12px;white-space:nowrap;flex-shrink:0}.credit-maintenance-close{align-items:center;background:#f4eddf;border:1px solid #e4dccd;border-radius:8px;color:#3a3935;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.credit-maintenance-close:hover{background:#efe4d2}.credit-maintenance-tabs{justify-content:flex-start;width:-moz-fit-content;width:fit-content}.credit-maintenance-form{display:grid;gap:14px}.credit-maintenance-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:2px 2px 2px 0}.credit-maintenance-form-section{display:grid;gap:8px}.credit-maintenance-form-heading{margin:0;padding-bottom:6px;border-bottom:1px solid #eee7d8;color:#191919;font-size:13px;font-weight:700}.credit-maintenance-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.credit-maintenance-form label{display:grid;gap:4px;color:#6d6a63;font-size:12px}.credit-maintenance-form label.wide,.credit-maintenance-form label.full{grid-column:1 / -1}.credit-maintenance-form input,.credit-maintenance-form select{min-width:0;height:34px;border:1px solid #ded8ca;border-radius:8px;padding:0 9px;color:#191919;background:#faf7f0;font:inherit;font-size:13px}.credit-cycle-rollover{align-items:center;align-self:start;background:#f4eddf;border:1px solid #ded1bc;border-radius:8px;color:#6d5735;cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:700;gap:6px;min-height:32px;padding:0 10px;width:-moz-fit-content;width:fit-content}.credit-cycle-rollover:hover{border-color:#bca580}.credit-maintenance-message{color:#3f7d58;font-size:12px;font-weight:700;margin:2px 0 0}.credit-benefit-editor{display:grid;gap:10px}.credit-benefit-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.credit-benefit-editor-head>div{display:grid;gap:2px}.credit-benefit-editor-head strong{color:#191919;font-size:13px}.credit-benefit-editor-head span,.credit-benefit-empty span,.credit-benefit-remaining{color:#6d6a63;font-size:12px}.credit-benefit-edit-list{display:grid;gap:8px}.credit-benefit-compact-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(130px,.7fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid #eee7d8;border-radius:8px;background:#faf7f0}.credit-benefit-compact-main{display:flex;align-items:center;gap:9px;min-width:0}.credit-benefit-compact-main>div,.credit-benefit-compact-count{display:grid;gap:3px;min-width:0}.credit-benefit-compact-main strong{color:#191919;font-size:13px;line-height:1.25}.credit-benefit-compact-main span,.credit-benefit-compact-count span{color:#6d6a63;font-size:12px;line-height:1.3}.credit-benefit-compact-count b{color:#191919;font-size:15px;line-height:1.2}.credit-benefit-compact-actions,.credit-benefit-edit-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.credit-benefit-edit-row{display:grid;grid-template-columns:minmax(88px,.9fr) minmax(120px,1.2fr) 116px 118px 136px minmax(150px,1.3fr) auto auto;gap:8px;align-items:end;padding:9px;border:1px solid #eee7d8;border-radius:8px;background:#faf7f0}.credit-benefit-edit-row.editing{border-color:#d8c9ad;background:#fffdf7}.credit-benefit-edit-row label{display:grid;gap:5px;color:#6d6a63;font-size:12px;min-width:0}.credit-benefit-edit-row input,.credit-benefit-edit-row select{min-width:0;height:32px;border:1px solid #ded8ca;border-radius:8px;padding:0 8px;color:#191919;background:#fffaf0;font:inherit;font-size:13px}.credit-benefit-amount-field,.credit-benefit-used-control{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:6px}.credit-benefit-used-control{grid-template-columns:30px minmax(0,1fr) 30px}.credit-benefit-used-control button,.credit-benefit-delete,.credit-icon-action{width:32px;height:32px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;color:#3a3935;display:inline-grid;place-items:center;cursor:pointer}.credit-benefit-used-control button:hover:not(:disabled),.credit-benefit-delete:hover,.credit-icon-action:hover{border-color:#191919}.credit-benefit-used-control button:disabled{opacity:.45;cursor:not-allowed}.credit-benefit-remaining{align-self:center;white-space:nowrap}.credit-benefit-delete{align-self:end;color:#8c3f3a}.credit-icon-action{width:auto;min-width:32px;padding:0 9px}.credit-benefit-empty{border:1px dashed #ded8ca;border-radius:8px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#faf7f0}.credit-maintenance-panel .btn-save{width:100%;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.credit-maintenance-action-bar{flex:0 0 auto;margin:0 -18px -18px;padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));background:#fffaf0f5;border-top:1px solid #ded8ca;box-shadow:0 -8px 20px #362d2014;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.credit-maintenance-panel .btn-save:disabled{cursor:not-allowed;opacity:.58}@media(max-width:1100px){.credit-hero-grid,.credit-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.credit-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.credit-overview-card.benefit{grid-column:1 / -1}.credit-card-layout,.credit-bank-grid{grid-template-columns:minmax(0,1fr)}.credit-benefit-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.credit-benefit-compact-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.credit-benefit-compact-actions,.credit-benefit-edit-actions{justify-content:flex-start}.credit-benefit-delete{justify-self:end}}@media(max-width:760px){.credit-hero-grid,.credit-action-grid,.credit-tier-grid,.credit-benefit-grid{grid-template-columns:minmax(0,1fr)}.credit-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.credit-overview-card{min-height:70px;padding:10px}.credit-benefit-chips{gap:6px}.credit-benefit-chip{font-size:11px;padding:4px 10px;min-height:28px}.credit-overview-card strong{font-size:18px}.credit-overview-card.benefit{grid-column:1 / -1}.credit-section-toolbar{align-items:stretch;flex-direction:column}.credit-benefit-filters{flex:0 0 auto;width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.credit-benefit-filters::-webkit-scrollbar{display:none}.credit-action-card{grid-template-columns:auto minmax(0,1fr)}.credit-action-card b{grid-column:2}.credit-bank-row>div:first-child,.credit-benefit-meta{align-items:flex-start;flex-direction:column}.credit-bank-row span,.credit-benefit-meta span{white-space:normal}.credit-detail-panel dl{grid-template-columns:minmax(0,1fr)}.credit-benefit-table-wrap{display:none}.credit-benefit-mobile-list{display:grid;gap:10px}.credit-benefit-mobile-title,.credit-benefit-mobile-meta{align-items:flex-start;flex-direction:column}.credit-maintenance-drawer{max-width:100vw;width:100vw;height:100vh;height:100dvh}.credit-maintenance-drawer .credit-maintenance-panel{padding-top:calc(18px + env(safe-area-inset-top,0px))}.credit-fee-alert{grid-template-columns:auto minmax(0,1fr)}.credit-fee-alert-head{align-items:flex-start;flex-direction:column;gap:8px}.credit-fee-alert-rule{grid-column:2;text-align:left}.credit-maintenance-head,.credit-benefit-editor-head,.credit-benefit-empty{align-items:stretch;flex-direction:column}.credit-maintenance-summary{justify-content:space-between;white-space:normal}.credit-maintenance-form-row{grid-template-columns:minmax(0,1fr)}.credit-maintenance-form label.wide,.credit-maintenance-form label.full{grid-column:1 / -1}.credit-benefit-edit-row,.credit-benefit-compact-row{grid-template-columns:minmax(0,1fr)}.credit-benefit-remaining{align-self:start}.credit-benefit-delete,.credit-icon-action{width:100%}}.purchase-scope-tabs{margin:0 0 14px}.purchase-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.purchase-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.purchase-toolbar label{display:inline-flex;align-items:center;gap:6px;color:#6d6a63;font-size:12px;white-space:nowrap}.purchase-toolbar input,.purchase-toolbar select{height:32px;border:1px solid #ded8ca;border-radius:8px;padding:0 8px;color:#191919;background:#fffaf0;font:inherit;font-size:12px}.purchase-search{flex:0 1 200px}.purchase-search input{width:150px}.purchase-toolbar select{width:92px}.purchase-toolbar .filter-chip{height:32px}.purchase-table{width:100%;min-width:930px}.purchase-table th,.purchase-table td{white-space:nowrap}.purchase-table th:first-child,.purchase-table td:first-child{min-width:168px;max-width:260px}.purchase-table th button{margin:-10px -12px;padding:10px 12px;border:0;color:inherit;background:transparent;font:inherit;font-weight:inherit;cursor:pointer;white-space:nowrap}.purchase-table th button:hover,.purchase-table th button.active{color:#b75f36}.purchase-table td small{display:block;margin-top:3px;color:#6d6a63;font-size:11px}.purchase-item-name{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:600;white-space:nowrap}.purchase-search-mark{border-radius:3px;padding:0 2px;color:inherit;background:#f3dca8}.purchase-status{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:2px 8px;color:#3f7d58;background:#e9f1e8;font-size:12px;white-space:nowrap}.purchase-status.disposed{color:#6d6a63;background:#eee7d8}.purchase-structure-strip,.purchase-structure-group,.purchase-structure-items{display:flex;align-items:center}.purchase-structure-strip{flex-wrap:wrap;gap:8px 20px;margin:14px 0 12px;padding:10px 0 0}.purchase-structure-group{min-width:0;gap:9px}.purchase-structure-label{flex:0 0 auto;color:#918c82;font-size:12px}.purchase-structure-items{min-width:0;flex-wrap:wrap;gap:6px}.purchase-structure-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #ded8ca;border-radius:999px;padding:4px 8px;background:#faf7f0;color:#555149;font-size:12px;line-height:1.2;white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.purchase-structure-pill:hover{border-color:#c5bfb0;background:#f3eee5}.purchase-structure-pill.active{border-color:#6d947a;color:#335f43;background:#e9f1e8}.purchase-structure-pill strong{color:#6d6a63;font-size:11px;font-variant-numeric:tabular-nums}.purchase-structure-pill.active strong{color:inherit}.purchase-structure-dot{width:6px;height:6px;border-radius:999px;flex:0 0 auto}.purchase-edit-sale{display:inline-flex;align-items:center;gap:4px;color:#3a3935;font-size:12px}.purchase-edit-sale input{width:76px;height:28px;border:1px solid #ded8ca;border-radius:6px;padding:0 6px;background:#fffaf0;color:#191919;font:inherit}.purchase-metric-tabs{margin:0 0 12px}.purchase-mobile-list,.purchase-mobile-sort{display:none!important}.form-error{margin:4px 0 0;color:#a94735;font-size:12px;font-weight:600}.purchase-edit-stack{display:grid;min-width:116px;gap:5px}.purchase-edit-stack .travel-edit-input{width:100%;min-width:0}.purchase-mobile-brand{color:#6d6a63;font-size:12px}.purchase-brand-cell{display:grid;gap:2px}.purchase-brand-cell small{color:#6d6a63;font-size:11px}@media(max-width:860px){.purchase-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-structure-group{width:100%}}@media(max-width:680px){.invest-contribution-list,.invest-insight-expanded,.invest-top-lists,.purchase-stat-grid{grid-template-columns:minmax(0,1fr)}.purchase-table-desktop{display:none}.purchase-mobile-list{display:grid!important;gap:10px}.purchase-mobile-sort{display:grid!important;flex:1 1 100%}.purchase-mobile-card{border:1px solid #ded8ca;border-radius:10px;padding:14px;background:#fffaf0}.purchase-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.purchase-mobile-card-head>div{min-width:0;display:grid;gap:4px}.purchase-mobile-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-mobile-card-head span{color:#6d6a63;font-size:12px}.purchase-mobile-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#6d6a63;font-size:12px}.purchase-mobile-meta .soft-tag{color:inherit}.purchase-mobile-meta .soft-tag--blue{color:#2d5f8f}.purchase-mobile-meta .soft-tag--green{color:#4f7542}.purchase-mobile-meta .soft-tag--sun{color:#8a641f}.purchase-mobile-meta .soft-tag--amber{color:#875b24}.purchase-mobile-meta .soft-tag--clay{color:#9a5432}.purchase-mobile-meta .soft-tag--plum{color:#6d5487}.purchase-mobile-meta .soft-tag--cyan{color:#3e7274}.purchase-mobile-meta .soft-tag--teal{color:#376d67}.purchase-mobile-meta .soft-tag--olive{color:#687333}.purchase-mobile-meta .soft-tag--rose{color:#905264}.purchase-mobile-meta .soft-tag--violet{color:#675393}.purchase-mobile-meta .soft-tag--sky{color:#386985}.purchase-mobile-meta .soft-tag--gray{color:#6a6257}.purchase-mobile-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}.purchase-mobile-card dl div{display:grid;gap:3px}.purchase-mobile-card dt{color:#6d6a63;font-size:11px}.purchase-mobile-card dd{margin:0;font-size:13px;font-weight:600}.purchase-mobile-card>p{margin:12px 0 0;padding-top:10px;border-top:1px solid #eee7d8;color:#6d6a63;font-size:12px}.purchase-mobile-actions{margin-top:10px;padding-top:10px;border-top:1px solid #eee7d8;display:flex;gap:8px;justify-content:flex-end}}.life-data-note{margin:12px 0 0;color:#7d786d;font-size:12px}.due-soon{display:inline-flex;align-items:center;gap:5px;color:#b75f36;font-weight:600}.life-action-list{display:grid;gap:9px}.life-action-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid #ded8ca;border-radius:10px;background:#fcfaf5;color:#3f7d58}.life-action-item.warning{color:#a66a23;background:#fff9ea}.life-action-item.danger{color:#a94735;background:#fff3ef;border-color:#e9c5bc}.life-action-item>div{display:grid;gap:3px}.life-action-item>div:last-child{text-align:right}.life-action-item strong{color:#262521;font-size:13px}.life-action-item span{color:#7d786d;font-size:12px}.maintenance-subsection{padding-top:18px;margin-top:18px;border-top:1px solid #e4ddd0}.maintenance-subsection:first-of-type{margin-top:0}.maintenance-subsection h3{margin:0 0 12px;font-size:15px}.travel-map-card,.travel-ranking-card{min-width:0}.travel-map-card .map-wrap{position:relative;margin-bottom:10px}.map-controls{position:absolute;z-index:2;top:12px;right:12px;display:grid;gap:6px}.map-controls button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ded8ca;border-radius:8px;color:#3a3935;background:#fffaf0;box-shadow:0 1px 4px #19191914;cursor:pointer}.map-controls button:hover:not(:disabled){color:#fffaf0;border-color:#191919;background:#191919}.map-controls button:disabled{cursor:not-allowed;opacity:.45}.travel-ranking-card{border:1px solid #ded8ca;border-radius:10px;padding:16px;background:#fffaf0}.travel-ranking-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.travel-ranking-head h3{margin:0;font-size:14px}.travel-ranking-card>.rank-list{border:0;border-radius:0;padding:0;max-height:360px;overflow-y:auto}.travel-ranking-card .rank-row+.rank-row{margin-top:10px}.travel-place-grid{align-items:stretch}.travel-place-grid .map-detail-panel{min-height:92px;margin-bottom:0}.map-detail-dates{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;font-size:11px;color:#6b6558;line-height:1.5}.map-detail-dates span{white-space:nowrap}.map-detail-dates span:before{content:"▸ ";color:#3f7d58;font-size:10px}.travel-edit-input{width:100%;min-width:70px;padding:4px 6px;border:1px solid #ded8ca;border-radius:4px;background:#fffaf0;font-size:12px}.travel-readonly-hint{color:#a8a396;font-size:11px}.map-detail-head .filter-chip{margin:0}.travel-timeline-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}.travel-timeline-toolbar label{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b6558}.travel-timeline-toolbar label select{padding:4px 8px;border:1px solid #ded8ca;border-radius:6px;background:#fffaf0;font-size:12px}.travel-timeline-toolbar .filter-chip{margin:0}.travel-timeline-search{width:160px;height:30px;padding:0 10px;border:1px solid #ded8ca;border-radius:6px;background:#fffaf0;font-size:12px;margin-left:auto}.travel-timeline-search::-moz-placeholder{color:#c5bfb0}.travel-timeline-search::placeholder{color:#c5bfb0}@media(max-width:680px){.travel-timeline-toolbar{gap:8px}.travel-timeline-toolbar .pill-tabs{width:100%}.travel-timeline-toolbar .pill-tab{flex:1}.travel-ranking-head{align-items:flex-start;flex-direction:column}.travel-ranking-head .pill-tabs{width:100%}.travel-ranking-head .pill-tab{flex:1}.pagination{justify-content:center;flex-wrap:wrap}.page-size-label{width:100%;justify-content:center}}.grow-label{flex:1 1 180px}.checkbox-label{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px;min-height:42px}.checkbox-label input{width:auto!important}.table-action{border:0;background:transparent;color:#3f7d58;cursor:pointer;font:inherit;font-size:12px;margin-right:8px;padding:3px 4px}@media(max-width:680px){.life-action-item{grid-template-columns:20px minmax(0,1fr)}.life-action-item>div:last-child{grid-column:2;text-align:left}}.health-hero{display:grid;grid-template-columns:minmax(340px,1.65fr) repeat(3,minmax(150px,.7fr));border:1px solid #ded8ca;border-radius:10px;overflow:hidden;background:#fffaf0}.health-hero-main{min-height:150px;padding:22px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #ded8ca;background:#f6eee3}.health-hero-kicker{display:flex;align-items:center;gap:7px;color:#8f452c;font-size:12px;font-weight:600}.health-hero-main>strong{margin-top:12px;font-size:36px;line-height:1;letter-spacing:-.5px}.health-hero-main>p{margin-top:10px;line-height:1.55}.health-hero-stat{min-height:150px;padding:20px;display:flex;flex-direction:column;justify-content:center;gap:9px;border-right:1px solid #ded8ca}.health-hero-stat:last-child{border-right:0}.health-hero-stat svg{color:#b75f36}.health-hero-stat span{color:#6d6a63;font-size:12px}.health-hero-stat strong{font-size:19px;line-height:1.3}.health-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.health-calendar-toolbar .filter-chip{margin:0}.health-calendar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));justify-content:start;gap:10px}.health-calendar-month{padding:10px;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0}.health-calendar-month h3{margin:0 0 7px;font-size:13px}.health-calendar-weekdays,.health-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.health-calendar-weekdays{margin-bottom:4px}.health-calendar-weekdays span{color:#a8a396;font-size:9px;text-align:center}.health-calendar-day,.health-calendar-empty{aspect-ratio:1;min-width:0;border-radius:4px}.health-calendar-day{display:grid;place-items:center;border:1px solid transparent;padding:0;color:#8a8579;background:#eee7d8;font:inherit;font-size:9px;cursor:pointer}.health-calendar-day:hover,.health-calendar-day.selected{border-color:#191919;color:#191919}.health-calendar-day.has-event{color:#fffaf0;background:#b75f36}.health-calendar-day.multiple{box-shadow:inset 0 0 0 2px #7a5c96}.health-calendar-day.selected{outline:2px solid #191919;outline-offset:1px}.health-calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:12px;color:#6d6a63;font-size:11px}.health-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.health-calendar-legend i{width:11px;height:11px;border-radius:3px;background:#eee7d8}.health-calendar-legend i.event{background:#b75f36}.health-calendar-legend i.multiple{background:#b75f36;box-shadow:inset 0 0 0 2px #7a5c96}.health-calendar-detail{display:flex;align-items:flex-start;gap:10px;padding:6px 12px;border:1px solid #ded8ca;border-radius:8px;background:#f7f3ea;font-size:12px}.health-calendar-detail>div{display:flex;flex-wrap:wrap;gap:8px}.health-calendar-detail>div>span{padding-right:8px;border-right:1px solid #ded8ca}.health-rank-list{min-width:0}.health-rank-meta{margin-top:3px;color:#8a8579;font-size:11px}.health-rank-list .rank-row+.rank-row{margin-top:10px}.health-rank-list .rank-track{height:5px;margin-top:5px}.health-trend-grid .chart-box:first-child .recharts-wrapper{cursor:pointer}.cost-note-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#19191959}.cost-note-popup{width:420px;max-width:92vw;background:#fffaf0;border:1px solid #ded8ca;border-radius:12px;box-shadow:0 8px 32px #19191924;overflow:hidden}.cost-note-popup-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 0}.cost-note-popup-head strong{font-size:14px}.cost-note-popup-head .btn-cancel{padding:2px 8px;font-size:16px;line-height:1}.cost-note-popup-input{width:calc(100% - 32px);margin:12px 16px;padding:10px 12px;border:1px solid #ded8ca;border-radius:8px;background:#fff;font-size:13px;font-family:inherit;resize:vertical}.cost-note-popup-actions{display:flex;justify-content:flex-end;padding:0 16px 14px;gap:8px}.asset-missing-warning{margin-top:10px;padding:10px 14px;border:1px solid #f0c040;border-radius:8px;background:#fffbed;font-size:12px;color:#5c4a10;line-height:1.6}.health-detail-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.health-detail-toolbar .filter-chip{margin:0}.health-detail-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.health-detail-filters .filter-chip{margin:0}.health-pagination>span:first-child{margin-right:auto}.health-insight-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.health-insight-charts{margin-top:14px}.heatmap-cell.has-health-event{position:relative}.health-event-dot{position:absolute;right:1px;bottom:1px;width:4px;height:4px;border:1px solid #fffaf0;border-radius:999px;background:#b75f36;pointer-events:none}.day-health-events{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:2px 0 10px;padding:9px 10px;border-radius:6px;color:#6d6a63;background:#f6eee3;font-size:12px}.day-health-events>div{display:grid;gap:4px}.day-health-events strong{color:#8f452c;font-size:12px}.reading-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reading-refresh-meta{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.reading-subtitle-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}.reading-subtitle-controls{display:flex;align-items:center;gap:8px}.reading-status-hint{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #f0e4c8;border-radius:8px;background:#fffdf7;color:#6d6a63}.reading-status-hint code{background:#f5f0e4;padding:1px 6px;border-radius:3px;font-size:12px}.reading-refresh-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #ded8ca;border-radius:8px;padding:0 11px;color:#3a3935;background:#fffaf0;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.reading-refresh-btn:hover:not(:disabled){border-color:#191919;color:#f7f3ea;background:#191919}.reading-refresh-btn:disabled{cursor:wait;opacity:.65}.reading-refresh-message{font-size:11px;font-weight:600}.reading-refresh-message.success{color:#3f7d58}.reading-refresh-message.error{color:#b75f36}.reading-overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr)}.reading-year-card,.reading-status-card{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0}.reading-year-card{min-height:352px;padding:20px;display:flex;flex-direction:column}.reading-year-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid #eee7d8}.reading-year-card-head>div{display:grid;gap:8px}.reading-year-card-head span{color:#6d6a63;font-size:13px}.reading-year-card-head strong{font-size:28px;line-height:1.15}.reading-year-card-head svg{color:#7a5c96}.reading-year-facts{display:grid;gap:0;margin:8px 0 20px}.reading-year-facts>div{min-height:54px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid #eee7d8}.reading-year-facts svg{color:#8a8579}.reading-year-facts span{color:#6d6a63;font-size:13px}.reading-year-facts strong{font-size:14px}.reading-detail-link,.reading-status-card a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:8px;padding:0 16px;color:#f7f3ea;background:#191919;font-size:13px;font-weight:600;text-decoration:none}.reading-detail-link{margin-top:auto}.reading-detail-link:hover,.reading-status-card a:hover{background:#3a3935}.reading-status-card{min-height:116px;padding:18px;display:flex;align-items:center;gap:14px;color:#6d6a63}.reading-status-card strong{display:block;color:#191919;font-size:14px}.reading-status-card p{margin:5px 0 0;line-height:1.5}.reading-status-card a{margin-left:auto;white-space:nowrap}.reading-status-error>svg{flex:0 0 auto;color:#b75f36}@media(max-width:1080px){.health-hero{grid-template-columns:repeat(3,minmax(0,1fr))}.health-hero-main{grid-column:1 / -1;border-right:0;border-bottom:1px solid #ded8ca}.reading-overview-grid{grid-template-columns:minmax(0,1fr)}.reading-year-card{min-height:0}}@media(max-width:680px){.health-hero{grid-template-columns:repeat(3,minmax(0,1fr))}.health-hero-main{min-height:150px;grid-column:1 / -1;border-right:0;border-bottom:1px solid #ded8ca}.health-hero-stat{min-height:100px;padding:12px 10px;gap:7px;border-right:1px solid #ded8ca;border-bottom:0}.health-hero-stat:last-child{border-right:0}.health-hero-stat span{font-size:11px}.health-hero-stat strong{font-size:16px}.health-calendar-toolbar{align-items:flex-start;flex-direction:column}.health-calendar-toolbar .pill-tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.health-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.health-calendar-month{padding:6px;border-radius:6px}.health-calendar-month h3{margin-bottom:4px;font-size:12px}.health-calendar-weekdays,.health-calendar-days{gap:2px}.health-calendar-weekdays{margin-bottom:3px}.health-calendar-weekdays span,.health-calendar-day{font-size:8px}.health-calendar-day,.health-calendar-empty{border-radius:3px}.health-calendar-detail{flex-direction:column;gap:8px}.health-insight-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.health-pagination>span:first-child{width:100%;margin-right:0;text-align:center}.reading-stat-grid{grid-template-columns:minmax(0,1fr)}.reading-refresh-meta{align-items:flex-start;justify-content:flex-start}.reading-status-card{align-items:flex-start;flex-direction:column}.reading-status-card .reading-refresh-btn{width:100%}.reading-status-card a{width:100%;margin-left:0}}.running-hero{display:grid;grid-template-columns:minmax(300px,1.35fr) repeat(4,minmax(145px,.7fr));border:1px solid #ded8ca;border-radius:10px;overflow:hidden;background:#fffaf0}.running-hero-main,.running-hero-stat{min-height:150px;padding:20px;display:flex;flex-direction:column;justify-content:center}.running-hero-main{border-right:1px solid #ded8ca;background:#e9f1e8}.running-hero-main>span,.running-hero-stat>span{display:flex;align-items:center;gap:7px;color:#6d6a63;font-size:12px}.running-hero-main>span{color:#3f7d58;font-weight:600}.running-hero-main>strong{margin-top:10px;font-size:32px;line-height:1;font-variant-numeric:tabular-nums}.running-hero-main>p{margin:8px 0 0;color:#536158;font-size:13px}.running-hero-stat{gap:6px;border-right:1px solid #ded8ca}.running-hero-stat:last-child{border-right:0}.running-hero-stat svg{color:#3f7d58;flex-shrink:0}.running-hero-stat strong{font-size:20px;line-height:1.25;font-variant-numeric:tabular-nums}.running-hero-stat small{color:#8a8579;font-size:12px}.running-detail-grid{display:grid;grid-template-columns:minmax(360px,1.2fr) minmax(420px,1fr);gap:14px}.running-route-card,.running-detail-panel{min-width:0;border:1px solid #ded8ca;border-radius:10px;padding:18px;background:#fffaf0}.running-detail-title{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.running-detail-name{font-size:16px;font-weight:700;line-height:1.3}.running-detail-date{color:#6d6a63;font-size:13px}.running-detail-meta-row{display:flex;align-items:center;gap:8px;margin-bottom:14px}.running-type-label{display:inline-block;padding:3px 10px;border-radius:999px;color:#3f7d58;background:#e9f1e8;font-size:12px;font-weight:600}.running-subtype-label{color:#8a8579;font-size:12px}.running-type{border-radius:999px;padding:5px 9px;color:#3f7d58;background:#e9f1e8;font-weight:600}.running-route-preview{border-radius:8px;padding:12px;background:#f6eee3;margin-top:14px}.running-route-preview svg{display:block;width:100%;height:auto;max-height:200px}.running-route-legend{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:8px;color:#6d6a63;font-size:11px}.running-route-legend span{display:inline-flex;align-items:center;gap:5px}.running-route-legend i{width:8px;height:8px;border-radius:999px}.running-route-legend i.start{background:#3f7d58}.running-route-legend i.end{background:#191919}.running-route-empty{min-height:150px;display:grid;place-content:center;justify-items:center;gap:10px;border-radius:8px;color:#8a8579;background:#f6eee3;font-size:13px}.running-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.running-metadata{display:grid;gap:0;margin:14px 0 0}.running-metadata>div{min-height:38px;display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px;border-bottom:1px solid #eee7d8}.running-metadata dt{display:flex;align-items:center;gap:5px;color:#8a8579;font-size:12px}.running-metadata dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:13px;font-variant-numeric:tabular-nums}.running-raw-data{margin-top:14px;font-size:11px}.running-raw-data summary{color:#6d6a63;cursor:pointer}.running-raw-data strong{display:block;margin:10px 0 4px}.running-raw-data code{display:block;max-height:120px;overflow:auto;border-radius:6px;padding:8px;color:#4b4841;background:#f7f3ea;overflow-wrap:anywhere;white-space:pre-wrap}.running-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.running-toolbar label{display:grid;gap:5px;color:#6d6a63;font-size:12px}.running-toolbar select{min-width:160px;height:36px;border:1px solid #ded8ca;border-radius:8px;padding:0 10px;color:#191919;background:#fffaf0;font:inherit}.running-toolbar a{color:#3f7d58;font-size:12px;font-weight:600;text-decoration:none}.running-table{min-width:720px}.running-table tbody tr{cursor:pointer}.running-table tbody tr:hover{background:#f5f1e8}.running-table tbody tr.selected{background:#e9f1e8;border-left:3px solid #3f7d58}.running-table tbody tr.selected td:first-child{padding-left:9px}.running-table td{white-space:nowrap}.running-date-cell,.running-num-cell{font-variant-numeric:tabular-nums}.running-status{min-height:140px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px dashed #c9c1b3;border-radius:10px;color:#6d6a63;background:#fffaf0}.running-status strong{color:#191919}.running-status p{margin:4px 0 0;font-size:12px}@media(max-width:1180px){.running-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.running-hero-main{grid-column:1 / -1;border-right:0;border-bottom:1px solid #ded8ca}.running-detail-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:680px){.running-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.running-hero-main{grid-column:1 / -1}.running-hero-main,.running-hero-stat{min-height:110px;border-right:0;border-bottom:1px solid #ded8ca}.running-hero-stat:last-child{border-bottom:0}.running-hero-main>strong{font-size:28px}.running-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.running-route-card,.running-detail-panel{padding:14px}.running-route-preview svg{min-height:180px}.running-metadata>div{grid-template-columns:minmax(0,1fr);gap:3px;padding:8px 0}.running-toolbar{align-items:flex-start;flex-direction:column}.running-toolbar label,.running-toolbar select{width:100%}.running-year-selector.pill-tabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%}}.running-year-chart-col .chart-inner,.running-month-col .chart-inner{height:220px}.running-master-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,400px);gap:14px;align-items:stretch}.running-master-detail>.section{margin-bottom:0}.running-records-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #eee7d8}.running-records-table-wrap{max-height:600px;overflow:auto}.running-detail-panel{border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;padding:20px;display:flex;flex-direction:column}.running-detail-header{margin-bottom:14px;flex-shrink:0}.running-detail-header .running-detail-name{display:block;font-size:18px;font-weight:700;margin-bottom:4px}.running-detail-header .running-detail-date{display:block;color:#6d6a63;font-size:13px;margin-bottom:10px}.running-detail-facts,.running-metadata{flex-shrink:0}.running-detail-empty{min-height:120px;display:flex;align-items:center;justify-content:center;border:1px solid #ded8ca;border-radius:8px;background:#fffaf0;color:#8a8579;font-size:13px}.running-meta-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #eee7d8;flex-wrap:wrap}.running-meta-dates{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;color:#6d6a63}.running-meta-dates span{display:inline-flex;align-items:center;gap:4px}.running-sync-label{color:#3f7d58;font-weight:600}.running-meta-actions{display:flex;align-items:center;gap:10px}.running-refresh-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid #3f7d58;border-radius:8px;color:#3f7d58;background:#fffaf0;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.running-refresh-btn:hover{background:#e9f1e8}.running-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.running-source-link{display:inline-flex;align-items:center;min-height:36px;color:#3f7d58;font-size:12px;font-weight:600;text-decoration:none}.running-source-link:hover{text-decoration:underline}.running-refresh-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.running-year-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:14px;align-items:start}.running-year-chart-col,.running-month-col{min-width:0}.running-month-table-wrap{max-height:420px;overflow-y:auto}.running-month-table{width:100%;border-collapse:collapse;font-size:13px}.running-month-table th,.running-month-table td{padding:8px 10px;border-bottom:1px solid #eee7d8;text-align:left}.running-month-table th{color:#6d6a63;font-weight:600;font-size:11px;position:sticky;top:0;background:#fffaf0;z-index:1}.running-month-table tbody tr{cursor:pointer}.running-month-table tbody tr:hover,.running-month-table tbody tr.selected{background:#e9f1e8}.running-month-table tbody tr.empty{color:#b8b3a8;cursor:default}.running-month-table .empty-cell{color:#b8b3a8;text-align:center}.section-h2-compact{margin:0;font-size:16px;font-weight:700;line-height:1.25;padding-left:12px;border-left:3px solid #b75f36}.running-records-subhead{margin:0;font-size:15px;font-weight:600;color:#191919}.running-records-toolbar{display:flex;align-items:center;gap:12px}.running-records-toolbar label{display:inline-flex;align-items:center;gap:6px;color:#6d6a63;font-size:12px}.running-records-toolbar select{height:32px;border:1px solid #ded8ca;border-radius:8px;padding:0 8px;color:#191919;background:#fffaf0;font:inherit;font-size:12px}.running-records-count{color:#6d6a63;font-size:12px}.running-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px;color:#4b4841}.running-pagination>div{display:flex;gap:6px}.running-pagination button{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;border:1px solid #ded8ca;border-radius:8px;color:#191919;background:#fffaf0;font-size:12px;cursor:pointer}.running-pagination button:hover{background:#eee7d8}.running-pagination button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:1100px){.running-year-layout{grid-template-columns:minmax(0,1fr)}.running-month-col{padding-top:0}.running-master-detail{grid-template-columns:minmax(0,1fr)}.running-master-detail>.section{margin-bottom:28px;display:block}.running-master-detail>.section:last-child{margin-bottom:0}.running-records-table-wrap{max-height:420px}}@media(max-width:680px){.running-meta-bar{flex-direction:column;align-items:flex-start;gap:8px}.running-meta-dates{gap:8px}.running-meta-actions{width:100%;justify-content:flex-start}.running-year-layout{grid-template-columns:minmax(0,1fr)}.running-month-col{order:10}.running-master-detail .section{margin-bottom:28px}.running-master-detail .section:last-child{margin-bottom:0}.running-records-head{flex-direction:column;align-items:flex-start;gap:8px}.running-master-detail{grid-template-columns:minmax(0,1fr)}.running-master-detail>.section{margin-bottom:28px;display:block}.running-master-detail>.section:last-child{margin-bottom:0}.running-records-table-wrap{max-height:420px}.running-records-toolbar{width:100%;justify-content:space-between}.running-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.running-refresh-btn{width:100%;justify-content:center}}.running-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:3000;padding:10px 22px;border-radius:8px;font-size:13px;font-weight:600;box-shadow:0 2px 8px #0000001f;animation:running-toast-in .25s ease-out}.running-toast--success{color:#2d5a3e;background:#e9f1e8;border:1px solid #b7d3b6}.running-toast--error{color:#8b3a2f;background:#fdf0ed;border:1px solid #e5c4bc}@keyframes running-toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));background:#f6f4ef}.auth-card{width:min(100%,390px);display:grid;gap:16px;padding:32px;border:1px solid #e5dfd4;border-radius:20px;background:#fff;box-shadow:0 18px 50px #362c1d14}.auth-card h1,.auth-card p{margin:0}.auth-card p{color:#746f67;line-height:1.6}.auth-card label{display:grid;gap:7px;color:#514c44;font-size:13px;font-weight:600}.auth-card input{min-height:44px;border:1px solid #d9d2c6;border-radius:10px;padding:0 12px;font:inherit}.auth-card button{min-height:44px;border:0;border-radius:10px;background:#dc6b3d;color:#fff;font:inherit;font-weight:700;cursor:pointer}.auth-card button:disabled{cursor:wait;opacity:.65}.auth-brand{color:#dc6b3d;font-size:14px;font-weight:800;letter-spacing:.08em}.auth-error{padding:10px 12px;border-radius:9px;background:#fff0ec;color:#a43f2c;font-size:13px}.auth-notice{padding:10px 12px;border-radius:9px;background:#eef7f0;color:#315f44;font-size:13px}.auth-card .auth-link-button{min-height:auto;padding:4px;background:transparent;color:#766f64;font-size:13px;font-weight:600}.auth-loading{text-align:center}.cloud-maintenance-state{color:var(--green, #3f7d58);font-size:.88rem;font-weight:650}.cloud-maintenance-form{align-items:end;gap:12px;margin-bottom:18px}.cloud-maintenance-form label{display:grid;gap:6px;min-width:120px}.cloud-maintenance-form textarea{min-width:260px;resize:vertical}.cloud-maintenance-checks{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:18px}.cloud-maintenance-checks label{align-items:center;display:inline-flex;gap:7px}@media(max-width:760px){.cloud-maintenance-form,.cloud-maintenance-form label,.cloud-maintenance-form input,.cloud-maintenance-form textarea{min-width:0;width:100%}.credit-fee-banner{grid-template-columns:minmax(0,1fr)}.credit-fee-banner-card{min-height:78px;padding:12px}.credit-benefit-table-wrap{display:block}.credit-benefit-mobile-list{display:none!important}}@media(max-width:680px){.detail-table-wrap{width:100%}.detail-table{min-width:max(100%,640px)}.expense-detail-table{min-width:max(100%,500px)}.subscription-table{min-width:680px}.subscription-table tr{grid-template-columns:116px 74px 112px 112px 92px 112px}.credit-card-table{min-width:max(100%,620px)}.credit-annual-table{min-width:900px}.invest-detail-table,.watch-detail-table{min-width:max(100%,560px)}.expense-layout{grid-template-columns:minmax(0,1fr);height:auto}.expense-subtotal-stack{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto}.expense-layout-left,.expense-layout-right{height:auto}.expense-layout-right{overflow:visible}.expense-category-subtotal .subtotal-scroll,.expense-month-subtotal .subtotal-scroll{max-height:174px}.expense-detail-toolbar{flex-direction:column;align-items:stretch}.expense-detail-controls{flex-direction:column;width:100%;align-items:stretch}.expense-note-search{width:100%;flex-basis:auto;max-width:none}.custom-trend-picker label{height:34px}.trend-controls{align-items:stretch}.trend-search{flex:1 1 100%;min-width:0}.compare-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-lists,.compare-insight-layout{grid-template-columns:minmax(0,1fr)}.compare-table-wrap{max-width:100%}.compare-scroll-panel,.compare-chart-scroll{max-height:380px}.compare-category-table{min-width:520px}.compare-category-table th:first-child,.compare-category-table td:first-child{position:sticky;left:0;z-index:2;min-width:84px;background:#fffaf0;box-shadow:1px 0 #eee7d8}.compare-category-table th:first-child{z-index:3;background:#fbf4e8}.compare-chart-box .chart-inner{height:440px;min-height:440px}.compare-period-select select{width:100%;min-width:0}.expense-detail-filters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.expense-detail-filters::-webkit-scrollbar{display:none}.expense-detail-filters select{flex:0 0 116px;max-width:116px}.expense-detail-table-wrap{flex:none;max-height:none}.travel-timeline-table,.health-detail-table{min-width:max(100%,680px)}.purchase-table{min-width:900px}.detail-table th,.detail-table td{padding:9px 10px}.detail-table th:first-child,.detail-table td:first-child{min-width:72px;max-width:108px}.subscription-table th:first-child,.subscription-table td:first-child{min-width:96px;max-width:116px}.purchase-table th:first-child,.purchase-table td:first-child,.watch-detail-table th:first-child,.watch-detail-table td:first-child{min-width:96px;max-width:124px}.credit-benefit-table th:first-child,.credit-benefit-table td:first-child,.credit-card-table th:first-child,.credit-card-table td:first-child{min-width:88px;max-width:118px}.invest-detail-table th:nth-child(4),.invest-detail-table td:nth-child(4),.watch-detail-table th:first-child,.watch-detail-table td:first-child{max-width:128px}.detail-filter-grid{display:flex;grid-template-columns:none;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.detail-filter-grid::-webkit-scrollbar{display:none}.detail-filter-grid label{flex:0 0 138px}.life-filter-row,.purchase-toolbar,.travel-timeline-toolbar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.life-filter-row::-webkit-scrollbar,.purchase-toolbar::-webkit-scrollbar,.travel-timeline-toolbar::-webkit-scrollbar{display:none}.life-filter-row label,.purchase-toolbar label,.travel-timeline-toolbar label,.purchase-search{flex:0 0 auto}.purchase-search input{width:132px}.travel-timeline-search{flex:0 0 180px;width:180px;margin-left:0}.travel-timeline-toolbar .pill-tabs{flex:0 0 auto;flex-wrap:nowrap}.travel-timeline-toolbar .pill-tab{flex:0 0 auto;white-space:nowrap}.subscription-table-wrap,.purchase-table-desktop{display:block}.subscription-mobile-list,.purchase-mobile-list,.purchase-mobile-sort{display:none!important}.note-cell,.asset-note-cell,.income-note-cell,.expense-note-cell{width:152px;min-width:136px;max-width:152px}.detail-note-dialog{width:calc(100vw - 24px)}.asset-note-table{width:100%;min-width:0;table-layout:fixed}.asset-note-table th:nth-child(1),.asset-note-table td:nth-child(1){width:27%}.asset-note-table th:nth-child(2),.asset-note-table td:nth-child(2){width:39%}.asset-note-table th:nth-child(3),.asset-note-table td:nth-child(3){width:34%}.asset-note-table th:nth-child(4),.asset-note-table td:nth-child(4){display:none}.asset-note-table th:first-child,.asset-note-table td:first-child{position:static;min-width:0;max-width:none;box-shadow:none}.asset-note-table th,.asset-note-table td{overflow:hidden;text-overflow:ellipsis}.asset-distribution-grid>.chart-box{display:block}.asset-distribution-grid>.chart-box .chart-inner{height:280px;min-height:280px}.detail-record-overlay-mobile-sheet{place-items:end center;padding-top:0;padding-right:max(8px,env(safe-area-inset-right));padding-bottom:0;padding-left:max(8px,env(safe-area-inset-left))}.detail-record-overlay-mobile-sheet .detail-record-dialog{width:100%;max-width:100%;max-height:min(72vh,620px);border-bottom:0;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:720px){.stock-page-header .section-head{display:block}.stock-page-header .section-head h2{display:none}.stock-page-header .section-subtitle{display:block;min-width:0}.stock-page-header .stock-page-meta{display:grid;width:100%;grid-template-columns:minmax(0,1fr);grid-template-areas:"controls" "updated";gap:6px}.stock-page-header .stock-page-updated{position:static;grid-area:updated;justify-self:end;max-width:calc(100vw - 120px);margin:0;overflow:hidden;font-size:12px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.stock-page-header .stock-page-updated-label{display:none}.stock-page-header .stock-page-controls{grid-area:controls;display:flex;width:100%;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:8px}.stock-page-header .stock-refresh-control{order:0;width:auto;flex:0 0 auto;flex-wrap:nowrap}.stock-page-header .stock-refresh-control button{width:28px;min-height:28px;padding:0;gap:0;border-radius:6px}.stock-page-header .stock-refresh-label{display:none}.stock-page-header .stock-page-mode-switch{order:1;min-width:0}.stock-page-header .stock-page-mode-switch button{padding-right:8px;padding-left:8px}.stock-page-meta{align-items:flex-start;flex-direction:column}.stock-refresh-control{width:100%;justify-content:flex-start;flex-wrap:wrap}.stock-refresh-control small{flex-basis:100%}.stock-maintenance-drawer{width:100vw;border-left:0}.stock-maintenance-form-row{grid-template-columns:1fr}.stock-holdings-section-head{display:flex;align-items:center}.stock-diagnosis-allocation-head{display:flex}}@media(min-width:375px)and (max-width:720px){.stock-page-header .stock-page-meta{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"updated refresh tabs";align-items:center;gap:8px}.stock-page-header .stock-page-controls{display:contents;width:auto}.stock-page-header .stock-page-mode-switch{grid-area:tabs;justify-self:start}.stock-page-header .stock-refresh-control{grid-area:refresh;order:initial;justify-self:end}.stock-page-header .stock-page-updated{grid-area:updated;justify-self:end;max-width:none}}@media(min-width:681px)and (max-width:1100px){.trend-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.compact-summary-section .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.compact-summary-section .section-head p{margin:0 0 0 auto;color:#8a8579;font-size:11px;line-height:1.3;text-align:right;white-space:nowrap}.mobile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-summary-grid .stat-card{min-height:84px;padding:12px}.mobile-summary-grid .stat-card span{font-size:12px}.mobile-summary-grid .stat-card strong{font-size:20px;line-height:1.2}.mobile-summary-grid .stat-card small{display:none}.mobile-summary-grid.asset-overview-stat-grid .stat-card small,.mobile-summary-grid.income-overview-grid .stat-card small,.mobile-summary-grid.expense-overview-grid .stat-card small{display:-webkit-box;min-height:28px;overflow:hidden;font-size:11px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mobile-summary-grid.asset-overview-stat-grid .stat-card,.mobile-summary-grid.income-overview-grid .stat-card,.mobile-summary-grid.expense-overview-grid .stat-card{min-height:104px}.today-editor-card{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.today-editor-card>*{min-width:0;max-width:100%}.today-editor-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.today-editor-save{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:0;max-width:none;gap:6px}.today-editor-save .today-save-btn{display:inline-flex;flex:0 0 auto;min-width:78px;height:32px;padding:0 10px;font-size:12px;white-space:nowrap}.today-editor-save .today-save-btn svg{display:block;flex:0 0 13px;width:13px;height:13px}.today-editor-save .today-save-message{display:block;align-self:center;justify-self:end;min-width:0;max-width:100%;min-height:14px;overflow:hidden;font-size:11px;line-height:1.2;text-align:right;text-overflow:ellipsis;white-space:nowrap}.today-entry-grid{min-width:0;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.today-entry-grid .today-compact-metric{min-width:0;gap:4px;padding:6px 8px;font-size:12px}.today-entry-grid .today-compact-metric input{width:44px;height:28px;padding:0 4px}.today-entry-grid .today-other-toggle{justify-self:stretch;width:100%;min-width:0}.today-inline-fields{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr);gap:7px}.today-inline-fields>*{min-width:0;max-width:100%}@media(min-width:600px){.today-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.today-inline-fields{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.today-inline-fields .today-note-compact,.today-inline-fields .today-selected-factors{grid-column:1 / -1}}.health-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.health-summary-grid .stat-card:first-child,.travel-summary-grid .stat-card:first-child{grid-column:1 / -1}.health-summary-grid .stat-card:first-child{min-height:96px}.health-summary-grid .stat-card:not(:first-child){min-height:74px;padding:10px 8px}.health-summary-grid .stat-card:not(:first-child) span{font-size:11px}.health-summary-grid .stat-card:not(:first-child) strong{font-size:16px}.travel-summary-grid .stat-card:first-child{min-height:104px}.travel-summary-grid .stat-card:first-child small{display:block;margin-top:4px;font-size:12px}}.insight-section-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#8a857a}.insight-section-head{align-items:center}.insight-section-toggle{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;font:inherit}.insight-section-toggle svg{color:#817d75;transition:transform .16s ease}.insight-section-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.insight-section-toggle:hover h2{color:#b75f36}.insight-section-content{min-width:0}.status-insight-details{margin:0 0 18px;padding:0}.status-insight-overview-head,.status-insight-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-insight-overview-head{margin-bottom:10px;padding:0 1px}.status-insight-overview-head strong{color:#2f3838;font-size:14px;font-weight:800;line-height:1.35}.status-insight-overview-head>span{color:#8a857a;font-size:11px;font-weight:700;line-height:1.4;text-align:right}.status-insight-group-head h4{margin:0;color:#2f3838;letter-spacing:0}.status-insight-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.status-insight-focus-grid>:only-child{grid-column:1 / -1}.status-insight-group{min-width:0;margin:0;padding:10px 12px;border:1px solid #e5ddcb;border-radius:9px;background:#fcf8ef}.status-insight-group-head{min-height:24px;margin-bottom:4px}.status-insight-group-label{display:inline-flex;align-items:center;gap:7px;min-width:0}.status-insight-group-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto;border-radius:6px;background:#f0eadf;color:#6d6a63}.status-insight-group-head h4{font-size:13.5px;font-weight:800;line-height:1.35}.status-insight-group-head>span{color:#9a9386;font-size:11px;line-height:1.4;text-align:right}.status-insight-group.tone-recent{border-color:#dce8db;background:#f7faf5}.status-insight-group.tone-recent .status-insight-group-icon{background:#e4f0e4;color:#47765d}.status-insight-group.tone-risk{border-color:#eedfbd;background:#fffaf0}.status-insight-group.tone-risk .status-insight-group-icon{background:#f8eacc;color:#9a6a1f}.status-insight-group.tone-period{margin-top:10px;border-color:#e6dece;border-left:2px solid #c7b3d3;background:transparent}.status-insight-group.tone-period .status-insight-group-icon{background:#eee6f5;color:#705582}.status-insight-list{border-top:0}.status-insight-group .insight-card{padding:9px 0;border-bottom:0}.status-insight-group .insight-card:first-child{padding-top:7px}.status-insight-group .insight-card:last-child{padding-bottom:0}@media(min-width:900px){.status-insight-group.tone-period .status-insight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:18px;column-gap:18px}.status-insight-group.tone-period .insight-card:only-child{grid-column:1 / -1}}.insight-loading-hint{color:#9a9386}.insight-error-msg{margin:0 0 10px!important;color:#b0533a!important;font-size:13px}.insight-quiet{margin:0!important;padding:14px 4px;color:#9a9386;font-size:13px}.insight-list{margin:0;padding:0;list-style:none;border-top:1px solid #eee7d8}.status-insight-group .status-insight-list{border-top:0}.insight-row{border-bottom:1px solid #f2ecdd}.insight-row-main{display:flex;align-items:center;gap:10px;width:100%;padding:11px 4px;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}.insight-row-main:hover{background:#fdfaf1}.insight-domain-tag{flex-shrink:0;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#f0f0f2;color:#6b7280}.insight-domain-tag[data-domain=投资]{background:#e7f0f5;color:#2e728f}.insight-domain-tag[data-domain=财务]{background:#e8f2ea;color:#3f7d58}.insight-domain-tag[data-domain=跑步]{background:#eef2e6;color:#6b7a3e}.insight-domain-tag[data-domain=行动]{background:#edf1e7;color:#64743d}.insight-domain-tag[data-domain=状态],.insight-domain-tag[data-domain=身心]{background:#f5ede0;color:#a06a2a}.insight-domain-tag[data-domain=阅读],.insight-domain-tag[data-domain=学习]{background:#efeaf3;color:#7a5c96}.insight-domain-tag[data-domain=订阅],.insight-domain-tag[data-domain=信用卡]{background:#f5e8e4;color:#b0533a}.insight-entities{display:flex;flex-wrap:wrap;gap:4px;flex-shrink:0;max-width:40%}.insight-entity-chip{padding:1px 7px;border-radius:999px;background:#f5f1e6;color:#6d6a63;font-size:11px;white-space:nowrap}.insight-row-text{flex:1;min-width:0;font-size:13px;color:#2f3838;line-height:1.5}.insight-row-value{flex-shrink:0;font-size:14px;font-weight:700;color:#b75f36;white-space:nowrap}.insight-row-chevron{flex-shrink:0;color:#b3ada1;transition:transform .15s ease}.insight-row-chevron.open{transform:rotate(180deg)}.insight-row-detail{margin:0 8px 12px 26px;padding:8px 10px 10px;border-left:2px solid #eee3cc;background:#fdfbf5;border-radius:0 8px 8px 0}.insight-detail-suggestion{margin:0!important;font-size:13px;color:#3f7d58;line-height:1.55}.insight-detail-evidence{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.insight-evidence-chip{padding:2px 8px;border-radius:999px;background:#f3efe4;color:#6d6a63;font-size:11px}.insight-detail-meta{margin:8px 0 0!important;font-size:11px;color:#9a9386}.insight-detail-boundary{margin:4px 0 0!important;font-size:11px;color:#8a857a;line-height:1.5}.insight-detail-disclaimer{margin:6px 0 0!important;font-size:10.5px;color:#b3ada1}.insight-ai-summary{margin-top:12px;padding:10px 12px;border:1px solid #e5ddcb;border-radius:10px;background:#fdf9ef}.insight-ai-summary-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#3c4444}.insight-ai-title{color:#2f3838;font-size:15px;font-weight:700;line-height:1.35}.insight-ai-icon{display:inline-flex;color:#b75f36}.insight-ai-refresh{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;border:1px solid #dccfb4;border-radius:999px;background:#fffdf8;color:#6d6a63;font-size:11px;cursor:pointer}.insight-ai-refresh:disabled{opacity:.6;cursor:default}.insight-ai-headline{margin:8px 0 4px!important;font-size:13px;font-weight:700;color:#2f3838}.insight-ai-summary ul{margin:0;padding-left:16px;font-size:12.5px;color:#57554f;line-height:1.55}.insight-ai-risk{margin:8px 0 0!important;font-size:11px;color:#9a9386}.insight-ai-pending{margin:10px 0 0!important;font-size:12px;color:#8a857a}.insight-ai-hint{display:flex;align-items:center;gap:8px;margin:10px 0 0!important;font-size:12px;color:#8a857a}.insight-ai-text-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid #dccfb4;border-radius:999px;background:#fffdf8;color:#6d6a63;font-size:12px;cursor:pointer}.insight-ai-text-btn:disabled{opacity:.6;cursor:default}.insight-collapse{margin-top:12px;font-size:12px;color:#8a857a}.insight-collapse summary{cursor:pointer;color:#6d6a63}.insight-collapse-quiet summary{color:#9a9386}.insight-sub-list{margin:8px 0 0;padding:0;list-style:none}.insight-sub-row{display:flex;align-items:center;gap:8px;padding:7px 2px;border-top:1px solid #f4efe2;font-size:12px}.insight-sub-row:first-child{border-top:0}.insight-sub-text{flex:1;min-width:0;color:#6d6a63;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insight-sub-value{flex-shrink:0;font-weight:600;color:#57554f}.insight-metric-id{flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:#b3ada1}.insight-confidence-badge{flex-shrink:0;padding:1px 8px;border-radius:999px;font-size:11px;background:#f0f0f2;color:#6b7280}.insight-confidence-badge.is-strong{background:#e8f2ea;color:#3f7d58}.insight-confidence-badge.is-reference{background:#e7f0f5;color:#2e728f}.insight-confidence-badge.is-accumulating{background:#f0f0f2;color:#6b7280}.insight-confidence-badge.is-insufficient{background:#f5f0ea;color:#8a857a}.today-top-insights{margin-bottom:18px;padding:0}.today-top-insights-head{display:flex;align-items:center;gap:6px;margin-bottom:0;padding-bottom:8px;border-bottom:1px solid #eee7d8;font-size:14px;font-weight:700;color:#3c4444}.today-top-insights-icon{display:inline-flex;color:#b75f36}.today-top-insights-count{padding:0 7px;border-radius:999px;background:#f0e6d2;color:#8a6a35;font-size:11px;font-weight:600}.today-learning-shortcut{display:inline-flex;align-items:center;gap:5px;min-height:28px;margin-left:auto;padding:0 9px;border:1px solid #d8e3d1;border-radius:999px;background:#f3f8ef;color:#3f7d58;font-size:12px;font-weight:700;cursor:pointer}.today-learning-shortcut:hover,.today-learning-shortcut:focus-visible{border-color:#b9cfb0;background:#eaf3e5;color:#2f6646}.today-learning-shortcut:focus-visible{outline:2px solid rgba(63,125,88,.28);outline-offset:2px}.today-top-insights ul{margin:0;padding:0;list-style:none}.today-top-health-event{display:flex;align-items:center;gap:8px;padding:10px 4px;border-top:1px solid #eee7d8;border-bottom:1px solid #f2ecdd;color:#2f3838;font-size:13px;line-height:1.5}.today-top-health-event>span{flex-shrink:0;padding:1px 8px;border-radius:999px;background:#f4eadc;color:#9a6434;font-size:11px;font-weight:600}.today-top-health-event p{flex:1;min-width:0;margin:0}.today-top-health-event strong{flex-shrink:0;color:#9a6434;font-size:13px}.health-ongoing-toggle{display:inline-flex;align-items:center;gap:6px;min-height:32px;color:#9a6434;font-size:13px;font-weight:600;white-space:nowrap}.health-ongoing-toggle input{width:auto;accent-color:#9a6434}.today-top-insights-running-card{margin:10px 0 0}.today-top-insights .today-running-advice{padding:12px 14px;border-radius:10px;box-shadow:none}.today-top-insights .today-running-advice.tone-good{border-color:#d6e5d6;border-left:3px solid #7fa78a;background:#f7faf5}.today-top-insights .today-running-advice.tone-info{border-color:#d5e5eb;border-left:3px solid #7eaec3;background:#f6fafb}.today-top-insights .today-running-advice.tone-caution{border-color:#eee1c4;border-left:3px solid #c6a261;background:#fffaf0}.today-top-insights .today-running-advice.tone-warning{border-color:#ead5cf;border-left:3px solid #c17a66;background:#fff8f5}.today-top-insights .today-running-advice h3{margin-top:10px;font-size:20px}.today-top-insights .today-running-advice p{margin-top:5px;font-size:12.5px;line-height:1.55}.today-top-insights li{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.today-top-insights .today-top-insights-card{display:block;margin:0;padding:10px 4px;border-bottom:1px solid #f2ecdd}.today-top-insights .today-top-insights-card:first-child{border-top:1px solid #eee7d8}.today-top-insights-domain{flex-shrink:0;margin-top:1px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600}.today-top-insights-entity{flex-shrink:0;padding:1px 7px;border-radius:999px;background:#f5f1e6;color:#6d6a63;font-size:11px;white-space:nowrap}.today-top-insights-text{flex:1;min-width:0;font-size:13px;color:#2f3838;line-height:1.5}.today-top-insights-value{flex-shrink:0;font-size:13px;font-weight:700;color:#b75f36;white-space:nowrap}.today-top-insights-quiet{margin:0!important;padding:6px 0;color:#9a9386;font-size:13px}.today-top-insights .today-top-insights-card .insight-card-title{font-size:13px}.today-top-insights .today-top-insights-card .insight-card-facts,.today-top-insights .today-top-insights-card .insight-card-reason,.today-top-insights .today-top-insights-card .insight-card-suggestion{margin-left:0!important}.today-top-insights>ul>li{display:block;margin:0}.today-insight-summary-shell{position:relative;display:flex;align-items:flex-start;gap:8px;width:100%;padding:10px 0;border-bottom:1px solid #f2ecdd}.today-top-insights>ul>li:first-child .today-insight-summary-shell,.today-top-insights>.today-insight-summary-shell:first-of-type{border-top:1px solid #eee7d8}.today-insight-summary-shell .insight-domain-tag{margin-top:1px;font-size:12px}.today-insight-summary-shell p{flex:1;min-width:0;margin:0;color:#3f4543;font-size:13px;line-height:1.55}.today-insight-summary-actions{position:relative;flex:0 0 auto;margin-left:auto}.today-insight-snooze-trigger{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#9a9386;cursor:pointer}.today-insight-snooze-trigger:hover,.today-insight-snooze-trigger[aria-expanded=true]{border-color:#ded6c7;background:#f8f4eb;color:#6c776e}.today-insight-snooze-trigger:focus-visible,.today-insight-snooze-option:focus-visible{outline:2px solid rgba(63,125,88,.28);outline-offset:2px}.today-insight-snooze-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;width:168px;padding:5px;border:1px solid #e4ddcf;border-radius:9px;background:#fffdf8;box-shadow:0 10px 24px #4f432f1f}.today-insight-snooze-menu-title{padding:5px 8px 6px;color:#948b7c;font-size:11px;line-height:1.3}.today-insight-snooze-option{display:block;width:100%;padding:7px 8px;border:0;border-radius:6px;background:transparent;color:#4e5853;font:inherit;font-size:12px;line-height:1.35;text-align:left;cursor:pointer}.today-insight-snooze-option:hover{background:#f3f7f1;color:#356f4d}@media(max-width:680px){.today-insight-summary-shell{gap:7px;padding:8px 0}.today-insight-snooze-menu{width:162px}.insight-entities{max-width:30%}.insight-ai-hint{flex-wrap:wrap}}.stock-drawdown-panel{margin-top:18px;border:1px solid #e7e0d2;border-radius:12px;background:#fffdf8}.stock-drawdown-panel summary{padding:11px 14px;cursor:pointer;font-size:14px;font-weight:700;color:#3c4444}.stock-drawdown-body{padding:0 14px 14px}.stock-drawdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}.stock-drawdown-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid #eee8db;border-radius:8px;background:#faf8f2}.stock-drawdown-item span{font-size:11px;color:#9a9386}.stock-drawdown-item strong{font-size:14px;color:#3c4444}.stock-drawdown-item strong.is-negative{color:#b0533a}.stock-drawdown-item strong.is-neutral{color:#6d6a63}.stock-drawdown-item small{font-size:11px;color:#8a857a}.stock-drawdown-event,.stock-drawdown-attribution{margin-bottom:12px}.stock-drawdown-event h4,.stock-drawdown-attribution h4{margin:0 0 8px;font-size:13px;font-weight:700;color:#2f3838}.stock-drawdown-note{margin:0 0 6px!important;font-size:12px;color:#6d6a63;line-height:1.6}.stock-drawdown-evidence{margin:0 0 6px;padding-left:18px;font-size:12px;color:#6d6a63}.stock-drawdown-evidence li{margin-bottom:3px}@media(max-width:680px){.stock-drawdown-grid{grid-template-columns:1fr 1fr}}.insight-detail-label{display:block;margin-bottom:4px;font-size:11px;font-weight:700;color:#9a9386}.insight-detail-label-inline{display:inline;margin-right:5px;font-size:11px;font-weight:700;color:#9a9386}.insight-evidence-chips{display:flex;flex-wrap:wrap;gap:6px}.insight-detail-lines{margin:0;padding:0;list-style:none;font-size:12px;color:#57554f}.insight-detail-lines li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px dashed #ece5d6}.insight-detail-lines li:last-child{border-bottom:0}.insight-detail-line-label{color:#3c4444;font-weight:600}.insight-detail-line-value{color:#6d6a63;white-space:nowrap}.insight-row-evidence{display:flex;align-items:flex-start;gap:8px;padding:0 4px 10px 44px;font-size:12px;color:#8a857a}.insight-row-evidence .insight-detail-label{flex-shrink:0;margin:2px 0 0}.insight-row-evidence .insight-detail-lines{flex:1;min-width:0}.insight-row-evidence .insight-detail-lines li{padding:2px 0;border-bottom:0}.insight-row-flat{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;padding:10px 4px}.insight-row-flat .insight-row-text{flex:1 1 auto;min-width:120px}.insight-row-flat .insight-row-evidence-inline{display:inline-flex;flex-wrap:wrap;gap:6px;min-width:0}.insight-row-flat .insight-row-value{margin-left:auto;font-weight:700;color:#2f3838}.insight-card{padding:10px 4px;border-bottom:1px solid #f2ecdd}.insight-card-head{display:flex;align-items:baseline;gap:10px;min-width:0}.insight-card-title{min-width:0;flex:1;font-size:14px;font-weight:700;color:#2f3838;line-height:1.45}.insight-card-facts{margin:3px 0 0 44px!important;font-size:12.5px;color:#57554f;line-height:1.5}.insight-card-reason{margin:1px 0 0 44px!important;font-size:12px;color:#9a9386;line-height:1.5}.insight-card-suggestion{margin:3px 0 0 44px!important;font-size:12px;color:#66745f;line-height:1.5}.insight-card-quiet{padding-top:8px;padding-bottom:8px}.insight-group{padding:4px 0}.insight-group-head{margin:8px 0 4px!important;font-size:12px;font-weight:700;color:#6d6a63}.status-insight-evidence-row{align-items:flex-start}.status-insight-evidence-copy{min-width:0;flex:1;display:grid;gap:2px}.status-insight-evidence-copy small{color:#aaa397;font-size:10.5px;line-height:1.4}.insight-module-disclaimer{margin:10px 0 0!important;font-size:10.5px;color:#b3ada1}@media(max-width:680px){.status-period-insights-head,.status-insight-overview-head{align-items:flex-start;flex-direction:column;gap:4px}.status-period-insights-head>span,.status-insight-overview-head>span{text-align:left}.status-insight-details{padding:0}.status-insight-focus-grid{grid-template-columns:minmax(0,1fr)}.status-insight-group{padding:10px}.trend-domain-summary{min-height:0}.status-insight-details-meta{width:100%;justify-content:space-between}.status-insight-evidence-copy .insight-sub-text{white-space:normal;overflow:visible}}
