:root{--np-color-page: #f4f6f1;--np-color-surface-deep: #1b5145;--np-color-card: #ffffff;--np-color-border: #e5e9e3;--np-color-text: #18221f;--np-color-muted: #7a817b;--np-radius-card: 18px;--np-radius-control: 9px;--np-shadow-card: 0 12px 36px rgb(31 58 49 / 5.5%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,Noto Sans SC,system-ui,sans-serif;color:#101820;background:#eef4f3}body{margin:0;background:linear-gradient(180deg,#f8fbfa 0,#eef4f3 280px,#eef4f3)}button{font:inherit}.app-shell{min-height:100vh}.mobile-bottom-nav,.security-mobile-list{display:none}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:44px;height:64px;padding:0 28px;border-bottom:1px solid #dfe8e5;background:#f8fbfaeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:baseline;gap:10px;padding:0;border:0;background:transparent;color:#101820;cursor:pointer}.brand strong{font-size:18px}.brand span,.status-card header span,.result-head span,.config-toolbar>span{color:#64748b}.space-nav{display:flex;align-items:center;gap:8px}.header-account{display:flex;align-items:center;gap:8px;margin-left:0;padding:5px 8px 5px 5px;border:1px solid transparent;border-radius:18px;background:transparent;color:#41556a;font-size:13px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.header-account:hover,.header-account:focus-visible{border-color:#cfe1dc;background:#edf6f3;color:#08765f;outline:none}.header-account.is-active{background:#e3f3ed;color:#08765f}.header-account>svg{width:14px;height:14px;fill:none;stroke:currentcolor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.header-notice-button.n-button{margin-left:auto}.header-notice-button svg{width:16px;height:16px;margin-right:5px;fill:none;stroke:currentcolor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.header-notice-button+.header-account{margin-left:0}.header-avatar{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#dff2eb;color:#08765f;font-weight:700}.auth-initializing{display:flex;min-height:100vh;align-items:center;justify-content:center;gap:12px;color:#64748b}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:#f7faf9}.login-visual{position:relative;display:grid;min-height:100vh;overflow:hidden;place-items:center;padding:72px;background:radial-gradient(circle at 18% 18%,rgb(98 205 172 / 30%),transparent 34%),radial-gradient(circle at 78% 74%,rgb(44 120 104 / 30%),transparent 36%),linear-gradient(145deg,#0d4d45,#123d39 58%,#0d302e);color:#fff}.login-visual-content{position:relative;z-index:1;width:min(560px,100%)}.login-eyebrow{display:inline-block;margin-bottom:24px;color:#9be2ca;font-size:13px;font-weight:700;letter-spacing:.14em}.login-visual h1{max-width:520px;margin:0;font-size:clamp(38px,5vw,64px);line-height:1.12}.login-visual p{max-width:470px;margin:24px 0 0;color:#e8faf4c2;font-size:16px;line-height:1.8}.login-orbit{position:relative;width:260px;height:110px;margin-top:62px;border-top:1px solid rgb(199 242 228 / 22%)}.login-orbit:before{position:absolute;top:-36px;left:14px;width:210px;height:70px;border:1px solid rgb(199 242 228 / 25%);border-radius:50%;content:"";transform:rotate(-7deg)}.login-orbit i{position:absolute;top:-5px;width:10px;height:10px;border-radius:50%;background:#8ce0c3;box-shadow:0 0 18px #8ce0c3bf}.login-orbit i:nth-child(1){left:12px}.login-orbit i:nth-child(2){left:82px;top:-24px}.login-orbit i:nth-child(3){left:157px;top:3px}.login-orbit i:nth-child(4){left:226px;top:-18px}.login-panel{display:grid;min-height:100vh;place-items:center;padding:48px}.login-card{display:grid;width:min(420px,100%);gap:20px;padding:36px;border:1px solid #d9e6e2;border-radius:18px;background:#fff;box-shadow:0 18px 50px #18413817}.login-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:10px;background:#eef5f3}.login-mode-switch button{height:36px;border:0;border-radius:7px;background:transparent;color:#64748b;cursor:pointer}.login-mode-switch button.active{background:#fff;color:#08765f;font-weight:700;box-shadow:0 2px 8px #1f4a4117}.login-card header span{color:#0b8b6c;font-size:13px;font-weight:700}.login-card h2{margin:6px 0 8px;font-size:28px}.login-card header p{margin:0;color:#718096}.login-card label{display:grid;gap:8px;color:#31485c;font-size:13px;font-weight:600}.login-email-note{margin:-6px 0 0;color:#7b8d9e;font-size:12px;line-height:1.6}.login-submit.n-button{width:100%;margin-top:4px;border-radius:9px;font-weight:700}.home,.workspace,.securities-page,.notices-page,.database-console-page{width:min(1320px,calc(100vw - 64px));margin:0 auto}.database-console-page{padding:28px 0 40px}.database-console-page>header{margin-bottom:16px}.database-console-page>header span{color:#0b8b6c;font-size:12px;font-weight:700;letter-spacing:.12em}.database-console-page h1{margin:4px 0 0;font-size:28px}.database-console-page iframe{width:100%;height:calc(100vh - 170px);min-height:620px;border:1px solid #d9e6e2;border-radius:10px;background:#fff}.notices-page{padding:38px 0 64px}.notices-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.notices-hero>div>span{color:#0b8b6c;font-size:12px;font-weight:700;letter-spacing:.12em}.notices-hero h1{margin:4px 0 6px;font-size:34px}.notices-hero p{margin:0;color:#64748b}.notices-hero-actions{display:flex;gap:10px;align-items:center}.notice-task-list,.notice-history-list{display:grid;gap:12px}.notice-task-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 20px;border:1px solid #d9e6e2;border-radius:12px;background:#fff}.notice-task-title{display:flex;align-items:center;gap:10px}.notice-task-title strong{font-size:16px}.notice-task-main>p{margin:7px 0;color:#40566b}.notice-task-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:#7a8b9b;font-size:12px}.notice-task-actions{display:flex;align-items:center;gap:8px}.notice-history-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px 220px minmax(180px,1fr);gap:16px;align-items:center;padding:14px 18px;border:1px solid #dfe8e5;border-radius:9px;background:#fff;color:#53677a;font-size:13px}.notice-history-row>div{display:grid;gap:3px}.notice-history-row>div span{color:#8795a3;font-size:12px}.notice-history-row .n-tag{width:fit-content;justify-self:start}.notice-history-error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-empty{padding:80px 0}.notice-editor.n-card{width:min(720px,calc(100vw - 40px))}.notice-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.notice-form-grid label{display:grid;gap:7px;color:#40566b;font-size:13px;font-weight:600}.notice-form-grid small{color:#8795a3;font-weight:400}.notice-form-grid small.notice-description-pending{color:#a66a19}.notice-cron-mode{display:flex;align-items:center;justify-content:space-between;padding-bottom:2px}.notice-cron-mode>button,.notice-condition-schedule-summary>button{padding:0;border:0;background:transparent;color:#08765f;font-size:12px;cursor:pointer}.notice-condition-schedule-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border:1px solid #d8e6e2;border-radius:8px;background:#f7faf9}.notice-condition-schedule-summary>div{display:grid;gap:3px}.notice-condition-schedule-summary span{color:#718096;font-size:11px}.notice-condition-schedule-summary strong{color:#27483f;font-size:13px}.notice-weekdays{display:flex;flex-wrap:wrap;gap:8px 16px;min-height:34px;align-items:center}.notice-cron-preview{display:grid;gap:7px;margin-top:4px;padding:11px 13px;border:1px solid #d8e6e2;border-radius:8px;background:#f7faf9;color:#52697b;font-size:12px;font-weight:400}.notice-cron-preview strong{color:#27483f;font-size:12px}.notice-cron-preview-title{display:flex;min-height:18px;align-items:center;justify-content:space-between}.notice-cron-preview-title span{color:#8795a3;font-size:11px}.notice-cron-preview-title>div{display:flex;align-items:center;gap:8px}.notice-cron-preview ol{display:grid;grid-template-columns:1fr;gap:5px;margin:0;padding-left:20px}.notice-cron-preview.pending{color:#718096}.notice-cron-preview.error{border-color:#f3cccc;background:#fff7f7;color:#c2414f}.notice-schedule-detail-trigger{padding:0;border:0;background:transparent;color:#738a84;font-size:11px;cursor:pointer}.notice-schedule-detail-trigger:hover{color:#08765f}.notice-schedule-detail-popover{display:grid;gap:7px;min-width:230px;color:#64748b;font-size:12px}.notice-schedule-detail-popover code{padding:7px 9px;border-radius:6px;background:#f3f7f6;color:#27483f;font-family:SFMono-Regular,Consolas,monospace}.notice-current-metrics{display:grid;gap:11px;padding:13px 14px;border:1px solid #d8e6e2;border-radius:9px;background:#f7faf9}.notice-current-metrics>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;color:#718096;font-size:11px}.notice-current-metrics>header>div{display:grid;gap:2px}.notice-current-metrics>header strong{color:#27483f;font-size:13px}.notice-current-metrics>header>div span,.notice-current-metrics>p{color:#718096;font-size:12px}.notice-current-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.notice-current-metric-grid>div{display:grid;gap:3px;padding:9px 10px;border-radius:7px;background:#fff}.notice-current-metric-grid span{color:#718096;font-size:11px}.notice-current-metric-grid strong{color:#173f35;font-size:14px}.notice-current-metric-grid strong.unavailable{color:#9aa7b2;font-weight:500}.notice-ai-button{display:inline-flex;height:28px;align-items:center;gap:5px;padding:0 9px;border:0;border-radius:7px;background:#e9f7f2;color:#08765f;font-size:12px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease}.notice-ai-button:hover:not(:disabled){background:#d9f0e8;color:#05654f}.notice-ai-button:disabled{cursor:wait;opacity:.7}.notice-ai-button svg{width:14px;height:14px;fill:currentcolor}.notice-ai-button:disabled svg{animation:notice-ai-pulse .9s ease-in-out infinite alternate}@keyframes notice-ai-pulse{to{opacity:.35;transform:scale(.88)}}.notice-ai-result{display:grid;gap:5px;padding:8px 10px;border:1px solid #d9e9e4;border-radius:9px;background:linear-gradient(135deg,#f6fbf9,#f0f8f5)}.notice-ai-result>div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:7px;align-items:start}.notice-ai-result span{display:grid;width:25px;height:21px;place-items:center;border-radius:6px;font-size:11px;font-weight:700}.notice-ai-result span.user{background:#edf2f7;color:#526579}.notice-ai-result span.ai{background:#dff2eb;color:#08765f}.notice-ai-result p{margin:0;color:#40566b;font-size:13px;line-height:1.45}.notice-ai-result code{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:5px;background:#e3f1ec;color:#245b4e;font-size:12px}.notice-ai-result.failed{border-color:#f0cccc;background:#fff7f7}.notice-ai-result.failed p,.notice-ai-result.failed span.ai{color:#b83b4a}.notice-ai-result.failed span.ai{background:#fde7ea}.notice-form-wide{grid-column:1 / -1}.notice-editor-actions{display:flex;justify-content:flex-end;gap:10px}.hero{padding:72px 0 28px}.eyebrow{margin:0 0 8px;color:#0f766e;font-weight:700}h1,h2,p{letter-spacing:0}.hero h1,.workspace-head h1{margin:0;font-size:42px;line-height:1.15}.hero-copy,.workspace-head p{margin:14px 0 0;color:#475569}.space-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.valuation-watch{margin-top:14px;padding:20px;border:1px solid #dbe7e3;border-radius:10px;background:#fff}.valuation-watch-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.valuation-watch-head h2,.valuation-watch-head p{margin:0}.valuation-watch-head h2{font-size:22px}.valuation-watch-head>div:first-child>span{display:block;margin-top:5px;color:#64748b;font-size:13px}.valuation-watch-date{display:grid;justify-items:end;color:#64748b;font-size:12px}.valuation-watch-date strong{color:#173f35;font-size:15px}.valuation-watch-date small{margin-top:3px;font-size:12px}.valuation-controls{display:flex;align-items:center;margin:16px 0 12px}.valuation-filter-strip{display:flex;align-items:center;gap:4px;padding:4px;border-radius:10px;background:#f1f6f4;flex-wrap:wrap}.valuation-summary{display:flex;gap:2px;flex-wrap:wrap}.valuation-add-button.n-button{min-width:88px;height:30px;margin-left:4px;border-left:1px solid #b7d8cf;border-radius:7px;font-size:12px;font-weight:700}.valuation-edit-button.n-button{height:30px;margin-left:2px;border-radius:7px;font-size:12px}.valuation-portfolio-add-button.n-button{height:30px;border-radius:7px;font-size:12px}.valuation-edit-button.n-button.active{border-color:#e5a4ad;background:#fff1f3;color:#b83246;box-shadow:inset 0 0 0 1px #b8324614}.valuation-summary button,.valuation-filter-group button{display:inline-flex;min-height:30px;align-items:center;gap:6px;padding:4px 9px;border:0;border-radius:7px;background:transparent;color:#526579;font-size:12px;cursor:pointer}.valuation-summary button.active,.valuation-filter-group button.active{background:#fff;box-shadow:0 1px 5px #133f351a;color:#08765f;font-weight:700}.valuation-summary button>span{width:7px;height:7px;border-radius:50%}.valuation-summary span.low{background:#14946d}.valuation-summary span.fair{background:#4d7ca8}.valuation-summary span.high{background:#d97728}.valuation-summary span.unavailable{background:#9aa8b2}.valuation-summary strong{color:#173f35}.valuation-filter-group{display:flex;align-items:center;gap:2px;padding-left:4px;border-left:1px solid #d8e5e1}.valuation-table-wrap{overflow:clip;border:1px solid #dce7e3;border-radius:9px}.valuation-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.valuation-table>thead>tr>th{position:sticky;z-index:4;top:64px;padding:9px 7px;background:#f5f9f8;box-shadow:0 1px #dce7e3,0 4px 10px #173f350d;color:#52697b;text-align:left;white-space:nowrap}.valuation-table>tbody>tr>td{padding:10px 7px;border-top:1px solid #e6eeeb;color:#173f35;vertical-align:middle}.valuation-table>tbody>tr{cursor:pointer;transition:background-color .14s ease}.valuation-table>tbody>tr:hover{background:#f3faf7}.valuation-table>tbody>tr.is-editing{cursor:default}.valuation-table>tbody>tr.is-editing:hover{background:transparent}.valuation-table>tbody>tr.is-removable{background:#fffafb}.valuation-table>tbody>tr.is-removable:hover{background:#fff5f6}.valuation-table>tbody>tr.is-expanded{background:#f3faf7}.valuation-table>tbody>tr.valuation-expanded-row,.valuation-table>tbody>tr.valuation-expanded-row:hover{background:#f8fbfa}.valuation-table>tbody>tr.valuation-expanded-row>td{padding:0;border-top-color:#d5e5df}.valuation-table>thead>tr>th:nth-child(1),.valuation-table>tbody>tr>td:nth-child(1){width:17%}.valuation-table>thead>tr>th:nth-child(2),.valuation-table>tbody>tr>td:nth-child(2){width:17%}.valuation-table>thead>tr>th:nth-child(3),.valuation-table>tbody>tr>td:nth-child(3){width:16%}.valuation-table>thead>tr>th:nth-child(4),.valuation-table>tbody>tr>td:nth-child(4),.valuation-table>thead>tr>th:nth-child(5),.valuation-table>tbody>tr>td:nth-child(5),.valuation-table>thead>tr>th:nth-child(6),.valuation-table>tbody>tr>td:nth-child(6){width:7%}.valuation-table>thead>tr>th:nth-child(7),.valuation-table>tbody>tr>td:nth-child(7){width:7.5%}.valuation-table>thead>tr>th:nth-child(8),.valuation-table>tbody>tr>td:nth-child(8){width:8.5%}.valuation-table>thead>tr>th:nth-child(9),.valuation-table>tbody>tr>td:nth-child(9),.valuation-table>thead>tr>th:nth-child(10),.valuation-table>tbody>tr>td:nth-child(10){width:6.5%}.valuation-table>tbody>tr>td{overflow-wrap:anywhere}.valuation-table>tbody>tr>td>strong,.valuation-table>tbody>tr>td>small,.valuation-table>tbody>tr:not(.valuation-expanded-row)>td:first-child span{display:block}.valuation-table>tbody>tr>td>small,.valuation-table>tbody>tr:not(.valuation-expanded-row)>td:first-child span{margin-top:3px;color:#718096;font-size:12px}.valuation-table>tbody>tr>td:nth-child(3) b{display:inline-block;margin-top:4px;padding:1px 5px;border-radius:4px;background:#fff1df;color:#ae641e;font-size:11px}.valuation-product-title{display:flex;align-items:center;justify-content:flex-start;gap:6px}.valuation-product-title button{padding:1px 5px;border:0;border-radius:4px;background:#fdebec;color:#b83b4a;font-size:9px;cursor:pointer}.valuation-product-title button:disabled{opacity:.5}.valuation-delete-icon,.valuation-product-title .valuation-delete-icon{display:inline-flex;width:21px;height:21px;flex:0 0 21px;align-items:center;justify-content:center;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#d14c5f;font-size:20px;line-height:1;cursor:pointer;transition:color .14s ease,background-color .14s ease,transform .14s ease}.valuation-delete-icon:hover{background:#fde9ec;color:#b83246;transform:scale(1.06)}.valuation-delete-icon:disabled{cursor:wait;opacity:.45}.valuation-table>tbody>tr:not(.valuation-expanded-row)>td:first-child small em{margin-left:5px;padding:1px 4px;border-radius:4px;background:#eaf4f1;color:#08765f;font-style:normal}.valuation-temperature{display:grid;gap:5px}.valuation-temperature>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.valuation-temperature>div:first-child>span{color:#526579;font-variant-numeric:tabular-nums}.valuation-temperature-track{position:relative;height:7px;margin:2px 4px;border-radius:999px;background:linear-gradient(90deg,#158866 0,#158866 20%,#6bbd8d 20%,#6bbd8d 40%,#6f93b2 40%,#6f93b2 60%,#e3a357 60%,#e3a357 80%,#d65b58 80%,#d65b58)}.valuation-temperature-track i{position:absolute;top:50%;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#173f35;box-shadow:0 1px 5px #133f354d;transform:translate(-50%,-50%)}.valuation-temperature>small{display:flex;justify-content:space-between;color:#8a9aa6;font-size:11px}.valuation-temperature>small span{flex:1}.valuation-risk-temperature .valuation-temperature-track{background:linear-gradient(90deg,#57b987 0,#57b987 30%,#6f93b2 30%,#6f93b2 70%,#dc8a45 70%,#dc8a45 88%,#d65b58 88%,#d65b58)}.valuation-risk-temperature strong.risk-low{color:#168564}.valuation-risk-temperature strong.risk-medium{color:#4f7699}.valuation-risk-temperature strong.risk-high{color:#c34747}.zone-undervalued{color:#08765f}.zone-below_fair{color:#2c936e}.zone-fair{color:#4f7699}.zone-above_fair{color:#c37725}.zone-overvalued{color:#c34747}.zone-unavailable{color:#7b8b97}.valuation-empty{display:grid;min-height:150px;place-items:center;color:#718096;font-size:13px}.valuation-results>.valuation-empty{min-height:inherit}.valuation-mobile-list{display:none}.valuation-watch>footer{display:flex;justify-content:space-between;gap:16px;margin-top:11px;color:#718096;font-size:12px}.valuation-watch-modal.n-card{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}.valuation-watch-modal>.n-card__content>p{margin:0 0 16px;color:#64748b;font-size:12px;line-height:1.6}.valuation-watch-form{display:grid;grid-template-columns:1fr;gap:14px}.valuation-watch-form label{display:grid;gap:6px}.valuation-watch-form label>span{color:#405468;font-size:12px;font-weight:700}.valuation-watch-form label>small,.valuation-search-empty{color:#718096;font-size:12px}.valuation-watch-index-preview{display:grid;gap:5px;margin-top:14px;padding:11px 12px;border-radius:8px;background:#f4f8f7;color:#64748b;font-size:12px}.valuation-watch-index-preview strong{color:#173f35}.valuation-watch-index-preview small{color:#718096}.valuation-watch-modal-actions{display:flex;justify-content:flex-end;gap:8px}.valuation-inline-history{display:grid;gap:10px;padding:15px 18px 13px;border-bottom:1px solid #dce7e3;background:#f8fbfa}.valuation-inline-history>header{display:flex;align-items:center;gap:14px}.valuation-inline-history>header>div:first-child{display:grid;min-width:180px;gap:2px}.valuation-inline-history>header>div:first-child strong{color:#173f35;font-size:13px}.valuation-inline-history>header>div:first-child span{color:#718096;font-size:12px}.valuation-inline-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.valuation-inline-actions .security-history-ranges button{min-width:48px;height:28px;padding:0 7px;font-size:12px}.valuation-inline-detail{height:34px;padding:0 11px;border:1px solid #b8d9d0;border-radius:7px;background:#fff;color:#08765f;font-size:12px;font-weight:700;cursor:pointer}.valuation-inline-detail:hover{border-color:#82c2b0;background:#eef8f5}.valuation-inline-chart.security-history-chart{height:250px}.valuation-inline-history .security-history-line.adjusted{stroke:#7d8b96}.valuation-inline-history .security-history-line.unit{stroke:#aab4bc}.valuation-max-drawdown-window{fill:#0f8a6809;pointer-events:none}.valuation-max-drawdown-line{fill:none;stroke:#0f8a68;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.96;vector-effect:non-scaling-stroke}.valuation-recovery-window{fill:#cf465907;pointer-events:none}.valuation-recovery-line{fill:none;stroke:#cf4659;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.96;vector-effect:non-scaling-stroke}.valuation-cycle-annotation{position:absolute;z-index:2;display:grid;width:max-content;max-width:min(238px,calc(100% - 16px));max-height:56px;gap:2px;overflow:hidden;padding:5px 8px;border:1px solid;border-radius:5px;background:#fffffff0;line-height:1.3;pointer-events:none}.valuation-cycle-annotation strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.valuation-cycle-annotation span{color:#7b6870;font-size:11px;white-space:nowrap}.valuation-cycle-annotation.drawdown{top:7px;border-color:#0f8a6861;color:#08765f}.valuation-cycle-annotation.recovery{top:49px;border-color:#cf46595c;color:#b43d4f}.valuation-extreme-point circle{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.valuation-extreme-point.high circle{fill:#c8782f}.valuation-extreme-point.low circle{fill:#168564}.security-history-chart .valuation-extreme-point text{font-size:11px;font-weight:700;paint-order:stroke;stroke:#ffffffeb;stroke-width:3px;stroke-linejoin:round}.security-history-chart .valuation-extreme-point.high text{fill:#a85f24}.security-history-chart .valuation-extreme-point.low text{fill:#08765f}.valuation-inline-current{fill:#0f8a68;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.valuation-inline-history>footer{display:flex;align-items:center;gap:14px;color:#718096;font-size:11px}.valuation-inline-history>footer span{display:inline-flex;align-items:center;gap:5px}.valuation-inline-history>footer i{width:15px;height:2px;border-radius:999px}.valuation-inline-history>footer i.adjusted{background:#7d8b96}.valuation-inline-history>footer i.unit{background:#aab4bc}.valuation-inline-history>footer i.drawdown{background:#0f8a68}.valuation-inline-history>footer i.recovery{background:#cf4659}.valuation-inline-details{display:grid;height:var(--valuation-detail-height, auto);grid-template-columns:minmax(0,1.7fr) minmax(360px,.8fr);align-items:stretch;gap:10px;margin-top:3px;padding-top:10px;border-top:1px solid #dce7e3}.valuation-detail-section{display:grid;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:7px}.valuation-detail-section>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.valuation-detail-section>header strong{color:#173f35;font-size:12px}.valuation-detail-section>header span{color:#82918e;font-size:11px}.valuation-history-tabs{display:flex;align-items:center;gap:14px}.valuation-history-tabs button{position:relative;padding:0 0 5px;border:0;background:transparent;color:#718096;font-size:12px;cursor:pointer}.valuation-history-tabs button.active{color:#173f35;font-weight:700}.valuation-history-tabs button.active:after{position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:#0f8a68;content:""}.valuation-premium-date-heading{display:inline-flex!important;align-items:center;gap:5px;margin:0!important;white-space:nowrap}.valuation-premium-date-help{display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:#8a9aab;line-height:1;cursor:help;transition:color .14s ease}.valuation-premium-date-help:hover,.valuation-premium-date-help:focus-visible{color:#0f8a68;outline:none}.valuation-premium-date-popover{display:grid;max-width:250px;gap:4px}.valuation-premium-date-popover strong{color:#274f45;font-size:12px}.valuation-premium-date-popover span{color:#718096;font-size:11px;line-height:1.55}.valuation-detail-table-wrap{overflow:hidden;border:1px solid #dce7e3;border-radius:7px;background:#ffffffb8}.valuation-detail-table{width:100%;border-collapse:collapse;font-size:12px}.valuation-detail-table th{padding:7px 10px;background:#f2f7f5;color:#718096;font-weight:500;text-align:left}.valuation-detail-table td{padding:7px 10px;border-top:1px solid #e5eeeb;color:#274f45;font-variant-numeric:tabular-nums}.valuation-detail-table td.positive{color:#c7434f;font-weight:700}.valuation-detail-table td.negative{color:#078263;font-weight:700}.valuation-detail-table th:not(:first-child),.valuation-detail-table td:not(:first-child){text-align:right}.valuation-performance-table th,.valuation-performance-table td{text-align:left}.valuation-performance-table th:nth-child(1),.valuation-performance-table td:nth-child(1){width:12%}.valuation-performance-table th:nth-child(2),.valuation-performance-table td:nth-child(2){width:17%}.valuation-performance-table th:nth-child(3),.valuation-performance-table td:nth-child(3){width:13%;text-align:right}.valuation-performance-table th:nth-child(4),.valuation-performance-table td:nth-child(4){width:58%;text-align:left}.valuation-performance-table tbody tr.category-start:not(:first-child) td{border-top-color:#cadbd5}.valuation-performance-table td:first-child span{color:#58736a;font-size:11px;font-weight:700}.valuation-nav-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.valuation-nav-scroll::-webkit-scrollbar{display:none}.valuation-nav-scroll .valuation-detail-table{table-layout:fixed}.valuation-nav-scroll .valuation-detail-table th{position:sticky;z-index:1;top:0}.valuation-nav-scroll .valuation-detail-table th,.valuation-nav-scroll .valuation-detail-table td{width:25%;white-space:nowrap}.valuation-portfolio-options{display:grid;max-height:min(430px,55dvh);overflow-y:auto;border:1px solid #dce7e3;border-radius:9px}.valuation-portfolio-option{display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:pointer}.valuation-portfolio-option+.valuation-portfolio-option{border-top:1px solid #e7efec}.valuation-portfolio-option:hover{background:#f4f9f7}.valuation-portfolio-option>span{display:grid;gap:3px;min-width:0}.valuation-portfolio-option strong{overflow:hidden;color:#173f35;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.valuation-portfolio-option small{color:#718096;font-size:12px}.valuation-portfolio-option em{color:#b26a28;font-size:12px;font-style:normal}.valuation-portfolio-option em.eligible{color:#168564}.space-card{display:flex;min-height:190px;flex-direction:column;justify-content:space-between;padding:22px;border:1px solid #dbe7e3;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.space-icon{display:inline-grid;width:34px;height:34px;margin-bottom:18px;place-items:center;border-radius:8px;background:#e7f5f1;color:#0f766e;font-weight:700}.space-card h2{margin:0 0 8px;font-size:18px}.space-card p{margin:0;color:#526579;line-height:1.7}.space-badge,.ai-panel header span{align-self:flex-start;padding:2px 8px;border:1px solid #99d8bd;border-radius:4px;background:#ecfdf5;color:#0f766e;font-size:12px}.workspace{width:min(1680px,calc(100vw - 64px));padding:38px 0 64px}.workspace-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.workspace-actions{display:grid;grid-template-columns:220px 96px 112px 38px;gap:8px;align-items:center}.workspace-action-button,.portfolio-refresh-button{height:36px;border-radius:7px;font-weight:600}.agent-mode-float{position:fixed;top:82px;right:24px;z-index:20;display:flex;align-items:center;gap:10px;width:auto;padding:10px 12px;color:#365660;font-size:13px;background:#fffffff0;border:1px solid #cfe0dc;border-radius:10px;box-shadow:0 8px 24px #2c4e531f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.agent-mode-float .n-radio-group{display:flex}.portfolio-refresh-button{width:38px;padding-inline:0}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 720px;gap:18px;align-items:start}.main-column{display:grid;gap:18px;min-width:0}.portfolio-empty-state{display:grid;min-height:280px;place-items:center;align-content:center;gap:12px;padding:48px 24px;border:1px solid #dbe7e3;border-radius:12px;background:#fff;text-align:center}.portfolio-empty-state h2,.portfolio-empty-state p{margin:0}.portfolio-empty-state p{color:#64748b}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metrics .n-card{min-height:122px}.metric-label{display:block;color:#64748b}.metric-status{display:block;margin:14px 0 6px;font-size:26px}.workspace-card,.ai-panel,.status-card{border:1px solid #dbe7e3;border-radius:8px;background:#fff}.workspace-card{padding:2px 20px 22px;min-width:0;overflow:hidden}.portfolio-mobile-tabs{display:none}.status-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.asset-detail,.rebalance-card{grid-column:1 / -1}.rebalance-card{padding:18px 20px}.status-card{padding:22px}.status-card header,.rebalance-card .result-head,.ai-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-card h2,.ai-panel h2{margin:0;font-size:20px}.donut-row{display:grid;grid-template-columns:176px minmax(0,1fr);gap:24px;align-items:center;min-height:242px;padding-top:14px}.donut{position:relative;width:176px;aspect-ratio:1;border-radius:50%;margin:0 auto}.donut:after{content:"";position:absolute;top:36px;right:36px;bottom:36px;left:36px;border-radius:50%;background:#fff}.legend{display:grid;grid-template-columns:1fr;gap:12px}.legend-row{display:grid;grid-template-columns:12px auto auto;gap:8px;align-items:center;justify-content:start;min-width:0}.legend-dot{width:9px;height:9px;border-radius:50%}.legend-row span:nth-child(2),.legend-row strong{white-space:nowrap}.axis-labels{display:flex;justify-content:space-between;margin-top:8px;color:#8aa2af;font-size:12px}.rebalance-overview-card{display:flex;flex-direction:column}.rebalance-health{margin-top:24px;padding:18px;border:1px solid #dbe7e3;border-radius:8px;background:#f8fbfa}.rebalance-health-value{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.rebalance-health-value span,.rebalance-threshold-scale,.deviation-focus span{color:#64748b;font-size:12px}.rebalance-health-value strong{font-size:28px;line-height:1}.rebalance-threshold-track{height:7px;margin-top:16px;overflow:hidden;border-radius:999px;background:#dce9e5}.rebalance-threshold-track i{display:block;height:100%;border-radius:inherit;background:#21a675;transition:width .24s ease-out}.rebalance-threshold-track i.warning{background:#d99022}.rebalance-threshold-scale{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.deviation-focus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.deviation-focus>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:13px 14px;border:1px solid #e2ebe8;border-radius:8px}.deviation-focus span{grid-column:1 / -1}.deviation-focus strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deviation-focus b{color:#405468}.rebalance-copy{margin:14px 0;color:#526579;line-height:1.7}.rebalance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rebalance-actions .n-button{height:36px;border-radius:7px;font-weight:700}.ai-flight-bubble{position:fixed;z-index:9999;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #9bd8c2;border-radius:50%;background:linear-gradient(145deg,#16a36f,#08775a);box-shadow:0 8px 22px #08775a47;color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;pointer-events:none}.ai-messages.is-receiving{animation:ai-messages-receive .38s ease-out}@keyframes ai-messages-receive{0%{background:transparent}45%{background:#21a67514}to{background:transparent}}.rebalance-result{display:grid;gap:8px;margin-top:14px}.asset-detail .n-data-table{margin-top:16px;overflow:hidden;border:1px solid #e2ebe8;border-radius:8px}.asset-detail .n-data-table-th{background:#f5f9f8;color:#526579;font-size:12px}.asset-detail .n-data-table-td{height:52px}.asset-detail-mobile{display:none}.asset-category-cell{display:inline-flex;align-items:center;gap:9px}.asset-category-cell i{width:9px;height:9px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 0 3px #0f766e12}.asset-amount{color:#172b3d;font-variant-numeric:tabular-nums}.asset-ratio{color:#64748b;font-variant-numeric:tabular-nums}.asset-ratio.is-actual{color:#172b3d;font-weight:700}.asset-deviation,.asset-state-pill{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;line-height:18px;font-variant-numeric:tabular-nums}.asset-deviation.is-over{background:#fff5ec;color:#b56217}.asset-deviation.is-under{background:#f2f7fb;color:#4f6f8d}.asset-deviation.is-even{background:#f4f7f6;color:#64748b}.asset-state-pill{min-width:48px}.asset-state-pill.is-normal{background:#edf9f3;color:#08775a}.asset-state-pill.is-warning{background:#fff4e5;color:#a85b13}.action-card{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #dbe7e3;border-radius:8px;background:#fbfdfc}.action-card p{margin:2px 0 0;color:#526579;font-size:13px;line-height:1.45}.action-title-row{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:8px}.rebalance-plan-meta{display:inline-flex;align-items:center;gap:8px}.rebalance-valuation-tag,.action-valuation{display:inline-flex;width:fit-content;align-items:center;border-radius:999px;font-size:12px;font-weight:600;line-height:18px}.rebalance-valuation-tag{padding:2px 8px;border:1px solid #bed8cf;background:#eef8f4;color:#08775a}.rebalance-valuation-tag.is-estimated,.action-valuation.is-estimated{border-color:#b9d4ef;background:#eff7ff;color:#286a9f}.rebalance-valuation-tag.is-mixed{border-color:#e8cf9d;background:#fff8e9;color:#98631b}.action-valuation{padding:1px 7px;border:1px solid transparent;background:#eef8f4;color:#08775a}.action-valuation.is-market{background:#f4f1fd;color:#6d4caf}.rebalance-warnings{margin-top:10px;padding:10px 14px;border:1px solid #f0d7aa;border-radius:8px;background:#fffaf0;color:#76551c}.rebalance-warnings ul{display:grid;gap:3px;margin:5px 0 0;padding-left:18px;font-size:13px;line-height:1.45}.action-tag{padding:4px 9px;border-radius:6px;text-align:center;font-size:12px;font-weight:700}.action-tag.add{background:#e1f6ec;color:#059669}.action-tag.reduce{background:#fff4dc;color:#d97706}.config-panel{padding-top:4px;min-width:0}.config-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:18px;padding:12px 14px;border:1px solid #dce7e3;border-radius:10px;background:#f8fbfa}.config-toolbar-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.config-toolbar-summary>span{color:#64748b;white-space:nowrap}.config-threshold-field{display:flex;align-items:center;gap:10px;padding-left:18px;border-left:1px solid #e2ebe8}.config-threshold-field>span{color:#405468;font-size:13px;font-weight:700;white-space:nowrap}.config-threshold-field .n-input-number{width:132px}.config-table{display:grid;overflow:hidden;border:1px solid #e2ebe8;border-radius:8px}.config-head,.asset-group-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 110px minmax(210px,1.5fr) 120px 140px 80px}.config-head{padding:12px 0;background:#f7faf9;color:#405468;font-weight:700}.config-head>span{padding:0 14px;white-space:nowrap}.asset-group-row{border-top:1px solid #e2ebe8}.group-cell,.holdings{padding:14px}.category-cell,.target-cell{border-right:1px solid #e2ebe8}.holdings{grid-column:3 / -1;display:grid;padding:8px 0;gap:6px}.holding-row{display:grid;grid-template-columns:minmax(210px,1fr) 120px 140px 80px;gap:0;align-items:center}.holding-row>*{min-width:0;padding-right:14px;padding-left:14px;box-sizing:border-box}.holding-row>span{color:#405468}.inline-error{margin:12px 0 0;color:#dc2626}.holding-product-editor{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,auto);gap:4px;align-items:center}.securities-page{padding:38px 0 64px}.securities-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.securities-head h1{margin:0;font-size:38px}.securities-head p:not(.eyebrow){margin:12px 0 0;color:#526579}.security-watch-card{min-height:480px;padding:22px;border:1px solid #dbe7e3;border-radius:10px;background:#fff}.security-watch-search{display:grid;grid-template-columns:minmax(280px,560px) 90px;gap:10px;margin-bottom:20px;padding:14px;border:1px solid #dce7e3;border-radius:10px;background:#f8fbfa}.security-watch-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:18px}.security-watch-list{display:grid;align-content:start;gap:8px}.security-watch-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #dbe7e3;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.security-watch-item.active{border-color:#0f766e;background:#f0faf7}.security-watch-item>span{display:grid;gap:3px}.security-watch-item small{color:#64748b}.security-detail-card{padding:22px;border:1px solid #cfe0db;border-radius:8px;background:#fbfdfc}.security-detail-title{display:flex;align-items:start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #dfe8e5}.security-detail-title p,.security-detail-title h2{margin:0}.security-detail-title p{color:#0f766e}.security-detail-title h2{margin-top:5px;font-size:24px}.security-detail-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:12px 0 0}.security-detail-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e6eeeb}.security-detail-card dt{color:#64748b}.security-detail-card dd{margin:0;font-weight:600;text-align:right}.security-watch-empty{display:grid;min-height:350px;place-items:center;color:#64748b}.security-back-button{display:inline-flex;min-width:118px;min-height:34px;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:1px solid #b8ddd2;border-radius:999px;background:#e9f6f2;box-shadow:0 2px 8px #08765f14;color:#08765f;font-size:12px;font-weight:700;cursor:pointer}.security-back-button:hover{border-color:#82c2b0;background:#dff2ec;color:#065f4c}.security-live-actions,.security-live-status{display:flex;align-items:center}.security-live-actions{gap:12px}.security-live-status{gap:6px;color:#08765f;font-size:12px;line-height:16px;white-space:nowrap}.security-live-status i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px #10b9811f}.security-live-status small{display:inline-flex;height:16px;align-items:center;color:#718096;font-size:11px;line-height:16px}.security-live-status.error{color:#c2414f}.security-live-status.error i{background:#ef4444;box-shadow:0 0 0 4px #ef44441f}.security-market-card{min-height:480px;padding:20px;border:1px solid #dbe7e3;border-radius:10px;background:#fff}.security-market-card .security-watch-search{position:relative}.security-search-results{position:absolute;z-index:8;top:58px;left:14px;display:grid;width:min(560px,calc(100% - 118px));overflow:hidden;border:1px solid #cfe0db;border-radius:8px;background:#fff;box-shadow:0 12px 32px #0f2d2624}.security-search-results button{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:0;border-bottom:1px solid #edf2f0;background:#fff;text-align:left;cursor:pointer}.security-search-results button:hover{background:#f0faf7}.security-search-results button>span{display:grid;gap:2px}.security-search-results small{color:#718096}.security-live-table-wrap{overflow-x:auto;border:1px solid #dce7e3;border-radius:9px}.security-live-table{width:100%;min-width:1120px;border-collapse:collapse;font-size:13px}.security-live-table th{padding:11px 12px;background:#f5f9f8;color:#52697b;font-size:12px;font-weight:600;text-align:right;white-space:nowrap}.security-live-table th:first-child,.security-live-table td:first-child{text-align:left}.security-live-table td{padding:12px;border-top:1px solid #e6eeeb;text-align:right;white-space:nowrap}.security-live-table tbody tr{cursor:pointer;transition:background-color .14s ease}.security-live-table tbody tr:hover,.security-live-table tbody tr.active{background:#f0faf7}.security-live-table td:first-child strong,.security-live-table td:first-child small{display:block}.security-live-table td:first-child small{margin-top:3px;color:#718096;font-size:11px}.security-live-table .positive{color:#dc2626;font-weight:700}.security-live-table .negative{color:#059669;font-weight:700}.quote-cell.up{animation:quote-up .48s ease}.quote-cell.down{animation:quote-down .48s ease}@keyframes quote-up{0%{background:#ef44443d;color:#b91c1c}to{background:transparent}}@keyframes quote-down{0%{background:#10b98138;color:#047857}to{background:transparent}}.security-live-detail{margin-top:18px;padding:20px;border:1px solid #cfe0db;border-radius:9px;background:#fbfdfc}.security-live-detail-first{margin-top:0;margin-bottom:18px}.security-live-detail>header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #dfe8e5}.security-live-detail header span{color:#08765f;font-size:12px}.security-live-detail h2{margin:3px 0 0;font-size:22px}.security-live-detail dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.security-live-detail.is-open-fund dl{grid-template-columns:repeat(3,minmax(0,1fr))}.security-live-detail dl>div{display:grid;gap:5px;padding:11px 12px;border-radius:7px;background:#f3f8f6}.security-live-detail dt{color:#718096;font-size:11px}.security-live-detail dd{margin:0;color:#173f35;font-size:16px;font-weight:700}.security-live-detail footer{display:flex;gap:22px;color:#718096;font-size:12px}.security-history-card{margin:18px 0 14px;padding:16px;scroll-margin-top:78px;border:1px solid #dce7e3;border-radius:9px;background:#fff}.security-history-card>header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 12px;border:0}.security-history-card>header>div:first-child{display:grid;gap:3px}.security-history-card>header strong{color:#173f35;font-size:15px}.security-history-card>header span{color:#718096;font-size:11px}.security-history-card>header>.security-back-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.security-history-card>header>.security-history-ranges{margin-left:auto}.security-history-ranges{display:flex;gap:4px;padding:3px;border-radius:8px;background:#f1f6f4}.security-history-ranges button{min-width:52px;height:28px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:#526579;font-size:12px;cursor:pointer}.security-history-ranges button.active{background:#fff;box-shadow:0 1px 5px #133f351a;color:#08765f;font-weight:700}.security-history-chart{position:relative;height:280px;overflow:hidden;touch-action:pan-y}.security-history-chart svg{display:block;width:100%;height:100%;overflow:visible}.security-history-chart text{fill:#718096;font-size:11px}.security-history-grid{stroke:#e5eeeb;stroke-width:1}.security-history-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;vector-effect:non-scaling-stroke}.security-history-line.adjusted{stroke:#0f8a68}.security-history-line.unit{stroke:#4b78d1;stroke-width:1.2;opacity:.82}.security-history-hover{stroke:#8aa29b;stroke-width:1;stroke-dasharray:4 4}.security-history-tooltip{position:absolute;z-index:2;top:8px;display:grid;min-width:142px;gap:3px;padding:8px 10px;border:1px solid #cfe0db;border-radius:7px;background:#fffffff5;box-shadow:0 6px 18px #173f351f;color:#405468;font-size:11px;pointer-events:none}.security-history-tooltip strong{color:#173f35}.security-history-empty{display:grid;min-height:220px;place-items:center;color:#718096;font-size:13px}.security-live-detail .security-history-card>footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:8px;color:#718096;font-size:11px}.security-history-card>footer span{display:inline-flex;align-items:center;gap:5px}.security-history-card>footer i{width:16px;height:2px;border-radius:999px}.security-history-card>footer i.adjusted{background:#0f8a68}.security-history-card>footer i.unit{background:#4b78d1}.security-history-card>footer small{margin-left:auto}.transaction-panel{display:grid;gap:18px;padding:8px 4px}.transaction-manual-entry{display:flex;justify-content:flex-end;min-height:24px;margin-bottom:-10px;padding:0 4px}.transaction-form label>span{color:#405468;font-size:13px;font-weight:600}.transaction-form{display:grid;gap:0;padding:0 20px;border:1px solid #d6e2de;border-radius:10px;background:#fff;box-shadow:0 5px 18px #20443a0d}.transaction-form-section{padding:20px 0;border-bottom:1px solid #e2ebe8}.transaction-form-section h3{display:flex;align-items:center;gap:8px;margin:0 0 15px;color:#213b4b;font-size:14px;font-weight:700}.transaction-form-section h3:before{width:3px;height:14px;border-radius:999px;background:#0f8a68;content:""}.transaction-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 14px}.transaction-form-secondary{margin:0 -20px;padding-right:20px;padding-left:20px;background:#f8fbfa}.transaction-form label{display:grid;gap:6px}.field-label{display:flex;min-height:20px;align-items:center;gap:5px;letter-spacing:.01em}.field-label b{color:#dc2626}.field-label i,.performance-metric-label i{display:inline-grid;width:15px;height:15px;place-items:center;border:1px solid #9aaba6;border-radius:50%;color:#64748b;font-size:10px;font-style:normal;cursor:help}.performance-metric-label{display:flex;align-items:center;gap:5px}.holding-select-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-cash-hint{margin:0;color:#526579;font-size:13px;line-height:1.6}.transaction-form-actions{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:18px}.transaction-form-buttons{display:flex;gap:10px}.transaction-form-buttons .n-button:last-child{min-width:130px}.transaction-list{border:1px solid #dbe7e3;border-radius:8px;overflow:hidden}.transaction-list-head,.transaction-list-row{display:grid;grid-template-columns:142px 72px minmax(190px,1fr) 118px 158px;gap:10px;align-items:center;padding:11px 14px}.transaction-list-head{background:#f7faf9;color:#405468;font-weight:700}.transaction-list-row{border-top:1px solid #e2ebe8}.transaction-type-tag{display:inline-flex;align-items:center;width:fit-content;min-height:22px;padding:1px 8px;border:1px solid #d6e0e5;border-radius:999px;background:#f8fafc;color:#526273;font-size:12px;font-weight:600;line-height:18px;white-space:nowrap}.transaction-type-tag.is-buy{border-color:#f2c3bf;background:#fff5f4;color:#b13d38}.transaction-type-tag.is-sell,.transaction-type-tag.is-dividend{border-color:#a7e8ce;background:#eefbf5;color:#08775a}.transaction-type-tag.is-reinvest{border-color:#f2c3bf;background:#fff5f4;color:#b13d38}.transaction-type-tag.is-fee{border-color:#d6e0e5;background:#f8fafc;color:#526273}.transaction-time,.transaction-product{display:grid;gap:3px}.transaction-time small,.transaction-product small{color:#64748b}.transaction-row-actions{display:flex;justify-content:flex-end;gap:6px}.transaction-action-button{min-width:42px;border-radius:5px;font-weight:600}.transaction-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px;padding:14px 18px 16px;border-top:1px dashed #dbe7e3;background:#fbfdfc}.transaction-details>div{display:grid;gap:4px}.transaction-details span{color:#64748b;font-size:12px}.transaction-details strong{overflow-wrap:anywhere}.transaction-empty{padding:28px;color:#66788a;text-align:center}.cash-positive{color:#138a63}.cash-negative{color:#c2413b}.performance-panel{display:grid;gap:18px;padding:8px 4px}.performance-content{display:grid;gap:18px}.performance-toolbar,.performance-chart-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.performance-toolbar h2,.performance-toolbar p{margin:0}.performance-toolbar p,.performance-chart-head span{margin-top:5px;color:#64748b}.performance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.performance-metrics>div{display:grid;gap:7px;padding:15px;border:1px solid #dbe7e3;border-radius:8px;background:#fbfdfc}.performance-metrics span{color:#64748b;font-size:13px}.performance-metrics strong{font-size:20px}.performance-chart-card{padding:18px;border:1px solid #dbe7e3;border-radius:8px}.performance-chart-head>div:first-child{display:grid}.performance-legend{display:flex;gap:14px}.performance-legend span{display:inline-flex;align-items:center;gap:6px}.performance-legend i{width:10px;height:10px;border-radius:50%}.performance-legend i.market{background:#0f766e}.performance-legend i.rule{background:#2563eb}.performance-legend i.invested{background:#94a3b8}.performance-legend i.buy-hold{background:#64748b}.performance-legend i.operation{background:#b7791f}.performance-chart{position:relative;height:330px;margin-top:14px}.performance-chart svg{width:100%;height:100%;overflow:visible}.performance-grid-line{stroke:#e5ece9;stroke-width:1}.performance-axis-label{fill:#64748b;font-size:12px}.performance-line{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.performance-line.market{stroke:#0f766e}.performance-line.rule{stroke:#2563eb;stroke-width:1.5;stroke-dasharray:4 3}.performance-line.invested{stroke:#94a3b8;stroke-width:1.3;stroke-dasharray:4 3}.performance-line.buy-hold{stroke:#64748b;stroke-width:1.3;stroke-dasharray:2 3}.performance-line.holding{stroke-width:1.6}.performance-holding-legend{display:flex;max-width:68%;flex-wrap:wrap;justify-content:flex-end;gap:7px 12px}.performance-holding-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.performance-holding-tooltip-row i{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.performance-hover-line{stroke:#64748b;stroke-width:1;stroke-dasharray:3 3}.performance-event-line{stroke:#94a3b8;stroke-width:1;stroke-dasharray:2 3;opacity:.18}.performance-operation-marker{fill:#b7791f;stroke:#fff;stroke-width:1}.performance-tooltip{position:absolute;top:18px;display:grid;z-index:2;gap:5px;min-width:190px;padding:10px 12px;border:1px solid #cbded9;border-radius:7px;background:#fffffff5;box-shadow:0 10px 28px #0f172a1f;transform:translate(-50%);pointer-events:none}.performance-tooltip span{color:#405468}.performance-rule-summary{margin:12px 0 0;padding:9px 12px;border-radius:6px;background:#f4f8fb;color:#526579;line-height:1.65}.performance-threshold-control{display:grid;grid-template-columns:auto 52px minmax(180px,320px) auto;align-items:center;gap:8px;width:min(560px,100%);margin:10px 0 0 auto}.performance-threshold-control>span{color:#40566b;font-size:12px;font-weight:700}.performance-threshold-control>strong{color:#0f766e;font-variant-numeric:tabular-nums;text-align:right}.performance-threshold-control small{color:#7a8b9b;white-space:nowrap}.performance-threshold-control+.performance-chart{margin-top:6px}.performance-vs-guide{margin-top:8px;padding:10px 12px;border:1px solid #e0e9e6;border-radius:6px;background:#f8fbfa}.performance-vs-guide>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.performance-vs-guide>header strong{color:#203548}.performance-vs-guide>header span{color:#718296;font-size:12px}.performance-vs-guide>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.performance-vs-guide article{min-width:0}.performance-vs-guide article+article{padding-left:16px;border-left:1px solid #dfe8e5}.performance-vs-guide p{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 3px;color:#263b4e;font-size:12px}.performance-vs-guide p strong{white-space:nowrap}.performance-vs-guide article>span{color:#607286;font-size:12px;line-height:1.5}.performance-dividend-check{margin-top:8px;padding:10px 12px;border:1px solid #eae1cf;border-radius:6px;background:#fbf9f4}.performance-dividend-check>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.performance-dividend-check>header strong{color:#203548}.performance-dividend-check>header span{color:#718296;font-size:12px}.performance-dividend-check p{margin:0 0 5px;color:#526579;font-size:12px;line-height:1.65}.performance-dividend-check p:last-of-type{margin-bottom:0}.performance-dividend-check p b{display:inline-block;margin-right:6px;padding:0 6px;border-radius:4px;background:#eef2ef;color:#4b6b62;font-size:11px;font-weight:700}.performance-dividend-check p.warn b{background:#f6e7d3;color:#8a5b12}.performance-dividend-check small{display:block;margin-top:6px;color:#718296;font-size:12px}.performance-comparison-table{overflow:hidden;border:1px solid #dbe7e3;border-radius:8px}.performance-comparison-head,.performance-comparison-row{display:grid;grid-template-columns:minmax(120px,1.2fr) repeat(4,minmax(110px,1fr));gap:12px;align-items:center;padding:11px 14px}.performance-comparison-head{background:#f4f8f7;color:#526579;font-weight:700}.performance-comparison-row{border-top:1px solid #e2ebe8}.performance-comparison-head>span:not(:first-child),.performance-comparison-row>span{text-align:right}.performance-holdings-section{display:grid;gap:12px}.performance-holding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.performance-holding-card{padding:14px;border:1px solid #dbe7e3;border-radius:8px;background:#fff}.performance-holding-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.performance-holding-card>header>span:first-child,.performance-holding-latest{display:grid;gap:3px}.performance-holding-card>header>span:first-child{grid-template-columns:auto 1fr}.performance-holding-card>header i{width:8px;height:8px;margin-top:5px;border-radius:50%}.performance-holding-card>header small,.performance-holding-card>footer{color:#64748b}.performance-holding-card>header small{grid-column:2}.performance-holding-latest{text-align:right}.performance-mini-chart{position:relative;height:180px;margin-top:10px}.performance-mini-chart svg{width:100%;height:100%}.performance-mini-tooltip{top:10px;min-width:130px}.performance-holding-card>footer{display:flex;justify-content:space-between;margin-top:4px;font-size:12px}.performance-operations{display:grid;gap:12px}.performance-operations-title h3,.performance-operations-title p{margin:0}.performance-operations-title p{margin-top:5px;color:#64748b}.performance-operation-day{overflow:hidden;border:1px solid #dbe7e3;border-radius:8px}.performance-operation-day>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;background:#f4f8f7}.performance-operation-day>header span{color:#526579}.performance-operation-head,.performance-operation-row{display:grid;grid-template-columns:76px 82px minmax(180px,1fr) 96px 96px 108px 110px;gap:10px;align-items:center;padding:10px 14px}.performance-operation-head{color:#526579;font-size:12px;font-weight:700}.performance-operation-row{border-top:1px solid #e5ece9}.performance-operation-product{display:grid;gap:2px}.performance-operation-product small{color:#64748b}.decision-panel{padding:12px 4px}.ai-panel{position:sticky;top:84px;display:flex;flex-direction:column;height:var(--ai-panel-height, calc(100dvh - 152px) );min-height:0;max-height:calc(100dvh - 152px);padding:24px;overflow:hidden}.ai-intro{margin:18px 0;padding:12px 14px;border:1px solid #dbe7e3;border-radius:8px;background:#fbfdfc;line-height:1.7}.ai-messages-shell{position:relative;flex:1;min-height:0}.ai-messages{display:flex;height:100%;flex-direction:column;gap:12px;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;padding:0 2px 18px;scroll-behavior:auto;scrollbar-width:none}.ai-messages::-webkit-scrollbar{display:none}.chat-bubble{position:relative;width:fit-content;max-width:100%;padding:10px 12px;border:1px solid #cbded9;border-radius:8px;background:#fff;color:#102033;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;overflow-anchor:none}.chat-bubble.assistant{align-self:flex-start;width:100%;white-space:normal}.chat-bubble.assistant .message-text{display:block}.markdown-body{display:block;min-width:0;line-height:1.55;white-space:normal}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{margin:0 0 6px}.markdown-body strong{font-weight:700}.markdown-body table{display:block;width:max-content;min-width:100%;max-width:100%;margin:8px 0 12px;overflow-x:auto;border-collapse:collapse;font-size:13px;line-height:1.5}.markdown-body th,.markdown-body td{padding:7px 8px;border:1px solid #dbe7e3;text-align:right;vertical-align:top}.markdown-body th:first-child,.markdown-body td:first-child{text-align:left}.markdown-body th{background:#f7faf9;color:#405468;font-weight:700}.markdown-body ul,.markdown-body ol{margin:6px 0;padding-left:18px}.markdown-body li{margin:0 0 4px}.markdown-body li>p{margin:0}.markdown-body li:last-child{margin-bottom:0}.markdown-body code{padding:1px 4px;border-radius:4px;background:#eef4f3;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.markdown-body pre{overflow-x:auto;padding:10px 12px;border-radius:8px;background:#102033;color:#f8fbfa}.markdown-body pre code{padding:0;background:transparent;color:inherit}.chat-bubble.user{align-self:flex-end;max-width:82%;border-color:#0f766e;background:#0f766e;color:#fff;white-space:pre-wrap}.chat-bubble.loading{display:inline-flex;width:auto;align-items:center;gap:8px}.chat-bubble.assistant.loading{display:block;width:100%}.backtest-layout{display:grid;gap:18px;padding-top:8px}.backtest-controls{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 12px;align-items:end;padding:16px;border:1px solid #dce7e3;border-radius:10px;background:#f8fbfa}.backtest-field-period,.backtest-field-buy-date,.backtest-field-threshold,.backtest-field-amount,.backtest-field-mode,.backtest-field-annual,.backtest-run-button{grid-column:span 3}.backtest-controls label,.backtest-mode{display:grid;gap:7px}.backtest-switch .n-switch{margin-block:5px;justify-self:start}.backtest-mode .n-radio-group{display:flex}.backtest-mode .n-radio-button{flex:1;text-align:center}.backtest-run-button{width:100%}.backtest-controls label>span,.backtest-mode>span{color:#405468;font-size:13px;font-weight:600}.backtest-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.backtest-metrics>div{padding:14px;border:1px solid #e2ebe8;border-radius:8px;background:#fbfdfc}.backtest-metrics span,.backtest-metrics strong{display:block}.backtest-metrics span{margin-bottom:8px;color:#64748b;font-size:12px}.backtest-metrics strong{font-size:18px}.backtest-zoom-control{display:grid;grid-template-columns:minmax(310px,auto) minmax(0,1fr);gap:20px;align-items:center;padding:12px 16px;border:1px solid #e2ebe8;border-radius:8px;background:#fbfdfc;margin-bottom:12px}.backtest-zoom-control>div{display:flex;gap:8px;align-items:center}.backtest-zoom-control strong{white-space:nowrap}.backtest-zoom-control span{color:#64748b;font-size:12px;white-space:nowrap}.backtest-chart-card,.backtest-events{padding:18px;border:1px solid #e2ebe8;border-radius:10px;background:#fff}.backtest-chart-card header,.backtest-events header{display:flex;align-items:center;justify-content:space-between;gap:12px}.backtest-chart-card h2,.backtest-events h2{margin:0 0 4px;font-size:17px}.backtest-chart-card header span,.backtest-events header span{color:#64748b;font-size:12px}.backtest-asset-selector{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:flex-end}.backtest-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:16px 0 8px;color:#526579;font-size:12px}.backtest-legend span{display:inline-flex;align-items:center;gap:6px}.backtest-legend i{width:9px;height:9px;border-radius:50%}.backtest-legend-note{margin:0 0 10px;color:#718398;font-size:12px}.backtest-chart-wrap{position:relative}.backtest-chart{width:100%;height:320px;border:1px solid #e2ebe8;border-radius:8px;background:#fbfdfc;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.backtest-chart:active{cursor:grabbing}.backtest-grid-line{stroke:#e8efed;stroke-width:1}.backtest-y-label{fill:#718398;font-size:11px}.backtest-portfolio-line,.backtest-benchmark-line,.backtest-category-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.backtest-hover-line{stroke:#64748b;stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.backtest-rebalance-line{stroke:#f59e0b;stroke-width:1.2;stroke-dasharray:3 3;opacity:.85;pointer-events:none}.backtest-rebalance-dot{fill:#f59e0b;stroke:#fff;stroke-width:1.5;pointer-events:none}.backtest-buy-line{stroke:#22c55e;stroke-width:1.3;stroke-dasharray:2 3;opacity:.9;pointer-events:none}.backtest-buy-dot{fill:#22c55e;stroke:#fff;stroke-width:1.5;pointer-events:none}.backtest-hover-point{fill:#fff;stroke:#0f766e;stroke-width:3;pointer-events:none}.backtest-category-hover-point{fill:#fff;stroke-width:2.5;pointer-events:none}.backtest-tooltip{position:absolute;top:14px;z-index:3;display:grid;width:230px;gap:7px;padding:12px;border:1px solid #cddbd7;border-radius:8px;background:#fffffff5;box-shadow:0 10px 28px #0f172a1f;pointer-events:none}.backtest-tooltip>strong{padding-bottom:5px;border-bottom:1px solid #e2ebe8}.backtest-tooltip span{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:7px;align-items:center;color:#526579;font-size:12px}.backtest-tooltip i{width:8px;height:8px;border-radius:50%}.backtest-tooltip b{color:#102033}.backtest-portfolio-line{stroke:#0f766e;stroke-width:2}.backtest-benchmark-line{stroke:#8aa2af;stroke-width:1.3;stroke-dasharray:4 3}.chat-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.chat-image-grid a{display:block;overflow:hidden;border-radius:7px}.chat-image-grid img{display:block;width:100%;max-width:220px;max-height:180px;object-fit:cover}.chat-image-loading{display:grid;min-width:120px;min-height:84px;place-items:center;border:1px dashed #b9cec8;border-radius:7px;background:#f3f8f6;color:#718096;font-size:12px}@media(max-width:860px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:24px}}.chat-image-grid+.message-text{display:block;margin-top:8px}.backtest-category-line{stroke-width:1.2;opacity:.5}.backtest-category-line.category-line-emphasis{stroke-width:1.6;opacity:.9}.backtest-event-list{display:grid;gap:8px;margin-top:14px}.backtest-event-list>div{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border-radius:7px;background:#f7faf9}.backtest-event-list span,.backtest-warning{color:#64748b;font-size:12px}.backtest-warning{margin:10px 0 0}.chat-bubble.assistant.loading:has(.pending-thinking){display:flex;width:100%;min-height:44px;box-sizing:border-box;align-items:center;padding:10px 12px;border:1px solid #cbded9;border-radius:8px;background:#fff}.pending-thinking{display:inline-flex;align-items:baseline;gap:4px;color:#64748b;font-size:12px;line-height:16px;white-space:nowrap}.pending-dots{display:inline-flex;align-items:center;gap:2px}.pending-dots i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.3;animation:live-dot .9s infinite ease-in-out}.pending-dots i:nth-child(2){animation-delay:.12s}.pending-dots i:nth-child(3){animation-delay:.24s}.chat-bubble.assistant.activity-stream-only{padding:10px 12px}.chat-bubble.assistant.activity-stream-only .activity-step{align-items:start;min-height:22px}.chat-bubble.error{border-color:#fecaca;background:#fff7f7}.jump-latest{position:absolute;left:50%;bottom:10px;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #99d8bd;border-radius:999px;background:#ecfdf5f5;color:#0f766e;font-size:12px;font-weight:700;box-shadow:0 10px 24px #0f766e29;transform:translate(-50%);cursor:pointer}.jump-latest b{font-size:14px;line-height:1}.jump-spinner{width:12px;height:12px;border:2px solid rgba(15,118,110,.22);border-top-color:#0f766e;border-radius:50%;animation:spin .8s linear infinite}.agent-activity{display:grid;gap:8px;margin:2px 0 12px;padding:0;color:#102033;font-size:inherit;line-height:inherit}.activity-summary{display:inline-flex;align-items:center;gap:7px;width:100%;max-width:100%;margin:0 0 10px;padding:2px 0 5px;border:0;background:transparent;color:#64748b;cursor:pointer;font-size:12px;line-height:16px;text-align:left}.activity-summary.running,.activity-summary.elapsed-only{cursor:default}.summary-chevron{margin-left:0;transform:rotate(0);transition-duration:.22s}.summary-chevron.open{transform:rotate(90deg)}.activity-expand-enter-active,.activity-expand-leave-active{overflow:hidden;transition:max-height .24s ease-in-out,opacity .2s ease-in-out,margin .24s ease-in-out}.activity-expand-enter-from,.activity-expand-leave-to{max-height:0;margin-top:0;margin-bottom:0;opacity:0}.activity-expand-enter-to,.activity-expand-leave-from{max-height:1600px;opacity:1}.activity-divider{height:1px;margin-top:3px;background:#e1e9e6}.activity-step{display:block;min-width:0}.activity-step.active,.activity-step.done{color:inherit}.activity-kind{display:inline-flex;align-items:center;height:17px;padding:0 6px;border:1px solid #c6ded8;border-radius:999px;border-color:#c6ded8;background:#eef8f5;color:#0f766e;font-size:9px;font-weight:700;letter-spacing:.04em}.activity-tool-toggle{display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;line-height:1.5;text-align:left}.activity-tool-toggle:hover{color:#0f766e}.activity-text{display:grid;gap:4px;min-width:0;color:#102033}.activity-text .message-text{min-width:0}.activity-summary-event{display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:6px;color:#64748b;font-size:12px;line-height:16px}.summary-event-indicator{position:relative;display:inline-block;width:11px;height:11px;flex:0 0 11px;border:1.5px solid #b7cbc6;border-radius:50%}.activity-summary-event.running .summary-event-indicator{border-right-color:#0f766e;border-bottom-color:#0f766e;animation:spin .8s linear infinite}.activity-summary-event.done .summary-event-indicator{border-color:#69b7a5;background:#eaf7f3}.activity-summary-event.done .summary-event-indicator:after{position:absolute;top:1px;left:3px;width:3px;height:5px;border-right:1.5px solid #0f766e;border-bottom:1.5px solid #0f766e;content:"";transform:rotate(45deg)}.activity-summary-event.failed{color:#b42318}.activity-summary-event.failed .summary-event-indicator{border-color:#d92d20}.summary-event-elapsed{color:#8a9aaa}.turn-thinking{display:inline-flex;width:fit-content;align-items:baseline;gap:4px;color:#64748b;font-size:12px;line-height:16px}.tool-chevron{display:inline-grid;width:12px;height:12px;flex:0 0 12px;place-items:center;transition:transform .15s ease}.tool-chevron:before{content:"";width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid #8aa2af}.activity-tool-toggle.expanded .tool-chevron{transform:rotate(90deg)}.tool-detail{display:grid;width:100%;max-width:100%;gap:4px;margin:4px 0 8px;padding:0 0 0 2px;color:#526579;line-height:1.6}.tool-detail-line{display:inline-flex;align-items:baseline;gap:5px}.tool-result-line{color:#102033}.tool-detail code{padding:1px 5px;border-radius:4px;background:#eef4f3;color:#405468;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px}.message-text{display:inline}.approval-card{display:grid;gap:12px;margin-top:12px;padding:14px;border:1px solid #b9d8d1;border-radius:8px;background:#f8fcfb}.approval-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.approval-head strong{font-size:14px}.approval-head p{margin:3px 0 0;color:#64748b;font-size:12px}.approval-status{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#fff7db;color:#8a6116;font-size:11px;line-height:18px}.approval-status.approved{background:#e9f8f1;color:#0f766e}.approval-status.rejected{background:#fff0f0;color:#b42318}.approval-status.processing,.approval-status.edited{background:#eef4f8;color:#405468}.approval-summary,.approval-categories{display:grid;gap:6px}.approval-summary>div,.approval-categories>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.approval-summary span,.approval-categories span{color:#526579}.approval-categories{padding-top:10px;border-top:1px solid #e1e9e6}.approval-comment{background:#fff}.approval-actions{display:flex;flex-wrap:wrap;gap:7px}.approval-action-button{min-width:78px;height:32px;border-radius:7px;font-weight:600}.ai-input{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:6px;align-items:center;margin-top:14px;padding:6px 8px;border:1px solid #cddbd7;border-radius:14px;background:#fff;box-shadow:0 4px 18px #0f172a0d}.ai-composer-input{grid-column:2;width:100%}.ai-composer-actions{display:flex;grid-column:3;align-items:center;justify-content:flex-end}.ai-image-file-input{display:none}.ai-attach-button{display:grid;grid-column:1;width:32px;height:32px;padding:0;place-items:center;border:0;border-radius:50%;background:#f1f7f5;color:#52706a;font-size:20px;font-weight:400;line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease}.ai-attach-button:hover:not(:disabled){background:#e2f2ed;color:#15856e}.ai-attach-button:disabled{cursor:not-allowed;opacity:.42}.ai-composer-action.n-button{--n-height: 32px !important;width:32px;min-width:32px;padding:0;box-shadow:none}.ai-composer-action svg{display:block;width:16px;height:16px}.ai-send-button.n-button{--n-color: #78c6ad !important;--n-color-hover: #66b99e !important;--n-color-pressed: #52a98e !important;--n-color-focus: #78c6ad !important;--n-color-disabled: #dcece7 !important;--n-border: 1px solid transparent !important;--n-border-hover: 1px solid transparent !important;--n-border-pressed: 1px solid transparent !important;--n-border-focus: 1px solid transparent !important;--n-border-disabled: 1px solid transparent !important;--n-text-color: #fff !important;--n-text-color-hover: #fff !important;--n-text-color-pressed: #fff !important;--n-text-color-focus: #fff !important;--n-text-color-disabled: #fff !important}.ai-send-button path{fill:none;stroke:currentcolor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ai-stop-button.n-button{--n-color: #fff4f5 !important;--n-color-hover: #ffe8eb !important;--n-color-pressed: #ffdde2 !important;--n-color-focus: #fff4f5 !important;--n-border: 1px solid #f2cbd2 !important;--n-border-hover: 1px solid #eeb9c3 !important;--n-border-pressed: 1px solid #e8a9b5 !important;--n-border-focus: 1px solid #f2cbd2 !important;--n-text-color: #cf4059 !important;--n-text-color-hover: #bd304a !important;--n-text-color-pressed: #a9253d !important;--n-text-color-focus: #cf4059 !important}.ai-stop-button rect{fill:currentcolor}.create-modal.n-card{width:min(1120px,calc(100vw - 48px))}.create-modal>.n-card-header{padding:20px 22px 14px;border-bottom:1px solid #e2ebe8}.create-modal>.n-card__content{padding:18px 22px}.create-modal>.n-card__footer{padding:14px 22px 18px;border-top:1px solid #e2ebe8;background:#f8fbfa}.modal-inner{margin-bottom:4px;background:transparent}.modal-copy,.modal-hint{color:#526579;line-height:1.7}.modal-category-head,.modal-category-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 88px;gap:10px;align-items:center}.modal-category-head{margin:10px 0 8px;color:#405468;font-weight:700}.modal-category-row{margin-bottom:8px;padding:9px;border:1px solid #e2ebe8;border-radius:9px;background:#fbfdfc}.modal-inner>.n-card__content{padding:0}.toast{position:fixed;top:50%;left:50%;z-index:5000;width:max-content;max-width:min(460px,calc(100vw - 40px));padding:12px 16px;border-radius:8px;background:#102033;color:#fff;box-shadow:0 16px 40px #0f172a2e;line-height:1.5;text-align:center;transform:translate(-50%,-50%);pointer-events:none}.toast-enter-active,.toast-leave-active{transition:opacity .18s ease,transform .18s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.98)}@keyframes thinking-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes live-dot{0%,80%,to{opacity:.28;transform:translateY(0)}40%{opacity:.9;transform:translateY(-2px)}}@media(max-width:1450px){.workspace-grid{grid-template-columns:1fr}.ai-panel{position:static;height:auto;max-height:none;min-height:min(520px,calc(100dvh - 96px))}}@media(max-width:1100px){.topbar{gap:16px;padding-right:20px;padding-left:20px}.topbar .brand,.topbar .header-account,.space-nav .n-button{flex-shrink:0}.space-nav{flex:1;min-width:0;overflow-x:auto}.header-notice-button.n-button{margin-left:0}.home,.workspace,.securities-page{width:min(100% - 32px,960px)}.security-watch-layout{grid-template-columns:1fr}.performance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.space-grid,.metrics,.workspace-grid,.status-layout,.backtest-metrics{grid-template-columns:1fr}.backtest-controls{grid-template-columns:repeat(6,minmax(0,1fr))}.ai-panel{position:static;height:auto;max-height:none;min-height:min(520px,calc(100dvh - 96px))}.agent-mode-float{top:auto;right:16px;bottom:16px}.config-head{display:none}.asset-group-row{grid-template-columns:1fr}.category-cell,.target-cell{border-right:0;border-bottom:1px solid #e2ebe8}.holdings{grid-column:auto}.holding-row{grid-template-columns:1fr}.transaction-fields,.transaction-details{grid-template-columns:repeat(2,minmax(0,1fr))}}.ai-attachment-previews{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:8px}.ai-attachment-previews figure{position:relative;width:72px;height:72px;margin:0;overflow:visible;border:1px solid #dbe7e3;border-radius:9px;background:#f7faf9}.ai-attachment-previews img{width:100%;height:100%;border-radius:8px;object-fit:cover}.ai-attachment-previews button{position:absolute;top:-7px;right:-7px;display:grid;width:20px;height:20px;padding:0;place-items:center;border:2px solid #fff;border-radius:50%;background:#17212b;color:#fff;font-size:13px;line-height:1;cursor:pointer}.approval-transactions{display:grid;gap:10px}.approval-transaction-card{overflow:hidden;border:1px solid #d6e4e0;border-radius:8px;background:#fff}.approval-transaction-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:baseline;padding:11px 12px;background:#f7faf9}.approval-transaction-card>header>div{display:grid;gap:2px}.approval-transaction-card>header small,.approval-transaction-details span{color:#64748b;font-size:12px}.approval-transaction-type{display:inline-block;padding:2px 7px;border-radius:999px;background:#e8f1ff;color:#2563eb;font-size:12px;line-height:18px}.approval-transaction-type.sell{background:#fff0ef;color:#c2413b}.approval-transaction-type.dividend,.approval-transaction-type.dividend_reinvest{background:#fff7e6;color:#9a6700}.approval-transaction-amount{display:inline-block;color:#102033;line-height:18px;white-space:nowrap}.approval-transaction-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:11px 12px 13px}.approval-transaction-details>div{display:grid;gap:3px}.approval-transaction-details strong{overflow-wrap:anywhere}@media(max-width:640px){.portfolio-mobile-tabs{position:relative;display:flex;gap:2px;margin:0 -12px 12px;padding:7px 12px 5px;overflow-x:auto;border-bottom:1px solid #e2ebe8;background:#fff;scrollbar-width:none;scroll-snap-type:x proximity}.portfolio-mobile-tabs::-webkit-scrollbar{display:none}.portfolio-mobile-tabs button{position:relative;flex:0 0 auto;min-height:34px;padding:0 7px;border:0;border-radius:8px;background:transparent;color:#526579;font-size:12px;white-space:nowrap;scroll-snap-align:center}.portfolio-mobile-tabs button.active{background:#eaf7f3;color:#08765f;font-weight:700}.portfolio-workspace-tabs>.n-tabs-nav{display:none}.hero{padding:22px 0 16px}.hero h1{font-size:28px}.hero-copy{margin-top:9px;font-size:13px;line-height:1.6}.space-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.space-card{min-height:142px;padding:14px;border-radius:10px}.space-icon{width:28px;height:28px;margin-bottom:11px;border-radius:7px;font-size:12px}.space-card h2{margin-bottom:5px;font-size:16px}.space-card p{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.space-badge{margin-top:10px;padding:1px 6px;font-size:10px}.space-card:last-child:nth-child(odd){min-height:108px;grid-column:1 / -1}.valuation-watch{margin-top:8px;padding:12px}.valuation-watch-head{align-items:flex-start;flex-direction:column;gap:8px}.valuation-watch-head h2{font-size:19px}.valuation-watch-head>div:first-child>span{font-size:12px}.valuation-watch-date{justify-items:start}.valuation-controls{align-items:stretch}.valuation-add-button.n-button{align-self:flex-end;margin:4px 0 0}.valuation-portfolio-add-button.n-button{align-self:flex-end}.valuation-edit-button.n-button{align-self:flex-end;margin:0}.valuation-filter-strip{align-items:stretch;flex-direction:column;gap:4px}.valuation-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.valuation-summary button{justify-content:space-between;padding:4px 7px}.valuation-filter-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 0 0;border-top:1px solid #d8e5e1;border-left:0}.valuation-filter-group button{justify-content:center;padding:0 3px}.valuation-table-wrap{display:none}.valuation-mobile-list{display:grid;gap:9px}.valuation-mobile-list>article{display:grid;gap:12px;padding:13px;border:1px solid #dce7e3;border-radius:10px;background:#fff;color:#173f35;text-align:left;cursor:pointer}.valuation-mobile-list>article.is-editing{cursor:default}.valuation-mobile-list>article.is-removable{border-color:#ecc5cb;background:#fffafb}.valuation-mobile-list>article.is-expanded{border-color:#b8d9d0;background:#f8fbfa}.valuation-mobile-list .valuation-inline-history{margin:0 -5px -5px;padding:12px 5px 4px;border:0;border-top:1px solid #dce7e3}.valuation-inline-history>header{align-items:stretch;flex-direction:column;gap:8px}.valuation-inline-history>header>div:first-child{min-width:0}.valuation-inline-actions{width:100%;align-items:stretch;flex-direction:column;margin-left:0}.valuation-inline-actions .security-history-ranges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.valuation-inline-actions .security-history-ranges button{min-width:0}.valuation-inline-detail{align-self:center}.valuation-inline-chart.security-history-chart{height:210px}.valuation-detail-table th,.valuation-detail-table td{padding:7px 6px;font-size:12px}.valuation-inline-details{height:auto;grid-template-columns:1fr;gap:14px}.valuation-nav-section{height:420px}.valuation-performance-table th:nth-child(1),.valuation-performance-table td:nth-child(1){width:18%}.valuation-performance-table th:nth-child(2),.valuation-performance-table td:nth-child(2){width:24%}.valuation-performance-table th:nth-child(3),.valuation-performance-table td:nth-child(3){width:20%}.valuation-performance-table th:nth-child(4),.valuation-performance-table td:nth-child(4){width:38%}.valuation-mobile-list header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.valuation-mobile-list header>span{display:grid;gap:3px;min-width:0}.valuation-mobile-list header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.valuation-mobile-list header small{color:#718096;font-size:12px}.valuation-mobile-list header>b{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f1f6f4;font-size:12px}.valuation-mobile-actions{display:grid;justify-items:end;gap:5px}.valuation-mobile-actions b{padding:2px 7px;border-radius:999px;background:#f1f6f4;font-size:12px}.valuation-mobile-list header>.valuation-mobile-title{display:flex;grid-template-columns:none;align-items:flex-start;gap:7px}.valuation-mobile-title>span{display:grid;gap:3px;min-width:0}.valuation-mobile-list dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.valuation-mobile-list dl>div{display:grid;gap:3px;padding:8px;border-radius:7px;background:#f4f8f7}.valuation-mobile-list dt{color:#718096;font-size:12px}.valuation-mobile-list dd{margin:0;font-size:13px;font-weight:700}.valuation-mobile-list dd small{display:block;margin-top:2px;color:#718096;font-size:11px;font-weight:400}.valuation-mobile-list p{margin:0;color:#64748b;font-size:12px;line-height:1.5}.valuation-mobile-list p em{margin-left:6px;padding:1px 5px;border-radius:4px;background:#fff1df;color:#ae641e;font-style:normal}.valuation-watch>footer{flex-direction:column;gap:4px}.valuation-watch-form{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metrics .n-card{min-height:0;border-radius:10px}.metrics .n-card>.n-card__content{min-height:92px;padding:13px 14px}.metrics .n-statistic .n-statistic__label,.metric-label{margin-bottom:7px;color:#64748b;font-size:12px}.metrics .n-statistic .n-statistic-value{font-size:20px;line-height:1.25;white-space:nowrap}.metric-status{margin:0 0 5px;font-size:21px;line-height:1.25}.metrics .n-tag{height:20px;padding:0 6px;font-size:11px}.asset-detail-desktop{display:none}.asset-detail-mobile{display:grid;gap:10px;margin-top:14px}.asset-detail-mobile-card{padding:12px;border:1px solid #e2ebe8;border-radius:10px;background:#fff}.asset-detail-mobile-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.asset-detail-mobile-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.asset-detail-mobile-card dl>div{display:grid;gap:3px;padding:9px;border-radius:7px;background:#f4f8f7}.asset-detail-mobile-card dt{color:#718096;font-size:11px}.asset-detail-mobile-card dd{margin:0;color:#172b3d;font-weight:700;font-variant-numeric:tabular-nums}.asset-detail-mobile-card dd.is-over{color:#b56217}.asset-detail-mobile-card dd.is-under{color:#4f6f8d}.asset-detail-mobile-card dd.is-even{color:#64748b}.app-shell{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.topbar{height:56px;gap:10px;padding:0 14px}.brand strong{font-size:16px}.brand>span,.space-nav,.header-notice-button{display:none}.topbar .header-account{margin-left:auto;padding:3px}.header-account>span:not(.header-avatar),.header-account>svg{display:none}.mobile-bottom-nav{position:fixed;z-index:40;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #dce7e3;background:#fcfefdf5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bottom-nav button{display:grid;min-height:48px;place-items:center;align-content:center;gap:2px;border:0;background:transparent;color:#718096;font-size:11px}.mobile-bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentcolor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mobile-bottom-nav button.active{color:#08765f;font-weight:700}.securities-page{padding-top:22px}.securities-head{margin-bottom:16px}.securities-head h1{font-size:28px}.securities-head p:not(.eyebrow){font-size:13px;line-height:1.6}.security-live-actions{justify-content:space-between}.security-market-card{padding:12px}.security-watch-search{grid-template-columns:minmax(0,1fr) auto;padding:10px}.security-search-results{top:54px;left:10px;width:calc(100% - 20px)}.security-live-table-wrap{display:none}.security-mobile-list{display:grid;gap:10px}.security-mobile-list>button{display:grid;gap:12px;padding:14px;border:1px solid #dce7e3;border-radius:10px;background:#fff;color:#173f35;text-align:left}.security-mobile-list>button.active{border-color:#79b9a8;background:#f1faf7}.security-mobile-list header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.security-mobile-list header span{display:grid;gap:3px;min-width:0}.security-mobile-list header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.security-mobile-list header small,.security-mobile-list footer{color:#718096;font-size:11px}.security-mobile-list header b{white-space:nowrap}.security-mobile-list header b.positive{color:#dc2626}.security-mobile-list header b.negative{color:#059669}.security-mobile-list>button>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.security-mobile-list>button>div span{display:grid;gap:3px}.security-mobile-list>button>div small{color:#718096;font-size:11px}.security-mobile-list>button>div strong{font-size:15px}.security-live-detail{padding:15px}.security-live-detail h2{font-size:19px}.security-live-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.security-live-detail.is-open-fund dl{grid-template-columns:repeat(3,minmax(0,1fr))}.security-live-detail dd{font-size:14px}.security-live-detail footer{display:grid;gap:5px}.security-history-card{margin:14px 0 12px;padding:12px 10px}.security-history-card>header{display:grid;grid-template-columns:1fr;align-items:stretch;gap:9px}.security-history-card>header>.security-back-button{position:static;justify-self:center;transform:none}.security-history-card>header>.security-history-ranges{width:100%;margin-left:0;justify-self:stretch}.security-history-ranges{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.security-history-ranges button{min-width:0;padding:0 4px;font-size:11px}.security-history-chart{height:220px}.security-live-detail .security-history-card>footer{display:flex;gap:6px 12px}.security-history-card>footer small{width:100%;margin-left:0}.workspace,.notices-page{padding-top:22px}.workspace-head,.notices-hero{margin-bottom:16px}.workspace-head{position:relative}.workspace-head h1,.notices-hero h1{font-size:28px}.workspace-card{padding-right:12px;padding-left:12px}.agent-mode-float{display:none}.mobile-ai-trigger{position:absolute;z-index:1;top:0;right:0;display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;background:#08765f;box-shadow:0 10px 28px #08765f47;color:#fff;font-weight:800}.n-drawer .ai-panel{position:static;width:100%;height:calc(100dvh - 58px);max-height:none;padding:14px;border:0;border-radius:0}.mobile-agent-mode{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid #e2ebe8;background:#f8fbfa;color:#526579;font-size:12px}.notices-hero{align-items:stretch;flex-direction:column}.notices-hero-actions{justify-content:flex-end}.notice-task-card{grid-template-columns:1fr;gap:12px;padding:15px}.notice-task-actions{justify-content:flex-end}.notice-history-row{grid-template-columns:1fr;gap:8px;padding:14px}.notice-history-error{white-space:normal;overflow-wrap:anywhere}.notice-editor.n-card{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto}.notice-form-grid{grid-template-columns:1fr}.notice-form-wide{grid-column:auto}.notice-current-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notice-ai-button span{display:none}.notice-ai-button:after{content:"生成"}.notice-editor-actions{position:sticky;bottom:0;padding-top:10px;background:#fff}.create-modal.n-card{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto}.create-modal>.n-card-header,.create-modal>.n-card__content,.create-modal>.n-card__footer{padding-right:14px;padding-left:14px}.modal-category-head{display:none}.modal-category-row{grid-template-columns:minmax(0,1fr) auto}.modal-category-row>.n-select{grid-column:1 / -1}.n-popover,.n-base-select-menu,.n-date-panel{max-width:calc(100vw - 16px)}.n-date-panel{overflow-x:auto}.n-input .n-input__input-el,.n-input .n-input__textarea-el,.n-input-number .n-input__input-el,.n-base-selection-label{font-size:16px}.config-toolbar{grid-template-columns:1fr}.config-toolbar-summary{align-items:flex-start;flex-direction:column}.config-threshold-field{justify-content:space-between;padding:12px 0 0;border-top:1px solid #e2ebe8;border-left:0}.config-table{gap:12px;overflow:visible;border:0}.config-head{display:none}.asset-group-row{grid-template-columns:minmax(0,1fr) 116px;overflow:hidden;border:1px solid #dce7e3;border-radius:10px;background:#fff}.asset-group-row:first-of-type{border-top:1px solid #dce7e3}.group-cell{padding:10px}.category-cell,.target-cell{border-right:0}.holdings{grid-column:1 / -1;padding:10px;border-top:1px solid #e6eeeb}.holding-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.holding-product-editor{grid-column:1 / -1;padding:0}.holding-row>span{display:grid;gap:3px;padding:8px;border-radius:7px;background:#f4f8f7;font-size:12px}.holding-row>span:before{content:attr(data-label);color:#718096;font-size:10px}.approval-head{display:grid;grid-template-columns:minmax(0,1fr) auto}.approval-summary>div,.approval-categories>div{align-items:flex-start}.approval-summary strong,.approval-categories strong{text-align:right;overflow-wrap:anywhere}.approval-transaction-card>header{grid-template-columns:minmax(0,1fr) auto}.approval-transaction-card>header>div{grid-column:1 / -1}.approval-transaction-details{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-image-grid{grid-template-columns:1fr}.chat-image-grid img{max-width:100%}.donut-row{grid-template-columns:1fr}.deviation-focus{grid-template-columns:repeat(2,minmax(0,1fr))}.deviation-focus>div{padding:10px}.donut-row{min-height:0}.performance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.performance-metrics>div{min-height:88px;align-content:center;padding:11px 12px}.performance-metrics span{font-size:11px}.performance-metrics strong{font-size:17px;overflow-wrap:anywhere}.performance-toolbar,.performance-chart-head{align-items:stretch;flex-direction:column}.performance-holding-grid{grid-template-columns:1fr}.performance-operation-day{overflow:visible}.performance-operation-head{display:none}.performance-operation-row{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;gap:10px;margin-top:8px;padding:12px;border:1px solid #e5ece9;border-radius:8px}.performance-operation-row>span,.performance-operation-row>strong{display:grid;gap:3px}.performance-operation-row>[data-label]:before{content:attr(data-label);color:#718096;font-size:10px;font-weight:400}.performance-operation-product{grid-column:1 / -1}.performance-comparison-table{display:grid;gap:10px;overflow:visible;border:0}.performance-comparison-head{display:none}.performance-comparison-row{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;gap:10px;padding:13px;border:1px solid #dfe8e5;border-radius:8px}.performance-comparison-row>strong:first-child{grid-column:1 / -1;font-size:15px}.performance-comparison-row>span{display:grid;gap:3px}.performance-comparison-row>span:before{content:attr(data-label);color:#718096;font-size:10px;font-weight:400}.performance-vs-guide>header{display:grid}.performance-dividend-check>header{display:grid}.performance-threshold-control{width:100%;grid-template-columns:auto 52px minmax(120px,1fr)}.performance-threshold-control small{grid-column:1 / -1}.performance-chart{touch-action:pan-y}.performance-vs-guide>div{grid-template-columns:1fr;gap:8px}.performance-vs-guide article+article{padding-top:8px;padding-left:0;border-top:1px solid #dfe8e5;border-left:0}.securities-head{align-items:stretch;flex-direction:column}.security-detail-card dl{grid-template-columns:1fr}.workspace-head{align-items:stretch;flex-direction:column}.workspace-actions{grid-template-columns:1fr 1fr 42px}.workspace-actions>.n-select{grid-column:1 / -1}.backtest-controls{grid-template-columns:1fr}.backtest-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.backtest-metrics>div{min-height:76px;padding:11px 12px}.backtest-metrics>div:last-child:nth-child(odd){grid-column:1 / -1}.backtest-metrics span{margin-bottom:5px}.backtest-metrics strong{font-size:16px;overflow-wrap:anywhere}.backtest-field-period,.backtest-field-buy-date,.backtest-field-threshold,.backtest-field-amount,.backtest-field-mode,.backtest-field-annual,.backtest-run-button{grid-column:1 / -1}.backtest-chart{height:240px;touch-action:pan-y}.backtest-asset-selector{justify-content:flex-start}.backtest-zoom-control{grid-template-columns:1fr}.backtest-event-list>div{grid-template-columns:1fr;gap:4px}.portfolio-refresh-button{width:42px}.transaction-fields{grid-template-columns:1fr}.transaction-cash-hint{grid-column:auto}.transaction-form-actions{align-items:stretch;flex-direction:column;padding:14px 0}.transaction-list-head{display:none}.transaction-list{display:grid;gap:8px;overflow:visible;border:0;border-radius:0;background:transparent}.transaction-list-row{grid-template-columns:1fr auto;gap:6px 10px;padding:10px 12px;border:1px solid #dbe7e3;border-radius:10px;background:#fff}.transaction-list-row>:nth-child(2){text-align:right}.transaction-product{grid-column:1 / -1}.transaction-list-row>:nth-child(4){grid-column:1;grid-row:3;align-self:center;text-align:left}.transaction-row-actions{grid-column:2;grid-row:3;justify-content:flex-end}.transaction-details{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-8px;padding:12px;border:1px solid #dbe7e3;border-top:0;border-radius:0 0 10px 10px}}.site-layout{display:flex;min-height:100vh;min-height:100svh;flex-direction:column}.site-content{flex:1;min-width:0}.site-content>.app-shell,.site-content>.auth-initializing,.site-content>.login-page{min-height:calc(100vh - 76px);min-height:calc(100svh - 76px)}.site-content .login-visual,.site-content .login-panel{min-height:auto}.site-footer{display:flex;min-height:76px;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 24px;padding:20px 24px calc(20px + env(safe-area-inset-bottom));background:transparent;color:var(--np-color-muted);font-size:12px;line-height:1.8}.site-footer a,.login-home-link{color:#52635b;text-decoration:none}.site-footer a:hover,.login-home-link:hover{color:var(--np-color-surface-deep);text-decoration:underline}.login-home-link{justify-self:start;padding:4px 0;font-size:13px}.public-page{min-height:calc(100svh - 76px);background:var(--np-color-page);color:var(--np-color-text)}.public-header,.public-main{width:min(1320px,calc(100% - 64px));margin:0 auto}.public-header{display:flex;min-height:96px;align-items:center;justify-content:space-between;gap:16px}.public-brand{display:inline-flex;align-items:baseline;gap:12px;color:var(--np-color-surface-deep);font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:700;letter-spacing:-1px;text-decoration:none}.public-brand span{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;letter-spacing:0}.public-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:20px;padding:0 22px;border:1px solid var(--np-color-surface-deep);border-radius:var(--np-radius-control);background:var(--np-color-surface-deep);color:var(--np-color-card);font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.public-button:hover{background:#153d33}.public-button:disabled{cursor:wait;opacity:.65}.guest-entry-error{margin:16px 0 0;color:#52635b;font-size:13px}.guest-notice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;padding:12px max(24px,calc((100% - 1320px)/2));border-bottom:1px solid var(--np-color-border);background:var(--np-color-page);color:#52635b;font-size:13px;line-height:1.8}.guest-notice button{min-height:32px;padding:0 12px;border:1px solid var(--np-color-border);border-radius:var(--np-radius-control);background:transparent;color:var(--np-color-surface-deep);cursor:pointer}.guest-feature-note{align-self:start;padding:28px;border:1px solid var(--np-color-border);border-radius:var(--np-radius-card);background:var(--np-color-page);box-shadow:var(--np-shadow-card)}.guest-feature-note h2{margin:0 0 16px;color:var(--np-color-surface-deep);font-size:18px}.guest-feature-note p{color:#52635b;font-size:14px;line-height:1.8}.public-button--secondary{background:transparent;color:var(--np-color-surface-deep)}.public-button--secondary:hover{background:#e5ece3}.public-page a:focus-visible,.public-page button:focus-visible,.guest-notice button:focus-visible,.site-footer a:focus-visible,.login-home-link:focus-visible{outline:2px solid var(--np-color-surface-deep);outline-offset:5px}.public-hero{position:relative;display:grid;min-height:460px;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:40px;padding:52px 48px;overflow:hidden;border:1px solid var(--np-color-border);border-radius:var(--np-radius-card);background:#eef1e9}.public-mountain{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.17;pointer-events:none}.public-hero-copy,.public-note{position:relative}.public-eyebrow{margin:0 0 20px;color:#526a5d;font-size:12px;font-weight:600;letter-spacing:.12em}.public-hero h1{margin:0;color:#153d33;font-size:clamp(32px,3.7vw,52px);font-weight:700;line-height:1.4;letter-spacing:-1px}.public-description{max-width:540px;margin:24px 0 28px;color:#52635b;font-size:15px;line-height:1.9}.public-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px}.public-text-link{color:var(--np-color-surface-deep);font-size:14px;text-decoration:none}.public-text-link span{margin-left:8px}.public-text-link:hover{text-decoration:underline}.public-note{padding:32px;border:1px solid var(--np-color-surface-deep);border-radius:var(--np-radius-card);background:var(--np-color-surface-deep);box-shadow:var(--np-shadow-card);color:#e5ece3}.public-note-label{font-size:12px;letter-spacing:.14em}.public-note p{margin:28px 0;font-size:30px;font-weight:600;line-height:1.65}.public-note>span:last-child{display:block;color:#c0d4c9;font-size:13px;line-height:1.8}.public-features{padding:52px 0 36px;scroll-margin-top:24px}.public-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.public-section-heading .public-eyebrow{margin-bottom:10px}.public-section-heading h2,.public-about h2{margin:0;color:#20332d;font-size:23px;font-weight:650;line-height:1.5}.public-section-heading>p{margin:0 0 4px;color:#52635b;font-size:13px;line-height:1.8}.public-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.public-feature-card{padding:28px;border:1px solid var(--np-color-border);border-radius:var(--np-radius-card);background:var(--np-color-card);box-shadow:var(--np-shadow-card)}.public-feature-number{color:#526a5d;font-family:Georgia,Times New Roman,serif;font-size:22px}.public-feature-card h3{margin:20px 0 12px;color:#20332d;font-size:18px;font-weight:650}.public-feature-card p,.public-about p{margin:0;color:#52635b;font-size:14px;line-height:1.9}.public-about{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:28px 0 44px;border-top:1px solid var(--np-color-border)}.public-about h2{font-size:18px}@media(max-width:860px){.public-hero{grid-template-columns:1fr;padding:36px}.public-note{display:none}.public-section-heading{align-items:start;flex-direction:column;gap:12px}.public-feature-grid{grid-template-columns:1fr;gap:16px}.public-about{grid-template-columns:1fr;gap:12px}.site-layout--workspace .site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}@media(max-width:480px){.public-header,.public-main{width:calc(100% - 36px)}.public-header{min-height:80px}.public-brand{gap:8px;font-size:24px}.public-brand span{font-size:14px}.public-button{padding:0 16px;font-size:13px}.public-hero{min-height:0;padding:32px 24px}.public-hero h1{font-size:clamp(25px,7.2vw,34px)}.public-features{padding-top:36px}.public-section-heading h2{font-size:21px}.public-feature-card{padding:24px}.site-footer{flex-direction:column;gap:4px}.site-content .login-panel{padding:20px 18px}.site-content .login-card{padding:28px 24px}}#app{min-width:320px;min-height:100vh}*{box-sizing:border-box}
