:root{--ink:#12212a;--muted:#64737b;--faint:#8c989d;--navy:#0d2630;--navy-2:#153844;--teal:#0f9175;--teal-bright:#1bb58f;--teal-soft:#e8f5f1;--cream:#f3f1e8;--canvas:#f4f7f6;--surface:#ffffff;--line:#dce5e2;--line-soft:#edf1ef;--positive:#07815f;--positive-soft:#e7f6ef;--negative:#c84a4d;--negative-soft:#fceced;--warning:#b7791f;--warning-soft:#fff5da;--shadow:0 12px 34px rgba(14,38,48,0.08);--shadow-deep:0 28px 80px rgba(8,31,40,0.2)}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;background:radial-gradient(circle at 92% 0,rgba(27,181,143,.06),transparent 30rem),var(--canvas);color:var(--ink);font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}.neutral{color:var(--ink)!important}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:30;height:72px;background:rgba(13,38,48,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}.topbar-inner{width:min(1460px,calc(100% - 48px));height:100%;margin:0 auto;justify-content:space-between;gap:24px}.brand,.topbar-inner{display:flex;align-items:center}.brand{gap:12px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;color:var(--navy);background:linear-gradient(145deg,#f8f5e9,#ddd7bd);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);font-family:STSong,SimSun,serif;font-size:20px;font-weight:700}.brand-mark.large{width:60px;height:60px;margin:0 auto 18px;border-radius:18px;color:#f7f3df;background:var(--navy);font-size:28px}.brand>div:last-child{display:flex;flex-direction:column}.brand strong{font-size:17px;letter-spacing:.16em}.brand span{margin-top:1px;color:rgba(255,255,255,.58);font-size:11px;letter-spacing:.04em}.topbar-status{display:flex;align-items:center;gap:20px}.sync-button{border:0;background:transparent;color:rgba(255,255,255,.65);display:inline-flex;align-items:center;gap:7px;padding:8px;cursor:pointer;font-size:12px}.sync-button:hover{color:#fff}.sync-button:disabled{cursor:wait}.sync-button>span:first-child{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;color:var(--teal-bright);background:rgba(27,181,143,.12);font-size:16px}.sync-button.spinning>span:first-child{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.user-menu{min-width:206px;display:flex;align-items:center;gap:9px;padding-left:19px;border-left:1px solid rgba(255,255,255,.12)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:rgba(255,255,255,.13);color:#e9f8f4;font-weight:700}.user-copy{min-width:0;display:flex;flex:1;flex-direction:column}.user-copy strong{max-width:130px;overflow:hidden;color:rgba(255,255,255,.92);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.user-copy small{color:var(--teal-bright);font-size:10px}.user-menu>a{color:rgba(255,255,255,.54);font-size:11px;text-decoration:none}.user-menu>a:hover{color:#fff}.account-actions{display:flex;align-items:center;gap:2px}.account-actions button{border:0;border-radius:6px;padding:5px 6px;background:transparent;color:rgba(255,255,255,.56);cursor:pointer;font-size:10px}.account-actions button:hover{background:rgba(255,255,255,.08);color:#fff}.content-shell{width:min(1460px,calc(100% - 48px));margin:0 auto;padding:38px 0 72px}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:27px}.eyebrow,.section-kicker{margin:0 0 7px;color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.page-intro h1{margin:0;color:var(--navy);font-family:STSong,Songti SC,SimSun,serif;font-size:clamp(30px,3vw,43px);font-weight:700;letter-spacing:-.04em;line-height:1.15}.page-intro p:last-child{margin:8px 0 0;color:var(--muted);font-size:14px}.data-actions,.intro-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.button{min-height:42px;border:1px solid transparent;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 17px;cursor:pointer;font-weight:700;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:disabled{opacity:.55;cursor:wait;transform:none}.button.primary{background:var(--teal);color:#fff;box-shadow:0 8px 20px rgba(15,145,117,.22)}.button.primary:hover{background:#0b8068;box-shadow:0 10px 24px rgba(15,145,117,.28)}.button.secondary{border-color:var(--line);background:#fff;color:#34464e}.button.ghost:hover,.button.secondary:hover{border-color:#bfcfca;background:#f9fbfa}.button.ghost{border-color:transparent;background:transparent;color:#4a5d65}.button.small{min-height:34px;border-radius:8px;padding:0 12px;font-size:12px}.button.wide{width:100%}.metrics-grid{display:grid;grid-template-columns:minmax(330px,1.45fr) repeat(2,minmax(220px,1fr));gap:14px;margin-bottom:18px}.metric-card{min-height:154px;border:1px solid var(--line-soft);border-radius:15px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.92);box-shadow:0 8px 25px rgba(17,38,46,.045)}.metric-card>strong{margin:8px 0 1px;color:var(--navy);font-size:clamp(25px,2.1vw,33px);font-weight:750;letter-spacing:-.04em;line-height:1}.metric-card>small{color:var(--muted);font-size:11px}.metric-card>small b{font-weight:750}.metric-label{color:#596a71;font-size:12px;font-weight:700}.primary-metric{position:relative;overflow:hidden;border-color:transparent;background:radial-gradient(circle at 90% -10%,rgba(35,191,152,.24),transparent 44%),linear-gradient(135deg,var(--navy),#173c47);color:#fff;box-shadow:0 14px 32px rgba(13,38,48,.18)}.primary-metric:after{content:"";position:absolute;width:150px;height:150px;right:-65px;bottom:-83px;border:1px solid rgba(255,255,255,.1);border-radius:50%}.primary-metric>strong{color:#fff!important;font-size:clamp(29px,2.6vw,40px)}.primary-metric>strong.positive{color:#78e4c6!important}.primary-metric>strong.negative{color:#ff9da0!important}.metric-topline{display:flex;align-items:center;justify-content:space-between;gap:14px}.metric-topline span{color:rgba(255,255,255,.76);font-size:12px;font-weight:700}.metric-topline em{border-radius:999px;padding:4px 8px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.64);font-size:10px;font-style:normal}.pnl-split{display:flex;gap:24px;color:rgba(255,255,255,.5);font-size:11px}.pnl-split b{margin-left:3px;color:rgba(255,255,255,.84)!important;font-size:12px}.point-metric{border-color:rgba(15,145,117,.2);background:linear-gradient(145deg,#ffffff,#f0faf7)}.daily-metric{background:linear-gradient(145deg,#ffffff,#f7f7f2)}.market-position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.position-market-card{min-width:0;overflow:hidden;border:1px solid var(--line-soft);border-radius:17px;padding:22px;background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(17,38,46,.055)}.position-market-card.domestic{border-top:3px solid #148c72}.position-market-card.overseas{border-top:3px solid #3a7891}.contract-row,.hedge-meter>div:first-child,.position-block-title,.position-market-head,.position-market-head>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.position-market-head{margin-bottom:19px}.position-market-head>div{justify-content:flex-start}.market-orb{width:11px;height:34px;border-radius:999px;background:var(--teal);box-shadow:0 0 0 5px rgba(15,145,117,.08)}.overseas .market-orb{background:#3a7891;box-shadow:0 0 0 5px rgba(58,120,145,.09)}.position-market-head .section-kicker{margin:0 0 1px;font-size:9px}.position-market-head h2{margin:0;color:var(--navy);font-size:18px;letter-spacing:-.02em}.position-asof{flex:0 0 auto;border-radius:999px;padding:5px 9px;color:var(--muted);background:#f3f6f5;font-size:10px}.position-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.position-kpi{min-width:0;min-height:103px;border:1px solid var(--line-soft);border-radius:12px;padding:13px 14px;display:flex;flex-direction:column;justify-content:space-between;background:#fbfcfc}.position-kpi>span{color:var(--muted);font-size:10px;font-weight:700}.position-kpi>strong{margin:4px 0;color:var(--navy);font-size:clamp(20px,1.8vw,27px);line-height:1.08;letter-spacing:-.035em}.position-kpi>strong small{color:currentColor;font-size:10px;font-weight:650;letter-spacing:0}.position-kpi>em{overflow:hidden;color:var(--faint);font-size:9px;font-style:normal;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.exposure-kpi{border-color:rgba(183,121,31,.18);background:#fffaf0}.ratio-kpi{border-color:rgba(15,145,117,.16);background:#f5fbf9}.hedge-meter{margin:13px 1px 18px}.hedge-meter>div:first-child{margin-bottom:6px;align-items:flex-end;color:var(--faint);font-size:8px}.hedge-meter>div:first-child span:nth-child(2){overflow:hidden;color:var(--muted);font-size:9px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.hedge-track{height:7px;overflow:hidden;border-radius:999px;background:#e9efed}.hedge-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#77cbb5,var(--teal));transition:width .3s ease}.hedge-track i.over-hedged{background:linear-gradient(90deg,#e5bd69,#c67831)}.position-lower-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(220px,.82fr);gap:10px}.contract-holdings,.point-pnl-card{min-width:0;border:1px solid var(--line-soft);border-radius:12px;padding:13px 14px;background:#fff}.position-block-title{align-items:flex-start;margin-bottom:10px}.position-block-title strong{color:var(--navy);font-size:11px}.position-block-title span{color:var(--faint);font-size:8px;text-align:right}.contract-list{display:grid;gap:7px}.contract-row{padding-top:7px;border-top:1px solid var(--line-soft);align-items:flex-start}.contract-row>div{min-width:0;display:flex;flex-direction:column}.contract-row>div:last-child{flex:0 0 auto;align-items:flex-end;text-align:right}.contract-row strong{color:var(--ink);font-size:10px}.contract-row small{margin-top:2px;color:var(--faint);font-size:8px}.position-empty{min-height:48px;display:grid;place-items:center;color:var(--faint);font-size:10px}.point-pnl-card dl{margin:0;display:grid;gap:7px}.point-pnl-card dl>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px}.point-pnl-card dd{margin:0;font-size:10px;font-weight:750}.point-pnl-card .combined-pnl-row{margin-top:2px;border-top:1px solid var(--line-soft);padding-top:8px;color:var(--ink);font-weight:700}.point-pnl-card .combined-pnl-row dd{font-size:14px}.point-pnl-card>p{margin:10px 0 0;border-radius:8px;padding:7px 8px;display:flex;align-items:center;justify-content:space-between;gap:7px;color:var(--muted);background:#f3f7f8;font-size:8px}.point-pnl-card>p b{font-size:10px}.point-pnl-card>p span{color:var(--faint)}.position-market-note{margin:13px 1px 0;color:var(--faint);font-size:8px;line-height:1.5}.period-review{position:relative;margin-bottom:18px;border:1px solid var(--line-soft);border-radius:17px;padding:24px;background:radial-gradient(circle at 96% 0,rgba(27,181,143,.08),transparent 26rem),rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(17,38,46,.055)}.period-review-title{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:20px}.period-review-title h2{margin:0;color:var(--navy);font-family:STSong,Songti SC,SimSun,serif;font-size:23px;line-height:1.25}.period-review-empty>p,.period-review-title>div:first-child>p:last-child{margin:6px 0 0;color:var(--muted);font-size:12px}.period-review-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.period-review-controls label{display:flex;flex-direction:column;gap:4px}.period-review-controls label>span{color:var(--faint);font-size:9px;font-weight:700}.period-date-picker{position:relative;min-width:132px;height:38px;border:1px solid var(--line);border-radius:9px;padding:0 34px 0 11px;display:flex;align-items:center;background:#fff;color:#34474f;font-size:11px;font-variant-numeric:tabular-nums;font-weight:650;outline:none}.period-date-picker:after{content:"▾";position:absolute;right:11px;color:var(--faint);font-size:10px;pointer-events:none}.period-date-picker input{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;cursor:pointer}.period-date-picker:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,145,117,.1)}.period-date-separator{height:38px;display:grid;place-items:center;color:var(--faint);font-size:10px}.period-export-button{min-height:38px;padding:0 15px;font-size:11px}.period-export-button>span{font-size:17px;line-height:1}.period-profit-grid{display:grid;grid-template-columns:1.25fr repeat(3,minmax(0,1fr));gap:10px;margin-bottom:13px}.period-profit-grid article{min-width:0;min-height:118px;border:1px solid var(--line-soft);border-radius:13px;padding:17px;display:flex;flex-direction:column;justify-content:space-between;background:#fbfcfb}.period-profit-grid article>span{color:#65767d;font-size:10px;font-weight:700}.period-profit-grid article>strong{margin:7px 0;overflow:hidden;color:var(--navy);font-size:clamp(21px,2vw,29px);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.period-profit-grid article>small{color:var(--faint);font-size:9px}.period-profit-grid .period-profit-total{border-color:transparent;background:radial-gradient(circle at 95% 0,rgba(52,201,164,.2),transparent 55%),linear-gradient(135deg,var(--navy),#173c47)}.period-profit-total>small,.period-profit-total>span{color:rgba(255,255,255,.62)!important}.period-profit-total>strong{color:#fff!important;font-size:clamp(25px,2.2vw,33px)!important}.period-profit-total>strong.positive{color:#78e4c6!important}.period-profit-total>strong.negative{color:#ff9da0!important}.period-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.period-market-card{min-width:0;overflow:hidden;border:1px solid var(--line-soft);border-top:3px solid var(--teal);border-radius:14px;padding:17px;background:#fff}.period-market-card.overseas{border-top-color:#3a7891}.period-market-card>footer,.period-market-card>header,.period-market-card>header>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.period-market-card>header>div:first-child{justify-content:flex-start}.period-market-orb{width:7px;height:34px;border-radius:999px;background:var(--teal)}.period-market-card.overseas .period-market-orb{background:#3a7891}.period-market-card header p{margin:0;color:var(--teal);font-size:8px;font-weight:800;letter-spacing:.14em}.period-market-card.overseas header p{color:#3a7891}.period-market-card header h3{margin:1px 0 0;color:var(--navy);font-family:STSong,Songti SC,serif;font-size:18px;line-height:1.2}.period-market-pnl{display:flex;align-items:flex-end;flex-direction:column}.period-market-pnl>small,.period-market-pnl>span{color:var(--faint);font-size:8px}.period-market-pnl>strong{margin-top:1px;font-size:18px;line-height:1.2}.period-position-table{margin-top:16px;border:1px solid var(--line-soft);border-radius:10px;overflow:hidden}.period-position-mobile{display:none}.period-position-row{min-width:440px;min-height:38px;display:grid;grid-template-columns:minmax(110px,1.2fr) repeat(3,minmax(92px,1fr));align-items:center;border-top:1px solid var(--line-soft);padding:0 11px;column-gap:8px;color:#51636a;font-size:10px;font-variant-numeric:tabular-nums}.period-position-row:first-child{border-top:0}.period-position-row.heading{min-height:32px;background:#f7f9f8;color:var(--faint);font-size:8px;font-weight:700}.period-position-row>span:not(:first-child),.period-position-row>strong:not(:first-child){text-align:right}.period-position-row>strong{color:#34474f;font-size:10px}.period-market-card>footer{margin-top:12px;justify-content:flex-start;flex-wrap:wrap;color:var(--faint);font-size:8px}.period-market-card>footer span:not(:last-child):after{content:"·";margin-left:10px;color:#c1ccca}.period-review-note{margin-top:12px;display:flex;align-items:center;gap:17px;flex-wrap:wrap;color:var(--faint);font-size:9px}.period-review-note span{position:relative}.period-review-note span:not(:last-child):after{content:"";position:absolute;top:50%;right:-10px;width:3px;height:3px;border-radius:50%;background:#b7c5c1}.period-no-records,.period-range-error{margin-bottom:12px;border-radius:9px;padding:9px 12px;background:var(--warning-soft);color:#8d671e;font-size:10px}.period-export-status{position:absolute;right:25px;bottom:6px;color:var(--teal);font-size:9px;font-weight:700}.period-review-empty{min-height:150px;display:flex;justify-content:center;flex-direction:column}.period-review-empty .period-review-title{margin-bottom:0}.quicklook-preview-backdrop{position:fixed;inset:0;z-index:120;padding:24px;display:flex;align-items:center;justify-content:center;background:rgba(3,20,27,.72);backdrop-filter:blur(7px)}.quicklook-preview-dialog{width:min(480px,100%);max-height:calc(100dvh - 48px);border-radius:18px;padding:18px;display:flex;flex-direction:column;background:#fff;box-shadow:var(--shadow-deep)}.quicklook-preview-dialog>footer,.quicklook-preview-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.quicklook-preview-dialog>header{margin-bottom:13px}.quicklook-preview-dialog>header h3{margin:0;color:var(--navy);font-family:STSong,Songti SC,serif;font-size:21px}.quicklook-preview-dialog>header button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--muted);cursor:pointer;font-size:22px;line-height:1}.quicklook-preview-image{min-height:0;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:8px;display:grid;place-items:center;background:#e9efed}.quicklook-preview-image img{width:auto;max-width:100%;max-height:59dvh;border-radius:8px;display:block;box-shadow:0 8px 25px rgba(13,38,48,.18);-webkit-touch-callout:default;user-select:auto}.quicklook-preview-dialog>p{margin:11px 2px;color:var(--muted);font-size:10px;line-height:1.6}.quicklook-preview-dialog>footer{justify-content:flex-end}.quicklook-preview-dialog>footer .button{min-height:40px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(285px,.8fr);gap:18px;margin-bottom:18px}.chart-card,.records-section,.share-card{border:1px solid var(--line-soft);border-radius:15px;background:rgba(255,255,255,.94);box-shadow:0 7px 25px rgba(17,38,46,.04)}.chart-card{min-height:340px;padding:23px 25px 16px}.card-heading,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.card-heading h2,.section-heading h2,.share-card h2{margin:0;color:var(--navy);font-family:STSong,Songti SC,SimSun,serif;font-size:21px;line-height:1.25}.chart-total{font-size:18px;font-weight:750}.chart-wrap{height:250px;margin-top:10px}.chart-wrap svg{width:100%;height:100%;overflow:visible}.zero-line{stroke:#dbe4e1;stroke-width:1;stroke-dasharray:4 5}.trend-shadow{fill:none;stroke:rgba(15,145,117,.13);stroke-linecap:round;stroke-linejoin:round;stroke-width:12}.trend-line{fill:none;stroke:var(--teal);stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.trend-dot{fill:#fff;stroke:var(--teal);stroke-width:4}.chart-date{fill:#8b989d;font-size:11px}.chart-date.end{text-anchor:end}.chart-empty{min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);text-align:center}.chart-empty>div{width:48px;height:48px;margin-bottom:13px;border-radius:50%;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);font-size:26px}.chart-empty strong{color:#40545c}.chart-empty span{margin-top:5px;color:var(--faint);font-size:12px}.share-card{min-height:340px;padding:25px;display:flex;flex-direction:column;background:linear-gradient(rgba(255,255,255,.96),rgba(255,255,255,.96)),repeating-linear-gradient(45deg,#eaf2ef,#eaf2ef 1px,transparent 0,transparent 9px)}.share-icon{width:48px;height:48px;margin-bottom:18px;border:1px solid #c8e5dc;border-radius:14px;display:grid;place-items:center;color:var(--teal);background:var(--teal-soft);font-size:23px}.share-card p:not(.section-kicker){margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.75}.sync-facts{margin:auto 0 0;padding:0;border-top:1px solid var(--line-soft)}.sync-facts>div{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-soft)}.sync-facts dt{color:var(--faint);font-size:11px}.sync-facts dd{max-width:180px;margin:0;color:#3c4e56;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.records-section,.sync-facts dd{overflow:hidden}.section-heading{padding:23px 25px 18px}.section-heading p:last-child{margin:6px 0 0;color:var(--muted);font-size:12px}.data-actions{justify-content:flex-end}.market-filter{border-top:1px solid var(--line-soft);padding:12px 25px;display:flex;align-items:center;gap:7px;background:#fbfcfb}.market-filter button{min-height:34px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;background:#fff;color:#607078;cursor:pointer;font-size:11px;font-weight:700}.market-filter button span{min-width:19px;height:19px;border-radius:999px;display:grid;place-items:center;background:#edf2f0;color:#708087;font-size:9px}.market-filter button.active{border-color:var(--teal);background:var(--teal);color:#fff}.market-filter button.active span{background:rgba(255,255,255,.18);color:#fff}.market-badge{width:fit-content;border-radius:999px;display:inline-flex;align-items:center;padding:2px 7px;font-size:9px;font-weight:800;white-space:nowrap}.market-badge.domestic{background:#e8f5f1;color:#0a8067}.market-badge.overseas{background:#eef0fb;color:#5564a7}.domestic-metric{border-top:3px solid #3cb596}.overseas-metric{border-top:3px solid #6675bd}.selection-bar{min-height:42px;padding:7px 25px;display:flex;align-items:center;gap:18px;background:var(--teal-soft);color:#3e5e55;font-size:12px}.selection-bar span{font-weight:750}.selection-bar button{border:0;padding:4px;background:transparent;color:var(--teal);cursor:pointer;font-weight:700}.danger-link{color:var(--negative)!important}.table-wrap{width:100%;overflow-x:auto;border-top:1px solid var(--line-soft)}table{width:100%;min-width:1160px;border-collapse:collapse}th{height:42px;padding:0 11px;background:#f8faf9;color:#718087;font-size:10px;font-weight:750;letter-spacing:.02em;text-align:left}td,th{white-space:nowrap}td{height:67px;padding:9px 11px;border-top:1px solid var(--line-soft);color:#3d4d54;font-size:12px;vertical-align:middle}tbody tr{transition:background .14s ease}tbody tr:hover{background:#fbfcfc}tbody tr.selected-row{background:#f0f8f5}td strong{display:block;color:inherit;font-size:12px;font-weight:750}td small{display:block;max-width:175px;margin-top:3px;overflow:hidden;color:#8b969b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.num{text-align:right;font-variant-numeric:tabular-nums}.check-cell{width:38px;padding-right:4px;padding-left:16px}input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--teal);cursor:pointer}.actions-cell{min-width:94px;text-align:right}.actions-cell button{border:0;padding:5px;background:transparent;color:var(--teal);cursor:pointer;font-size:11px;font-weight:700}.status{border-radius:999px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:9px;font-weight:750}.status:before{content:"";width:5px;height:5px;border-radius:50%}.status.ok{background:var(--positive-soft);color:var(--positive)}.status.ok:before{background:var(--positive)}.status.warn{background:var(--warning-soft);color:var(--warning)}.status.warn:before{background:var(--warning)}.mobile-records{display:none}.records-empty{min-height:300px;border-top:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px;text-align:center}.empty-illustration{position:relative;width:70px;height:62px;margin-bottom:15px;border:1px solid #d9e7e3;border-radius:13px;background:#f3faf7}.empty-illustration span{position:absolute;left:14px;right:14px;height:3px;border-radius:2px;background:#b7dcd2}.empty-illustration span:first-child{top:17px}.empty-illustration span:nth-child(2){top:29px;right:27px}.empty-illustration span:nth-child(3){top:41px;right:20px}.records-empty h3{margin:0;color:var(--navy);font-family:STSong,Songti SC,serif;font-size:19px}.records-empty p{margin:7px 0 17px;color:var(--muted);font-size:12px}.method-note{margin-top:15px;border:1px solid #d9e8e3;border-radius:12px;padding:15px 18px;display:flex;align-items:flex-start;gap:16px;background:#f7fbf9;color:var(--muted);font-size:11px;line-height:1.7}.method-note strong{flex:0 0 auto;color:var(--teal)}.mobile-fab{display:none}.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;z-index:100;padding:28px;display:flex;align-items:center;justify-content:center;background:rgba(3,20,27,.58);backdrop-filter:blur(5px);animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0}}.modal-panel{width:min(1060px,100%);max-height:calc(100vh - 56px);overflow:hidden;border:1px solid rgba(255,255,255,.6);border-radius:18px;display:flex;flex-direction:column;background:#fff;box-shadow:var(--shadow-deep);animation:modal-in .22s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.99)}}.modal-header{min-height:74px;padding:16px 22px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;background:#fbfcfb}.modal-header h2{margin:0;color:var(--navy);font-family:STSong,Songti SC,serif;font-size:23px}.modal-close{width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:#edf2f0;color:#5c6d73;cursor:pointer;font-size:25px;font-weight:300;line-height:1}.modal-close:hover{background:#e2e9e6;color:var(--navy)}.modal-panel form{min-height:0;display:flex;flex-direction:column}.modal-body{min-height:0;overflow-y:auto;padding:22px;overscroll-behavior:contain}.modal-footer{min-height:70px;padding:13px 22px;border-top:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fbfcfb}.modal-footer>span{color:var(--faint);font-size:10px}.modal-footer>div{display:flex;gap:9px}.form-error{margin-bottom:16px;border:1px solid #f3c6c8;border-radius:10px;padding:11px 13px;background:var(--negative-soft);color:var(--negative);font-size:12px;font-weight:650}.form-section{min-width:0;margin:0 0 18px;border:1px solid var(--line);border-radius:13px;padding:18px}.form-section legend{margin-left:-5px;padding:0 10px 0 0;display:flex;align-items:center;gap:10px;background:#fff}.form-section legend>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:10px;font-weight:800}.form-section legend>div{display:flex;flex-direction:column}.form-section legend strong{color:#263a42;font-size:13px}.form-section legend small{color:var(--faint);font-size:9px}.field-grid{display:grid;gap:13px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field-grid.compact{max-width:520px;margin-bottom:14px}.shared-date-field{max-width:300px;margin-bottom:14px}.field{min-width:0;display:flex;flex-direction:column;gap:6px}.field>span{color:#506168;font-size:11px;font-weight:700}.field>span em{margin-left:3px;color:var(--negative);font-style:normal}.field>small{color:var(--faint);font-size:9px}.field input,.field select,.field textarea,.number-pair input{width:100%;min-height:39px;outline:none;border:1px solid #cfdbd7;border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums;transition:border .15s ease,box-shadow .15s ease}.field textarea{min-height:74px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.number-pair input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,145,117,.1)}.field input::placeholder,.field textarea::placeholder,.number-pair input::placeholder{color:#adb7ba}.suffix-input{position:relative}.suffix-input input{padding-right:34px}.suffix-input span{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:var(--faint);font-size:11px;pointer-events:none}.signed-number-input{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px}.signed-number-input button{min-height:39px;border:1px solid #b9d8cf;border-radius:8px;background:var(--teal-soft);color:var(--teal);cursor:pointer;font-size:17px;font-weight:800}.signed-number-input button:focus-visible,.signed-number-input button:hover{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px rgba(15,145,117,.1)}.mode-switch{max-width:560px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px;padding:4px;border-radius:10px;background:#edf2f0}.mode-switch button{min-height:51px;border:1px solid transparent;border-radius:8px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:7px 12px;background:transparent;color:#53656c;cursor:pointer;text-align:left;font-size:11px;font-weight:750}.mode-switch button small{margin-top:1px;color:#8a979b;font-size:9px;font-weight:500}.mode-switch button.active{border-color:#d7e3df;background:#fff;color:var(--teal);box-shadow:0 2px 7px rgba(13,38,48,.07)}.source-panel{border-radius:10px;padding:14px;background:#f7faf9}.source-title{margin-bottom:11px;display:flex;align-items:center;justify-content:space-between;gap:12px}.source-title strong{color:#40535a;font-size:11px}.source-title span{border-radius:999px;padding:3px 8px;background:var(--teal-soft);color:var(--teal);font-size:9px;font-weight:750}.number-pair{min-width:0;border-left:2px solid #d9e6e2;padding-left:11px}.number-pair>strong{display:block;margin-bottom:7px;color:#40535a;font-size:11px}.number-pair label{display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:5px;margin-top:5px}.number-pair label span{color:#8a989d;font-size:9px}.number-pair input{min-height:35px;padding:6px 8px;font-size:11px}.notes-field{margin-top:2px}.settings-callout{margin:16px 0;border-left:3px solid var(--teal);border-radius:0 8px 8px 0;padding:10px 12px;background:var(--teal-soft);color:#4b675f;font-size:11px;line-height:1.65}.market-selector,.market-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;border-radius:11px;padding:4px;background:#edf2f0}.market-selector button,.market-tabs button{min-height:52px;border:1px solid transparent;border-radius:9px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:8px 13px;background:transparent;color:#5e6e75;cursor:pointer;text-align:left}.market-selector button strong,.market-tabs button{font-size:11px;font-weight:800}.market-selector button small,.market-tabs button small{margin-top:2px;color:#8b979b;font-size:9px;font-weight:500}.market-selector button.active,.market-tabs button.active{border-color:#d7e3df;background:#fff;color:var(--teal);box-shadow:0 2px 7px rgba(13,38,48,.07)}.market-selector button:disabled{cursor:default}.compact-modal{width:min(520px,100%)}.password-fields{display:grid;gap:14px}.login-form{display:grid;gap:13px;text-align:left}.login-form label{display:grid;gap:6px}.login-form label>span{color:#4f6068;font-size:11px;font-weight:750}.login-form input{width:100%;min-height:44px;outline:none;border:1px solid #cfdbd7;border-radius:9px;padding:9px 11px;background:#fff;color:var(--ink)}.login-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,145,117,.1)}.signin-security{margin:16px 0 0;color:#929da1;font-size:9px}.fx-note{margin-top:10px;border-radius:7px;padding:5px 8px;background:#eef0fb;color:#5c68a0;font-size:9px}.user-management{min-height:0;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(400px,1.1fr);overflow:hidden}.access-form,.users-pane{min-height:0;display:flex;flex-direction:column}.users-pane{border-right:1px solid var(--line-soft);background:#f8faf9}.pane-heading{min-height:67px;border-bottom:1px solid var(--line-soft);padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pane-heading>div{min-width:0;display:flex;flex-direction:column}.pane-heading strong{color:var(--navy);font-size:13px}.pane-heading small{margin-top:2px;color:var(--faint);font-size:9px}.users-list{min-height:260px;max-height:500px;overflow-y:auto;padding:8px}.system-backup-panel{margin-top:auto;border-top:1px solid var(--line-soft);padding:12px 16px;display:grid;gap:10px;background:#f2f7f5}.system-backup-panel>div:first-child{display:grid;gap:3px}.system-backup-panel strong{color:var(--navy);font-size:11px}.system-backup-panel small{color:var(--faint);font-size:9px;line-height:1.55}.system-backup-panel>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.users-list>button{width:100%;min-height:58px;border:1px solid transparent;border-radius:10px;display:flex;align-items:center;gap:9px;padding:8px 10px;background:transparent;color:inherit;cursor:pointer;text-align:left}.users-list>button.active,.users-list>button:hover{border-color:#d8e4e0;background:#fff}.user-list-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--teal-soft);color:var(--teal);font-size:11px;font-weight:800}.user-list-copy{min-width:0;display:flex;flex:1;flex-direction:column}.user-list-copy small,.user-list-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-list-copy strong{color:#394c53;font-size:11px}.user-list-copy small{margin-top:2px;color:var(--faint);font-size:9px}.disabled-badge,.role-badge{flex:0 0 auto;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:800}.role-badge.admin{background:var(--teal-soft);color:var(--teal)}.role-badge.viewer{background:#edf0f2;color:#68787f}.disabled-badge{background:var(--negative-soft);color:var(--negative)}.access-form-body{min-height:0;overflow-y:auto;padding:17px;display:grid;gap:13px}.access-form-body .form-error,.access-form-body .form-success{margin-bottom:0}.form-success{border:1px solid #b9e0d1;border-radius:10px;padding:11px 13px;background:var(--positive-soft);color:var(--positive);font-size:12px;font-weight:650}.toggle-field{min-height:39px;border:1px solid #cfdbd7;border-radius:8px;display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fff;color:#506168;font-size:11px}.access-note{border-left:3px solid #9ba5d1;padding:7px 10px;background:#f4f5fb;color:#69729c;font-size:9px;line-height:1.65}.access-form-footer{min-height:66px;margin-top:auto;border-top:1px solid var(--line-soft);padding:11px 17px;display:flex;justify-content:flex-end;gap:8px;background:#fbfcfb}.pane-empty{min-height:220px;display:grid;place-items:center;color:var(--faint);font-size:11px}.toast{position:fixed;z-index:200;left:50%;bottom:28px;max-width:min(440px,calc(100% - 40px));border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:11px 16px;background:rgba(13,38,48,.96);color:#fff;box-shadow:0 12px 35px rgba(13,38,48,.26);opacity:0;pointer-events:none;text-align:center;transform:translate(-50%,10px);transition:opacity .2s ease,transform .2s ease}.toast.show{opacity:1;transform:translate(-50%)}.loading-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--navy);color:rgba(255,255,255,.68)}.loading-mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--cream);color:var(--navy);font-family:STSong,serif;font-size:25px;font-weight:700}.loading-line{width:92px;height:2px;margin:23px 0 12px;overflow:hidden;border-radius:2px;background:rgba(255,255,255,.12)}.loading-line:after{content:"";display:block;width:45%;height:100%;background:var(--teal-bright);animation:loading 1.2s ease-in-out infinite}@keyframes loading{0%{transform:translateX(-100%)}to{transform:translateX(225%)}}.loading-shell p{margin:0;font-size:12px}.signin-shell{min-height:100vh;padding:28px;display:grid;place-items:center;background:radial-gradient(circle at 25% 15%,rgba(27,181,143,.18),transparent 27rem),radial-gradient(circle at 85% 85%,rgba(244,240,216,.08),transparent 24rem),var(--navy)}.signin-card{width:min(440px,100%);border:1px solid rgba(255,255,255,.55);border-radius:22px;padding:40px;background:rgba(255,255,255,.97);box-shadow:0 35px 90px rgba(0,0,0,.24);text-align:center}.signin-card h1{margin:0;color:var(--navy);font-family:STSong,Songti SC,serif;font-size:31px}.signin-lead{margin:13px 0 26px;color:var(--muted);font-size:13px;line-height:1.8}.signin-features{margin-top:23px;display:flex;justify-content:center;gap:17px;color:var(--faint);font-size:10px}.signin-features span{position:relative}.signin-features span:not(:last-child):after{content:"";position:absolute;top:50%;right:-9px;width:2px;height:2px;border-radius:50%;background:#aab4b6}@media (max-width:1120px){.metrics-grid{grid-template-columns:1.45fr repeat(2,1fr)}.metric-card{min-height:145px;padding:18px}.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr)}.table-wrap{overflow-x:auto}}@media (max-width:900px){.content-shell,.topbar-inner{width:min(100% - 32px,760px)}.metrics-grid{grid-template-columns:repeat(3,1fr)}.primary-metric{grid-column:1/-1}.dashboard-grid,.market-position-grid{grid-template-columns:1fr}.period-review-title{align-items:flex-start;flex-direction:column}.period-review-controls{width:100%;justify-content:flex-start}.period-profit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.period-market-grid{grid-template-columns:1fr}.share-card{min-height:auto}.sync-facts{margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr)}.sync-facts>div{padding:8px 12px;align-items:flex-start;flex-direction:column;gap:2px;border-right:1px solid var(--line-soft)}.sync-facts>div:last-child{border-right:0}.modal-panel{max-height:calc(100vh - 32px)}.user-management{grid-template-columns:1fr;overflow-y:auto}.users-pane{border-right:0;border-bottom:1px solid var(--line-soft)}.users-list{min-height:0;max-height:190px}}@media (max-width:680px){body{font-size:13px}.topbar{height:62px}.content-shell,.topbar-inner{width:calc(100% - 24px)}.brand{gap:8px}.brand-mark{width:36px;height:36px;border-radius:10px;font-size:18px}.brand strong{font-size:15px}.brand span{font-size:9px}.topbar-status{gap:7px}.sync-button{padding:5px}.sync-button>span:last-child{display:none}.sync-button>span:first-child{width:29px;height:29px}.user-menu{min-width:0;gap:6px;padding-left:7px}.avatar{width:30px;height:30px;font-size:11px}.user-copy{display:none}.account-actions{gap:0}.account-actions button{padding:5px;font-size:9px}.content-shell{padding:25px 0 95px}.page-intro{align-items:flex-start;margin-bottom:20px}.page-intro h1{font-size:31px}.page-intro p:last-child{max-width:260px;font-size:11px;line-height:1.7}.intro-actions .button.primary{min-width:40px;min-height:40px;padding:0 11px;display:flex;font-size:0}.intro-actions .button.primary span{font-size:20px}.intro-actions .button.ghost{min-width:40px;min-height:40px;border-color:var(--line);padding:0 11px;background:#fff;font-size:0}.intro-actions .button.ghost span{font-size:20px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}.market-position-grid{gap:12px;margin-bottom:12px}.period-review{margin-bottom:12px;border-radius:13px;padding:16px}.period-review-title{gap:15px;margin-bottom:16px}.period-review-title h2{font-size:20px}.period-review-title>div:first-child>p:last-child{font-size:10px}.period-review-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px}.period-review-controls label{min-width:0}.period-date-picker{width:100%;min-width:0;padding:0 30px 0 9px;font-size:11px}.period-date-separator{display:none}.period-all-button{grid-column:1/2}.period-export-button{grid-column:2/3;min-height:38px}.period-profit-grid{gap:7px;margin-bottom:9px}.period-profit-grid article{min-height:105px;padding:13px}.period-profit-grid article>strong,.period-profit-total>strong{font-size:22px!important}.period-market-grid{gap:9px}.period-market-card{padding:14px}.period-position-row{min-width:0;grid-template-columns:minmax(82px,1.15fr) repeat(3,minmax(58px,1fr));padding:0 7px;column-gap:4px;font-size:8px}.period-position-row>strong{font-size:8px}.period-position-table{display:none}.period-position-mobile{margin-top:13px;display:grid;gap:7px}.period-position-mobile-row{border:1px solid var(--line-soft);border-radius:10px;padding:10px;background:#f9fbfa}.period-position-mobile-row>div,.period-position-mobile-row>div>span,.period-position-mobile-row>header{display:flex;align-items:center}.period-position-mobile-row>header{justify-content:space-between;gap:10px}.period-position-mobile-row>header strong{color:#31464e;font-size:10px}.period-position-mobile-row>header span{font-size:9px;font-weight:750}.period-position-mobile-row>div{margin-top:8px;justify-content:space-between;gap:8px}.period-position-mobile-row>div>span{min-width:0;align-items:flex-start;flex-direction:column;color:#31464e;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.period-position-mobile-row>div>span:last-child{align-items:flex-end}.period-position-mobile-row small{color:var(--faint);font-size:7px;font-weight:500}.period-position-mobile-row i{color:#9baba7;font-size:13px;font-style:normal}.period-review-note{align-items:flex-start;flex-direction:column;gap:3px;font-size:8px}.period-review-note span:after{display:none}.period-export-status{position:static;min-height:14px;display:block;margin-top:4px}.quicklook-preview-backdrop{padding:0;align-items:flex-end}.quicklook-preview-dialog{width:100%;max-height:96dvh;border-radius:18px 18px 0 0;padding:15px 15px max(15px,env(safe-area-inset-bottom))}.quicklook-preview-image img{max-height:61dvh}.quicklook-preview-dialog>footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.quicklook-preview-dialog>footer .button:only-child{grid-column:1/-1}.position-market-card{padding:16px}.position-market-head{margin-bottom:14px}.position-kpis{gap:7px}.position-kpi{min-height:99px;padding:11px}.position-kpi>strong{font-size:21px}.position-lower-grid{grid-template-columns:1fr}.position-market-note{font-size:9px}.primary-metric{grid-column:1/-1;min-height:148px;padding:19px}.primary-metric>strong{font-size:32px}.metric-card:not(.primary-metric){min-height:121px;padding:15px}.metric-card:not(.primary-metric)>strong{font-size:24px}.net-metric{grid-column:1/-1;min-height:105px!important}.dashboard-grid{gap:12px;margin-bottom:12px}.chart-card,.records-section,.share-card{border-radius:13px}.chart-card{min-height:300px;padding:19px 16px 8px}.chart-wrap{height:220px}.share-card{padding:19px}.share-icon{width:40px;height:40px;margin-bottom:13px;border-radius:11px}.sync-facts{grid-template-columns:1fr}.sync-facts>div{min-height:39px;padding:7px 0;align-items:center;flex-direction:row;border-right:0}.section-heading{align-items:flex-start;flex-direction:column;padding:19px 16px 14px}.data-actions{width:100%;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}.data-actions::-webkit-scrollbar{display:none}.data-actions .button{flex:0 0 auto}.selection-bar{padding:8px 16px}.market-filter{overflow-x:auto;padding:10px 16px;scrollbar-width:none}.market-filter::-webkit-scrollbar{display:none}.market-filter button{flex:0 0 auto}.table-wrap{display:none}.mobile-records{border-top:1px solid var(--line-soft);display:block;padding:10px;background:#f8faf9}.record-card{margin-bottom:9px;border:1px solid var(--line);border-radius:11px;padding:14px;background:#fff}.record-card:last-child{margin-bottom:0}.record-card.selected-card{border-color:#9fd0c3;background:#f1f9f6}.record-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.record-date{display:flex;align-items:center;gap:9px}.record-date>div{display:flex;flex-direction:column}.record-date strong{color:var(--navy);font-size:15px}.record-date span{margin-top:2px;color:var(--faint);font-size:9px}.record-pnl{display:flex;align-items:flex-end;flex-direction:column;font-size:15px;font-variant-numeric:tabular-nums}.record-pnl small{margin-top:2px;color:var(--faint);font-size:8px;font-weight:500}.record-stats{margin-top:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 15px}.record-stats>div{min-width:0;display:flex;flex-direction:column}.record-stats span{color:var(--faint);font-size:8px}.record-stats strong{margin-top:2px;overflow:hidden;color:#3a4c53;font-size:11px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.record-card-actions{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:8px;display:flex;justify-content:flex-end;gap:12px}.record-card-actions button{border:0;padding:4px 6px;background:transparent;color:var(--teal);font-size:10px;font-weight:750}.records-empty{min-height:270px}.method-note{flex-direction:column;gap:5px;padding:13px 15px}.mobile-fab{position:fixed;z-index:40;right:16px;bottom:max(18px,env(safe-area-inset-bottom));min-height:48px;border:0;border-radius:999px;display:none;align-items:center;gap:6px;padding:0 19px 0 12px;background:var(--teal);color:#fff;box-shadow:0 12px 30px rgba(8,83,68,.32);font-weight:750}.mobile-fab span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:20px;font-weight:400}.modal-backdrop{padding:0;align-items:flex-end}.modal-panel{width:100%;max-height:94dvh;border:0;border-radius:18px 18px 0 0}.modal-header{min-height:66px;padding:13px 16px}.modal-header h2{font-size:20px}.modal-close{width:36px;height:36px}.modal-body{padding:16px}.modal-footer{min-height:72px;padding:10px 14px max(10px,env(safe-area-inset-bottom));box-shadow:0 -5px 20px rgba(13,38,48,.05)}.modal-footer>span{display:none}.modal-footer>div{width:100%}.modal-footer .button{flex:1}.form-section{margin-bottom:14px;padding:14px}.field-grid.three,.field-grid.two{grid-template-columns:1fr}.field-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.compact,.mode-switch{max-width:none}.source-panel{padding:12px}.number-pair{padding-left:9px}.signin-shell{padding:18px}.signin-card{padding:31px 23px}.user-management{display:block}.users-list{max-height:150px}.access-form-footer{position:sticky;bottom:0}.signin-features{gap:13px}.signin-features span:not(:last-child):after{right:-7px}.toast{bottom:84px}}@media (max-width:390px){.page-intro h1{font-size:28px}.primary-metric>strong{font-size:29px}.pnl-split{gap:14px}.field-grid.four{grid-template-columns:1fr}.signin-features{align-items:center;flex-direction:column;gap:5px}.signin-features span:after{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}