:root{color:#f6f7ff;background:#1f2633;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 78% 0%,#536fc7 0,transparent 36%),linear-gradient(135deg,#202734,#111824 55%,#1d2340)}button,input,select{font:inherit}button{cursor:pointer}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0%,rgba(151,110,255,.28),transparent 34%),linear-gradient(135deg,#080b16,#121832)}.auth-card{width:min(440px,100%);display:grid;gap:16px;padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(180deg,#ffffff1a,#ffffff0a);box-shadow:0 24px 80px #0000005c}.auth-card h1{margin:0;font-size:28px;letter-spacing:0}.auth-card p{margin:0;color:#aeb8cc;line-height:1.6}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;border-radius:12px;background:#ffffff0f}.auth-tabs button{min-height:36px;border:0;border-radius:9px;color:#dce4f5;background:transparent}.auth-tabs button.active{color:#120d1d;font-weight:800;background:linear-gradient(135deg,#d6b6ff,#8d63ff 58%,#6f8cff)}.page-shell{min-height:100vh;padding:34px}.browser-frame{max-width:1480px;margin:0 auto;overflow:hidden;border:1px solid #2c3556;border-radius:16px;background:#060914;box-shadow:0 30px 90px #00000061,0 0 0 1px #9274ff1f}.window-bar{height:52px;display:grid;grid-template-columns:180px 1fr 180px;align-items:center;padding:0 18px;border-bottom:1px solid #22283a;color:#8f98ad;font-size:12px}.window-bar>span{text-align:center}.window-bar>span:last-child{text-align:right}.window-dots{display:flex;gap:8px}.window-dots span{width:10px;height:10px;border-radius:50%;background:#ff5f57}.window-dots span:nth-child(2){background:#ffbd2e}.window-dots span:nth-child(3){background:#28c840}.app{display:grid;grid-template-columns:240px 1fr;min-height:900px}.sidebar{padding:24px 18px;border-right:1px solid #20263a;background:#040712d1}.brand{display:flex;align-items:center;gap:12px;margin-bottom:32px}.brand span,.nav-section small,.hero span,.panel-head span,.table-head p,.metric span,.metric p,.status-box p,.advice p,label,.derived{color:#9aa4ba}.logo,.avatar{display:inline-grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#b08cff,#7657ff);box-shadow:0 0 24px #976eff73}.logo{width:36px;height:36px;font-weight:900;color:#15101e}.avatar{width:34px;height:34px}.brand strong{display:block;font-size:15px}.brand span{display:block;margin-top:3px;font-size:12px}.nav-section{display:grid;gap:12px;margin-bottom:34px}.nav-section small{letter-spacing:.08em}.nav-item,.risk-static{min-height:38px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:8px;color:#d9def0}.nav-item span,.risk-dot{width:16px;height:16px;border-radius:5px;background:#9167ff40;border:1px solid rgba(166,137,255,.32)}.nav-item.active{background:linear-gradient(90deg,#ffffff1c,#ffffff0a);box-shadow:inset 0 0 0 1px #ffffff1c}.risk-static{color:#dce4f5}.risk-dot.low,.pill.low{background:#43f0a026;border-color:#43f0a080;color:#43f0a0}.risk-dot.medium,.pill.medium{background:#6be8ff26;border-color:#6be8ff80;color:#6be8ff}.risk-dot.high,.pill.high{background:#ff587229;border-color:#ff58728c;color:#ff5872}.risk-note{padding:14px;border:1px solid rgba(107,232,255,.38);border-radius:12px;background:linear-gradient(135deg,#43f0a014,#9b7cff2e,#6be8ff1a);box-shadow:inset 0 0 20px #6be8ff14,0 0 26px #6be8ff1f}.risk-note p{margin:8px 0 12px;color:#aeb8cc;font-size:12px;line-height:1.5}.segmented-risk{display:flex;height:7px;overflow:hidden;border-radius:999px;background:#252b38}.segmented-risk i:nth-child(1){background:linear-gradient(90deg,#43f0a0,#66ffd0)}.segmented-risk i:nth-child(2){background:linear-gradient(90deg,#6be8ff,#7f8cff)}.segmented-risk i:nth-child(3){background:linear-gradient(90deg,#ff5872,#ff8aa1)}.main{padding:24px 26px 30px;background:radial-gradient(circle at 80px 60px,rgba(143,111,255,.18),transparent 22%),linear-gradient(180deg,#0c0b23,#090d18 45%,#090b13)}.topbar,.hero,.table-head,.panel-head,.modal-head,.modal-actions,.actions,.top-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.account{display:flex;align-items:center;gap:12px;color:#dce2f0}.top-actions{justify-content:flex-end;flex-wrap:wrap}.sync-status{padding:7px 10px;border:1px solid rgba(107,232,255,.18);border-radius:999px;color:#9bdcff;background:#6be8ff0f;font-size:12px}.hero{margin:22px 0 18px;align-items:flex-end}.hero p{margin:0 0 6px;color:#b795ff;font-size:12px;font-weight:800}.hero h1{margin:0 0 6px;font-size:34px;line-height:1.08;letter-spacing:0}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.chips span,.pill{padding:6px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0d;color:#d8deef;font-size:12px}.button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#f7f5ff;background:#ffffff14}.button.primary,.button.small{border:0;color:#100c1c;font-weight:800;background:linear-gradient(135deg,#d6b6ff,#8d63ff 58%,#6f8cff);box-shadow:0 0 26px #8e63ff57}.button.small{min-height:30px;padding:0 11px;border-radius:8px;font-size:12px}.button:disabled{opacity:.45;cursor:not-allowed}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric,.panel{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:linear-gradient(180deg,#ffffff17,#ffffff09);box-shadow:inset 0 1px #ffffff14}.metric{min-height:136px;padding:20px}.metric i{position:absolute;right:-32px;bottom:-45px;width:120px;height:120px;border-radius:50%;background:#8f6fff2e}.metric strong{display:block;margin:8px 0;font-size:30px;letter-spacing:0}.up{color:#ff5872!important}.down{color:#43f0a0!important}.neutral{color:#98a2b8!important}.top-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:14px;margin-top:14px}.mid-grid,.bottom-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:14px;margin-top:14px}.bottom-grid{grid-template-columns:1fr 1fr}.panel{padding:18px}.panel h2,.table-head h2{margin:0;font-size:20px}.trend-chart{width:100%;height:330px;margin-top:10px;border-radius:12px;background:#0308128f}.trend-chart line{stroke:#ffffff0e}.trend-chart text{fill:#8490a6;font-size:12px}.target-line{fill:none;stroke:#43f0a0;stroke-width:2;stroke-dasharray:7 7;opacity:.75}.trend-area{fill:url(#trendArea)}.trend-line{fill:none;stroke:#ff5872;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.point{fill:#fff;stroke:#ff5872;stroke-width:2}.point.active{fill:#ff5872}.progress-row{display:grid;grid-template-columns:86px 1fr 95px;gap:12px;align-items:center;margin:14px 0;font-size:13px}.progress-row div{height:8px;overflow:hidden;border-radius:999px;background:#ffffff1a}.progress-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b994ff,#7657ff)}.progress-row strong{text-align:right}.status-box,.advice{margin-top:18px;padding:16px;border:1px solid rgba(151,124,255,.35);border-radius:12px;background:linear-gradient(135deg,#977cff2e,#6be8ff14)}.donut-layout{display:grid;grid-template-columns:176px 1fr;align-items:center;gap:20px;min-height:224px;padding:8px 2px 4px}.donut{width:176px;height:176px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.24))}.donut-track{fill:none;stroke:#ffffff12;stroke-width:7.5}.donut-segment{fill:none;stroke-width:7.5;transform:rotate(-90deg);transform-origin:center;filter:drop-shadow(0 0 2px rgba(255,255,255,.22))}.donut-core{fill:#090d18eb;stroke:#ffffff14;stroke-width:.45}.donut text{fill:#f8fbff;text-anchor:middle;font-size:3.7px;font-weight:800;letter-spacing:0}.legend-row{display:grid;grid-template-columns:12px minmax(0,1fr) 60px;align-items:center;gap:9px;margin:10px 0;color:#dce4f5;font-size:13px}.legend-dot{width:9px;height:9px;border-radius:3px;box-shadow:0 0 8px #fff3}.legend-row strong{text-align:right}.risk-table{display:grid;gap:10px}.risk-line{display:grid;grid-template-columns:70px 1.5fr 130px 130px 90px;gap:12px;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}.risk-line em{color:#b4bdcf;font-style:normal}.risk-line mark{color:#f3f6ff;background:transparent;font-weight:800}.table-panel{margin-top:14px}.table-scroll{overflow-x:auto}table{width:100%;min-width:920px;border-collapse:collapse;margin-top:16px}th,td{padding:14px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;white-space:nowrap;font-size:13px}th{color:#8f98ad;font-weight:700}.row-menu{display:inline-flex;flex-direction:column;align-items:flex-end;gap:6px;vertical-align:top}.menu{position:static;z-index:5;display:grid;gap:4px;width:76px;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#151a2a;box-shadow:0 12px 28px #00000047}.menu button{width:100%;min-height:28px;padding:0 9px;border:0;border-radius:7px;color:#eef3ff;text-align:center;background:transparent;font-size:12px}.menu button:hover{background:#ffffff14}.mini-rows{display:grid;gap:10px;margin-top:14px}.mini-rows div{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:9px;color:#dce3f4;background:#ffffff09;font-size:13px}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#01030ab8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:20px;border:1px solid rgba(151,124,255,.35);border-radius:16px;background:#121729;box-shadow:0 24px 80px #0000007a}.modal-head{margin-bottom:18px}.modal-head h2{margin:0}.modal-head button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;color:#fff;background:#ffffff14}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}label{display:grid;gap:7px;font-size:13px}input,select{width:100%;min-height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:9px;color:#f8fbff;background:#ffffff0f}option{color:#111827}.modal-actions{justify-content:flex-end;margin-top:18px}.derived{margin:16px 0 0}.notice{margin:0;padding:11px 12px;border:1px solid rgba(67,240,160,.28);border-radius:10px;color:#88f7bf;background:#43f0a014}.error{margin:12px 0 0;color:#ff5872}.toast{position:fixed;right:24px;bottom:24px;z-index:30;padding:12px 16px;border-radius:12px;color:#101827;font-weight:800;background:linear-gradient(135deg,#d6b6ff,#6be8ff);box-shadow:0 0 40px #6be8ff42}@media(max-width:1040px){.page-shell{padding:14px}.app{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #20263a}.metric-grid,.top-grid,.mid-grid,.bottom-grid{grid-template-columns:1fr}.hero,.topbar,.table-head{align-items:flex-start;flex-direction:column}.chips{justify-content:flex-start}}@media(max-width:640px){.auth-shell{align-items:flex-start;padding:14px}.auth-card{gap:14px;padding:20px}.auth-card h1{font-size:24px}.page-shell{padding:0}.browser-frame{border-left:0;border-right:0;border-radius:0}.window-bar{display:none}.app{min-height:0}.sidebar{padding:14px 12px}.brand{margin-bottom:14px}.logo,.avatar{width:34px;height:34px}.nav-section{gap:8px;margin-bottom:16px}.nav-section small{font-size:10px}.nav-item,.risk-static{min-height:32px;padding:0 10px;font-size:12px}.risk-note{padding:12px}.main{padding:14px 10px 18px}.topbar,.hero,.table-head{gap:10px}.account,.hero p,.panel-head span,.table-head p{font-size:12px}.top-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.sync-status{grid-column:1 / -1;text-align:center}.hero{margin:14px 0 12px}.hero h1{font-size:24px}.hero span{font-size:11px}.chips{gap:6px}.chips span{padding:5px 8px;font-size:11px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{min-height:104px;padding:13px}.metric span,.metric p{font-size:11px}.metric strong{font-size:22px}.metric i{right:-28px;bottom:-36px;width:80px;height:80px}.top-grid,.mid-grid,.bottom-grid{gap:10px;margin-top:10px}.panel{padding:14px;border-radius:12px}.panel h2,.table-head h2{font-size:17px}.trend-chart{height:210px}.progress-row{grid-template-columns:64px 1fr;gap:7px 8px;margin:10px 0;font-size:12px}.progress-row strong{grid-column:2;text-align:left;font-size:11px}.status-box,.advice{margin-top:12px;padding:12px}.donut-layout{grid-template-columns:130px 1fr;gap:12px;min-height:150px}.donut{width:130px;height:130px}.donut text{font-size:4px}.legend-row{grid-template-columns:10px 1fr 46px;gap:8px;margin:7px 0;font-size:12px}.risk-line{grid-template-columns:54px 1fr;gap:7px 10px;font-size:12px}.risk-line em,.risk-line strong,.risk-line b,.risk-line mark{grid-column:2}.risk-line strong,.risk-line b,.risk-line mark{text-align:left;font-size:11px}.table-scroll{overflow:visible}table,thead,tbody,tr,th,td{display:block}table{min-width:0;margin-top:12px}thead{display:none}tbody{display:grid;gap:10px}tr{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#090c1880}td{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:7px 0;border-bottom:0;white-space:normal;font-size:12px}td:before{color:#9aa4ba;content:"";font-size:11px}td:nth-child(1):before{content:"资产"}td:nth-child(2):before{content:"分类"}td:nth-child(3):before{content:"风险"}td:nth-child(4):before{content:"成本"}td:nth-child(5):before{content:"当前市值"}td:nth-child(6):before{content:"折算市值"}td:nth-child(7):before{content:"收益率"}td:nth-child(8):before{content:"操作"}td:first-child{display:block;padding-top:0;font-size:15px;font-weight:800}td:first-child:before{display:none}.asset{gap:8px}.row-menu{align-items:flex-start}.menu{width:100%;grid-template-columns:repeat(3,1fr)}.menu button{min-height:30px}.actions,.modal-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.button{width:100%;min-height:34px;padding:0 11px;font-size:12px}.form-grid{grid-template-columns:1fr}.mini-rows div{display:grid;gap:4px;font-size:12px}}@media(max-width:380px){.metric strong{font-size:20px}.donut-layout{grid-template-columns:1fr}.donut{margin:0 auto}}
