:root{--ink:#142c40;--muted:#526779;--line:#cfdae1;--paper:#fff;--navy:#13364b;--blue:#16567d;--green:#096042;--red:#a32f32}
*{box-sizing:border-box}body{margin:0;background:#f0f4f6;color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;font-variant-numeric:tabular-nums}
main{max-width:760px;margin:auto;padding:20px 18px calc(110px + env(safe-area-inset-bottom))}header{display:flex;align-items:center;gap:13px;color:white;background:var(--navy);padding:20px 24px;border-radius:20px}header small{font:700 10px/1.4 ui-monospace,monospace;letter-spacing:.2em;color:#c5dbdf}h1{font-size:27px;line-height:1.27;margin:0}h2{font-size:21px;margin:0 0 12px;letter-spacing:-.025em}.brandMark{width:43px;height:43px;border-radius:12px;background:#e2f1c0;display:flex;align-items:center;justify-content:center;gap:3px}.brandMark i{display:block;background:var(--navy);width:5px;border-radius:3px;height:10px}.brandMark i:nth-child(2){height:22px}.brandMark i:nth-child(3){height:16px}
nav{margin:14px 0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:white;border:1px solid var(--line);padding:4px;border-radius:15px}button,input,select{font:inherit}button,summary{cursor:pointer}button{min-height:44px;border:0;border-radius:10px;background:#eaf0f3;color:var(--ink);padding:8px 13px;font-weight:600}nav button{font-size:14px;padding:5px 1px;white-space:nowrap;background:transparent}nav .active,.primary{background:var(--navy);color:white}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2177a7;outline-offset:2px}[hidden]{display:none!important}
article{padding:20px;margin:16px 0;background:var(--paper);border-radius:17px;border:1px solid var(--line)}article.sheet{background:transparent;border:none;padding:0}.sectionHead,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sectionHead{justify-content:space-between;margin-bottom:12px}.sectionHead h2{margin:0}.actions button{background:white;border:1px solid var(--line);font-size:14px}.actions #deleteRows{color:var(--red)}button:disabled{opacity:.5}
p{margin:6px 0;color:var(--muted)}output{display:block;color:#754117}label{display:block;font-size:14px;font-weight:600;margin:12px 0}input,select{width:100%;min-width:0;display:block;background:white;border:1px solid #a5b6c1;color:var(--ink);font-size:16px;padding:10px;border-radius:9px;margin-top:4px;min-height:44px}input[type=checkbox]{accent-color:var(--navy)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.primary{width:100%;margin-top:12px}summary{padding:10px 0;min-height:44px;color:var(--muted)}details{margin-top:10px}.item{padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.ticket{display:block;margin:10px 0;padding:16px 17px;border-radius:15px;border:1px solid var(--line);background:white;box-shadow:0 2px 5px #15334908}.ticketHead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ticketHead strong{font-size:19px}.tag{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:20px;background:#e8eef1;color:#425563;white-space:nowrap}.tag.buy{background:#fce9e6;color:#943530}.tag.sell{background:#dcf1e7;color:#155b42}.tag.state{background:#e0edf8;color:#244d72}.ticketFacts{font-weight:600;margin-top:9px}.ticket p{font-size:14px}.ticket .item{padding:8px 0;border:none}.ticket button{font-size:14px}.profit{margin-top:10px;padding:10px 13px;background:#f1f6fa;border-radius:10px}.profit strong{font-size:19px}.profit .item+.item{border-top:1px solid var(--line)}.pick{display:flex;align-items:center;min-height:44px;margin:0;gap:7px}.pick input{min-height:0;width:18px;height:18px;margin:0}.empty{padding:16px;background:white;border:1px dashed #a6bac5;border-radius:12px;color:var(--muted)}#costPreview{background:#f1f6fa;padding:10px;border-radius:8px}#totals .item strong{font-size:19px}
@media(max-width:600px){main{padding-top:12px}header{padding:14px 16px}nav{position:fixed;z-index:3;bottom:0;left:0;width:100%;margin:0;gap:0;border-radius:16px 16px 0 0;padding:5px 4px calc(5px + env(safe-area-inset-bottom));box-shadow:0 -3px 16px #1533490e}nav button{font-size:14px}.ticket{padding:14px}.sectionHead h2{font-size:20px}}
.netGain{color:var(--red)}.netLoss{color:var(--green)}.netFlat{color:var(--ink)}
.flowFilters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:white;border:1px solid var(--line);border-radius:14px;padding:10px 14px}.flowFilters label{margin:0}.filterMeta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:14px;min-height:44px}.roundNet{display:block;font-size:22px;margin:8px 0 3px}.ticket .ticket{border:none;border-top:1px solid var(--line);border-radius:0;box-shadow:none;margin:0;padding:12px 0}.ticket summary{font-weight:600;color:var(--blue)}@media(max-width:480px){.flowFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.flowFilters label:first-child{grid-column:1/-1}}
.breakEven{margin:10px 0;background:#eef4f8;padding:10px 12px;border-radius:10px}.breakValues{display:flex;gap:4px 12px;align-items:baseline;flex-wrap:wrap}.breakValues span{font-weight:600}.breakEven time{display:block;margin-top:4px;color:var(--muted);font-size:13px}.breakEven strong{font-size:18px}

/* Keep quotes aligned while allowing long stock names and amounts to wrap. */
.ticket{border-color:#d5dfe5;box-shadow:0 2px 6px #12344808}
.ticketHead{gap:5px 7px}
.ticketHead strong{line-height:1.3;overflow-wrap:anywhere}
.ticketHead:has(.marketReadout){display:grid;grid-template-columns:minmax(70px,1fr) minmax(0,auto);align-items:start}
.ticketHead:has(.marketReadout)>strong{grid-column:1;grid-row:1}
.ticketHead:has(.marketReadout)>.tag{grid-column:1;justify-self:start}
.marketReadout{grid-column:2;grid-row:1 / span 4;text-align:right;font-size:14px;font-weight:650;min-width:0}
.marketReadout>div{display:flex;gap:3px 8px;flex-wrap:wrap;justify-content:flex-end}
.marketReadout>div>span{overflow-wrap:anywhere}
.marketReadout small{display:block;color:#536878;font-size:12px;font-weight:400;margin-top:2px}
.tag.buy,.tag.sell{background:#edf1f4;color:#394e5c}
.tag.state{background:#e3edf6;color:#254e70}
.ticket[data-state="已完成"] .ticketHead>.tag.state{background:#edf1f4;color:#415460}
.ticketFacts{margin-top:10px}
.ticket .breakEven{background:#f2f6f8;border:1px solid #dde6eb;border-radius:10px;margin:12px 0 0}
.breakValues{gap:4px 10px}.breakValues strong{font-size:16px}.breakValues span,.breakEven time{font-size:13px;color:#526777}
.breakEven p{margin:5px 0 0;font-weight:600}.breakEven p:empty{display:none}
.ticket>details{margin-top:10px;border-top:1px solid var(--line)}.ticket>details>summary{font-size:14px}
.ticket[data-state="部分配对"]>.roundNet{font-size:16px}.roundNet{line-height:1.35}
.empty{text-align:center;padding:22px}.empty button{display:block;margin:10px auto 0;color:white;background:var(--navy)}
.ticketHead .stockTitle small{display:block;margin-top:2px;font-size:12px;line-height:1.4;font-weight:500;color:var(--muted);letter-spacing:.04em}#entryStockName{display:block;font-size:15px;color:var(--ink);margin-top:4px}#entryStockName:empty{display:none}
#flowStates{border:0;display:flex;gap:6px;flex-wrap:wrap;padding:0;margin:10px 0}#flowStates legend{font-size:13px;color:var(--muted)}#flowStates label{margin:0;min-height:44px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:white;border:1px solid var(--line);border-radius:10px}#flowStates input{width:16px;height:16px;min-height:0;margin:0}#flowStates label:has(:checked){background:#e2eef7;border-color:#7799ad}.flowFilters{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.flowFilters label:first-child{grid-column:auto}.closeAction{display:block;margin:10px 0 0 auto;background:var(--navy);color:white}#stockChoices:empty{display:none}#stockChoices{display:grid;gap:3px}#stockChoices button{text-align:left;background:#eef4f8}
#priceSource{display:block;color:var(--muted);margin:5px 0}#priceSource:empty{display:none}#entryNet{padding:10px 12px;background:#eef4f8;border-radius:9px;font-size:17px;font-weight:700}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
header{border-radius:14px;padding:12px 18px;gap:10px}.brandMark{width:33px;height:33px;border-radius:9px}h1{font-size:22px}
#flowOptions{margin:0}#flowOptions>summary{color:var(--blue);font-size:14px;font-weight:600}
#flowStates legend{position:absolute;clip-path:inset(50%)}#flowStates{margin:0;gap:5px}#flowStates label{justify-content:center}
.filterMeta{min-height:32px;font-size:13px}.sectionHead{margin-bottom:3px}
.ticketHead:has(.marketReadout){grid-template-columns:minmax(80px,1fr) minmax(0,auto)}
.marketReadout .netGain,.marketReadout .netLoss,.marketReadout .netFlat{font-size:16px;font-weight:750}
.ticket .ticketHead>.tag{line-height:1.4}.ticket .roundNet{font-weight:700}
.ticket[data-state="部分配对"]>.roundNet{margin-top:5px}.ticketFacts{font-size:16px}
.closeAction{min-width:80px}.breakEven select{max-width:150px}
#entry .grid>label,#stats .grid>label{margin-block:4px}
#entryNet{font-size:20px}#matchHint{display:flex;align-items:center;gap:8px;min-height:44px}#matchHint input{min-height:0;margin:0}
#costPreview{font-size:14px}.rateGroup{min-width:0;margin:15px 0;padding:8px 0;border:0;border-top:1px solid var(--line)}
.rateGroup legend{padding-right:10px;font-weight:700;color:var(--navy)}
.rateGroup label,.otherRates label{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,35%);align-items:center;gap:12px;margin:6px 0}.rateGroup input,.otherRates input{margin:0;text-align:right}
.otherRates{border-block:1px solid var(--line)}.otherRates summary{font-weight:600}
#totals{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}#totals .item{padding:12px;background:#f2f6f8;border:0;border-radius:10px}
#totals .item:first-child,#totals .item:last-child{grid-column:1/-1}#totals .item:first-child strong{font-size:24px}
#totals .item:not(:first-child) strong{font-size:13px;color:var(--muted)}#totals .item:not(:first-child) p{margin:1px 0;font-size:20px;font-weight:700;color:var(--ink)}
#pairs .item strong{font-size:17px}#pairs .item p{font-size:14px}#pairs .item button{color:var(--blue);background:transparent}
@media(max-width:600px){main{padding-inline:12px}header{padding:9px 12px}article{margin:12px 0;padding:16px}.ticket{padding:14px}.actions{gap:4px}.actions button{padding-inline:9px}.sectionHead{gap:4px}}
@media(max-width:350px){#flowStates label{padding-inline:7px}.ticketHead:has(.marketReadout){grid-template-columns:minmax(74px,1fr) minmax(0,1.85fr)}}
.netAmount{display:inline-block;white-space:nowrap}.rateGroup input,.otherRates input{appearance:textfield;padding-inline:8px}.rateGroup input::-webkit-inner-spin-button,.otherRates input::-webkit-inner-spin-button{appearance:none}
#matchHint input{flex:0 0 18px;height:18px}#stats .grid{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr)}
@media(max-width:350px){#stats .grid{grid-template-columns:1fr}#matchHint{font-size:13px}}
.ticketHead:has(.marketReadout){grid-template-columns:minmax(80px,max-content) minmax(0,1fr)}
.marketReadout{justify-self:end}.marketReadout>div{align-items:baseline}.marketReadout>div>span{white-space:nowrap}
@media(max-width:350px){.marketReadout>div>span{white-space:normal}}










.ticketHead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.ticketTags{grid-column:1/-1;grid-row:2;display:flex;gap:5px;flex-wrap:wrap}.ticketHead>.marketReadout{grid-row:1;grid-column:2}.ticketFacts{font-size:14px;font-weight:500}.ticketFacts strong{display:inline-block;font-size:16px}.roundAmounts{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--ink);font-size:14px}.roundAmounts span{white-space:nowrap}
.ticketIdentity{grid-column:1;grid-row:1;min-width:0}.ticketHead,.ticketHead:has(.marketReadout){grid-template-columns:minmax(0,1fr) minmax(0,1.38fr)}.ticketHead:not(:has(.marketReadout)) .ticketIdentity{grid-column:1/-1}.ticketTags{margin-top:4px;gap:3px}.ticketTags .tag{padding-inline:6px}
.ticketHead:has(.marketReadout){grid-template-columns:minmax(130px,1fr) minmax(0,1.4fr)}.ticketTags{flex-wrap:nowrap}
nav{grid-template-columns:repeat(6,minmax(0,1fr))}#monitorState{font-size:14px;color:var(--blue)}#alertList,#alertHistory{margin-top:12px}#alertMessage:empty{display:none}@media(max-width:370px){nav button{font-size:12px}}
/* Review dashboard: one primary amount, quiet supporting metrics, touchable charts. */
#stats h2{font-size:19px}#stats #totals{display:block;margin-top:8px}.statHero>span,.statHero>small{display:block;color:var(--muted);font-size:13px}.statHero>strong{display:block;font-size:clamp(28px,8vw,40px);line-height:1.3;overflow-wrap:anywhere;letter-spacing:-.035em;margin:5px 0}.statMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 8px;padding-top:15px;border-top:1px solid var(--line)}.statMetric{min-width:0}.statMetric>span{display:block;font-size:12px;color:var(--muted)}.statMetric>strong{display:block;font-size:17px;overflow-wrap:anywhere;margin-top:3px}.statCaption{font-size:12px;line-height:1.65}#statsError:empty{display:none}#profitCurve svg{display:block;width:100%;height:auto;min-height:150px}#profitCurve circle[role=button]{cursor:pointer}#profitCurve circle:focus{outline:none;stroke:#16567d;stroke-width:2}.calendarNav{display:flex;align-items:center;gap:6px;font-size:12px}.calendarNav button{width:44px;padding:0;font-size:23px;background:transparent}#profitCalendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:12px}.weekday{text-align:center;color:var(--muted);font-size:12px;padding-bottom:5px}.calendarDay{border-radius:8px;padding:4px 0;min-height:50px;font-size:13px;background:#f5f7f8;font-weight:500}.calendarDay:disabled{opacity:1;color:#83919a;background:#f7f9fa}.calendarDay small{display:block;font-size:10px;font-weight:700;letter-spacing:-.03em}.stockBar{display:block;width:100%;background:transparent;padding:12px 0;text-align:left;border-radius:0;border-bottom:1px solid #e6edf1;font-size:14px}.stockBar .sectionHead{margin-bottom:9px}.divergingTrack{display:block;position:relative;background:#f3f6f8;height:10px;border-radius:3px}.divergingTrack:after{content:'';position:absolute;left:50%;height:16px;top:-3px;width:1px;background:#a7b9c4}.divergingTrack i{position:absolute;height:10px;border-radius:3px}.gainBar{background:#b94c50}.lossBar{background:#388467}.feeRow{margin:16px 0;font-size:14px}.feeTrack{height:7px;background:#edf2f5;border-radius:8px;margin-top:8px}.feeTrack i{display:block;height:7px;border-radius:8px;background:#47738c}.feeRow:nth-child(2) i{background:#7294a8}.feeRow:nth-child(3) i{background:#b19567}.performanceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;margin:18px 0}.performanceGrid strong{font-size:23px}.statDetail{border-top:1px solid var(--line);padding:12px 0}.statDetail p{font-size:13px}#stats details p{font-size:13px}#statsDetails{scroll-margin-top:12px}#stats #statsCustom{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:350px){.statMetrics{gap:5px}.statMetrics strong{font-size:14px}#stats .grid{grid-template-columns:repeat(2,minmax(0,1fr))}#stats input{padding-inline:5px}.calendarNav{gap:0}#profitCalendar{gap:3px}}

#stats label:has(#month){grid-column:1/-1}#stats #month{max-width:240px}

.curveControls{display:flex;align-items:end;gap:8px;margin-top:8px}.curveControls label{flex:1;min-width:0;margin:0}.curveControls button{flex-shrink:0}.statRound{padding:16px 0;border-top:1px solid var(--line)}.statRound>p{font-size:13px}#statsDetails:focus{outline:none}.statRound details{margin-top:4px}@media(max-width:350px){.curveControls{flex-wrap:wrap}.curveControls label{flex-basis:100%}.curveControls button{margin-left:auto}}

.loginGate{max-width:420px;margin:12vh auto;padding:22px}.loginGate form{background:white;padding:28px;border:1px solid var(--line);border-radius:18px}.loginGate h1{color:var(--navy)}.loginGate p[role=status]{color:var(--red)}
.profileCard{display:flex;align-items:center;gap:16px;padding:24px}.profileCard p{margin:4px 0;color:#64748b}.avatar{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:18px;background:#e8eefb;color:#2854a5;font-size:24px;font-weight:700}.myMenu{padding:6px 16px}.myMenu>button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #edf0f4;border-radius:0;background:transparent;min-height:54px;font-size:16px;padding:14px 4px;margin:0}.myMenu>.logoutButton{color:#b23c40;border-bottom:0}.backLink{margin-bottom:12px;background:transparent;border:0}.myPage [type=checkbox]{width:auto;display:inline;margin-right:8px}.myPage .item{overflow-wrap:anywhere}.myPage .item>button{margin:5px 8px 0 0}.headerAccount{margin-left:auto;width:auto;max-width:42%;min-width:0;font-size:13px;padding:8px;text-overflow:ellipsis}.myPage h3{font-size:19px;font-variant-numeric:tabular-nums}.myPage article{min-width:0}.myPage .item p{line-height:1.65}.myPage details{margin-top:16px}.myPage input,.myPage select{max-width:100%}.myPage>div>article+article{margin-top:16px}

/* Keep vertical scrolling native while reserving horizontal page gestures. */
@media(max-width:760px){body.signedIn{min-height:100dvh;touch-action:pan-y pinch-zoom}body.signedIn input,body.signedIn textarea,body.signedIn [contenteditable],body.signedIn [data-no-swipe]{touch-action:auto}}

/* Shared compact form scale: keep touch targets, reduce visual weight. */
:root{--control-height:44px;--control-radius:8px}
input:not([type=checkbox]):not([type=radio]),select{height:var(--control-height);min-height:var(--control-height);padding:8px 10px;border-radius:var(--control-radius);line-height:1.4;font-weight:400;border-color:#b9c7d1}
input::placeholder{color:#687c8b;opacity:1;font-weight:400}
label{font-size:13px;font-weight:500;margin:10px 0}
h2{font-size:19px;line-height:1.4;margin-bottom:10px}
button{line-height:1.4}summary{line-height:1.5}
#flowOptions>summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 0;list-style:none}
#flowOptions>summary::-webkit-details-marker{display:none}
#flowOptions>summary::before{content:'';width:6px;height:6px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-right:3px}
#flowOptions[open]>summary::before{transform:rotate(45deg)}
#flowFilterStatus{margin-left:auto;font-size:12px;font-weight:400;color:var(--muted)}
.filterPanel{padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:12px}
#flowOptions .flowFilters{padding:0;border:0;border-radius:0;gap:10px;grid-template-columns:minmax(0,1.6fr) minmax(112px,1fr)}
#flowOptions #flowStates{margin-top:12px;gap:6px}
#flowOptions #flowStates legend{position:static;clip-path:none;font-size:13px;margin-bottom:5px}
#flowOptions #flowStates label{min-height:44px;padding:6px 9px;border-radius:8px;font-size:13px;background:#f6f8fa}
#flowOptions #flowStates label:has(:checked){background:#eaf2f8;border-color:#86a5b8;color:#164e70}
#flowOptions #flowStates input{flex-shrink:0}
#stats #month{max-width:190px}
#stats .grid{gap:10px}
#entry article>h2{margin-bottom:12px}
#entry .grid,#alertRule .grid{gap:10px}
#costPreview:empty{display:none}
.myMenu>button{min-height:48px;padding:11px 4px;font-size:15px;font-weight:500}
.profileCard{padding:18px;gap:12px}.profileCard h2{margin-bottom:4px}
.avatar{width:44px;height:44px;border-radius:13px;font-size:21px}
.myPage h3{font-size:18px}.myPage details{margin-top:12px}
.myPage label:has(>input[type=checkbox]){display:flex;align-items:center;min-height:44px;gap:8px}
.myPage label>input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;margin:0;flex:none}
.headerAccount{font-size:16px;max-width:44%;margin-top:0}
.loginGate form{padding:24px}.loginGate label{margin:12px 0}
@media(max-width:600px){
 h1{font-size:20px}.sectionHead h2{font-size:19px}
 article{padding:14px;margin:10px 0;border-radius:14px}
 .profileCard{padding:18px}.myMenu{padding:4px 14px}
 .sectionHead .actions button{font-size:13px;padding-inline:9px}
 .ticketHead .stockTitle{font-size:19px}.ticketFacts{line-height:1.6}
}
@media(max-width:350px){
 #flowOptions .flowFilters{grid-template-columns:minmax(0,1fr) 112px;gap:8px}
 #flowOptions #flowStates{gap:4px}
 #flowOptions #flowStates label{padding-inline:7px;font-size:12px;gap:4px}
 .headerAccount{max-width:43%;padding-inline:6px;font-size:16px}
}

.myMenu>button[data-menu]{display:flex;justify-content:space-between;align-items:center;gap:12px}
.myMenu>button[data-menu]::after{content:'›';font-size:20px;font-weight:400;color:var(--muted)}
.backLink{margin-bottom:4px}
.myPage article>p,#pair article>p{font-size:14px}

/* Animate compositor-friendly properties; keep the fixed navigation stationary. */
body.signedIn{overflow-x:clip}
nav button{transition:background-color 160ms ease,color 160ms ease}
button:active:not(:disabled){filter:brightness(.94)}
@media(prefers-reduced-motion:reduce){nav button{transition:none}}

#closeChoices label{display:flex;align-items:center;gap:8px;padding:8px 0}#closeChoices input{width:20px;height:20px;flex:none}.reconcileRow{padding:12px 0;border-bottom:1px solid #e2e8f0}.reconcileRow p{margin:4px 0;overflow-wrap:anywhere}

/* Account-wide overview: a compact two-column layout, independent from card filters. */
.ledgerOverview{padding:15px 16px;margin:0 0 12px;border:1px solid #d3dfe6;border-radius:16px;background:linear-gradient(135deg,#fff,#f4f8fb);box-shadow:0 2px 6px #12344805}
.overviewHead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;margin-bottom:10px}.overviewHead details{margin:0;min-width:0}.overviewHead summary{font-size:11px;min-height:24px;padding:0;color:var(--muted)}.overviewHead details[open]{flex:1}.overviewHead details[open]+span{display:none}.overviewHead p{font-size:12px;margin:6px 0 10px}.overviewHead>span{white-space:nowrap}
.overviewGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px}.overviewGrid>div{min-width:0}.overviewGrid>div>span{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.overviewGrid strong{display:block;font-size:19px;line-height:1.3;font-weight:650;letter-spacing:-.4px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.overviewGrid .overviewTotal strong{font-size:27px;font-weight:750}.overviewGrid .overviewHolding strong{font-size:20px;padding-top:6px}.overviewGrid>div:nth-child(n+3){border-top:1px solid #dbe5eb;padding-top:10px}.overviewGrid strong.largeNumber{font-size:16px}.overviewStatus{font-size:11px;margin:10px 0 0;color:var(--muted)}
@media(max-width:360px){.ledgerOverview{padding:13px}.overviewGrid{gap:10px}.overviewGrid .overviewTotal strong{font-size:23px}.overviewGrid .overviewHolding strong{font-size:18px}.overviewGrid strong{font-size:17px}.overviewHead{font-size:10px}.overviewHead summary{font-size:10px}.overviewGrid strong.largeNumber{font-size:14px}}

/* Audit: readable secondary text and tappable summary without enlarging controls. */
.overviewHead{font-size:12px;align-items:center;flex-wrap:wrap}
.overviewHead summary{font-size:12px;min-height:44px;display:flex;align-items:center;font-weight:600}
.overviewHead>span{font-size:12px}.overviewStatus{font-size:12px}
.rateEquivalent{display:block;font-size:12px;color:var(--muted);margin-top:4px}
#reconciledNotice{font-size:13px;background:#edf4f8;padding:10px;border-radius:8px}
input:disabled,select:disabled{opacity:1;background:#f0f3f6;color:#52616d}
#manualPair>summary,#pairs details>summary{min-height:44px;align-content:center}
#pairs .item>strong{font-size:16px;line-height:1.6}
.overviewHead summary::before{content:'▸';margin-right:5px}.overviewHead details[open] summary::before{content:'▾'}
.rateGroup label,.otherRates label{row-gap:2px;grid-template-columns:minmax(0,1fr) minmax(125px,42%)}
.rateEquivalent{grid-column:2;text-align:right;margin:0 0 5px}
/* Native month controls have different inner padding/baselines in Safari and Chromium. */
#stats #month{
 appearance:none;-webkit-appearance:none;box-sizing:border-box;
 width:190px;max-width:100%;height:44px;min-height:44px;max-height:44px;
 padding:0 10px;line-height:42px;text-align:left;position:relative;
}
#stats #month::-webkit-date-and-time-value{min-height:42px;line-height:42px;text-align:left;margin:0}
#stats #month::-webkit-datetime-edit{display:inline-flex;align-items:center;justify-content:flex-start;width:100%;height:42px;padding:0;line-height:normal}
#stats #month::-webkit-datetime-edit-fields-wrapper{padding:0}
#stats #month::-webkit-calendar-picker-indicator{position:absolute;right:10px;top:50%;transform:translateY(-50%);margin:0;padding:0}
@media(max-width:360px){
 .ticketHead:has(.marketReadout){grid-template-columns:minmax(0,1fr)}
 .ticketHead>.marketReadout{grid-column:1;grid-row:2;justify-self:stretch;text-align:left;margin-top:5px}
 .marketReadout>div{justify-content:space-between}.marketReadout>div>span{white-space:nowrap}
 .marketReadout .netAmount{white-space:normal;overflow-wrap:anywhere}
}

/* Single-account presentation: a quiet name badge, not an interactive selector. */
header .headerAccount{display:block;margin:0 0 0 auto;width:auto;min-width:0;max-width:42%;min-height:0;padding:5px 9px;border:1px solid #ffffff24;border-radius:7px;background:#ffffff0d;color:#dce8ef;font-size:13px;font-weight:500;line-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1}
