/* RUNMU FIN V14: geometry + one blue/jade theme. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{outline-offset:4px}
a{text-decoration:none}
button,.button{min-height:44px;border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-size:13px;font-weight:550;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px}
button:disabled{cursor:not-allowed}
svg{display:block}
.shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:30px 16px;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;letter-spacing:.7px;font-weight:700;font-size:20px;padding:0 12px}
.brand-mark{display:grid;place-items:center;width:30px;height:32px;border-radius:9px;font-size:17px;letter-spacing:-4px;padding-right:4px}
.brand em{font-style:normal;font-weight:500}
.brand-sub{font-size:10px;letter-spacing:1.7px;padding:9px 12px 26px}
.nav-label{font-size:10px;letter-spacing:1.5px;padding:16px 12px 7px}
nav{overflow:auto;scrollbar-width:thin}
nav a{display:flex;align-items:center;gap:11px;min-height:43px;padding:10px 12px;font-size:13px;border-radius:8px;margin:4px 0}
nav a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
nav a.active{font-weight:600}
.sidebar-bottom{margin-top:auto;padding:23px 12px 0;font-size:11px}
.sidebar-bottom b{display:block;font-weight:500}
.sidebar-bottom p{font-size:10px}
.workspace{min-width:0}
.topbar{height:69px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px}
.breadcrumb{display:flex;align-items:center;gap:13px}
.breadcrumb b{font-weight:500}
.top-actions{display:flex;align-items:center;gap:13px}
.top-actions a{padding:6px 11px;border:1px solid var(--line);border-radius:7px;font-size:12px}
.top-actions button{padding:4px 10px;min-height:33px;font-size:11px}
.top-actions small{font-size:10px}
#menuToggle{display:none}
main{max-width:1430px;margin:auto;padding:34px 38px 55px}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}
.eyebrow,.micro{font-size:10px;letter-spacing:1.8px;font-weight:550;text-transform:uppercase}
.page-head h1{font-size:30px;line-height:1.3;letter-spacing:-.9px;font-weight:600;margin:10px 0}
.page-head p{font-size:13px;margin:0;max-width:690px}
.badge{font-size:10px;padding:5px 10px;border:1px solid var(--line);border-radius:20px;white-space:nowrap}
.panel{border:1px solid var(--line);border-radius:14px;padding:25px;margin-bottom:20px}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.panel h2{font-size:18px;line-height:1.4;margin:0;font-weight:600;letter-spacing:-.3px}
.panel h3{font-size:15px;margin:0 0 12px;font-weight:600}
.panel-heading p,.section-caption{font-size:12px;margin:6px 0 0}
.grid-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:22px;align-items:start}
.sticky-results{position:sticky;top:22px}
.platform-tabs{display:flex;border:1px solid var(--line);border-radius:10px;padding:4px;gap:3px;margin:20px 0}
.platform-tabs button{border:0;flex:1;border-radius:7px;padding:9px 6px;white-space:nowrap;font-size:12px;min-height:38px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 17px}
.field{min-width:0}
.field.wide{grid-column:1/-1}
.field label{display:block;font-size:12px;margin-bottom:7px;font-weight:500}
.field label .unit{float:right;font-size:10px;font-weight:400}
.field input,.field select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px;min-width:0}
.field small{display:block;font-size:11px;margin-top:5px}
.section-title{font-size:12px;letter-spacing:.3px;font-weight:600;margin:24px 0 16px}
.rule-note{padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-size:11px;line-height:1.8;margin:15px 0}
.rule-note a{white-space:nowrap}
.inline-link{font-size:12px}
.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:20px}
.actions.compact{margin:0}
.toolbar{padding:12px 16px;border:1px solid var(--line);border-radius:11px;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px}
.toolbar small{font-size:11px}
.toolbar .actions{margin:0}
details{border-top:1px solid var(--line);margin-top:22px;padding-top:17px}
summary{font-size:13px;font-weight:550;cursor:pointer;list-style-position:inside}
details .field-grid{margin-top:20px}
details .rule-note{margin-bottom:0}
.error{font-size:12px;margin-top:12px}
.profit-panel{padding:28px}
.profit-label{font-size:11px;display:flex;justify-content:space-between;gap:10px}
.profit-number{font-size:46px;letter-spacing:-2px;font-weight:550;line-height:1.4;margin-top:16px;font-variant-numeric:tabular-nums}
.profit-secondary{font-size:13px}
.metric-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;gap:15px}
.metric-row small{font-size:11px}
.metric-row b{display:block;font-size:24px;line-height:1.5;font-weight:500}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-size:12px;margin:14px 0}
.row b{font-size:13px;font-weight:550;text-align:right;font-variant-numeric:tabular-nums}
.row.total{border-top:1px solid var(--line);padding-top:14px}
.cost-track{height:7px;display:flex;overflow:hidden;border-radius:4px;gap:2px;margin-top:22px}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:10px;margin-top:11px}
.legend i{width:6px;height:6px;display:inline-block;border-radius:2px;margin-right:5px}
.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.decision{border:1px solid var(--line);padding:15px 12px;border-radius:9px}
.decision small{font-size:10px;display:block}
.decision b{font-size:19px;font-weight:550;display:block;margin-top:4px}
.decision span{font-size:10px}
.insight{border:1px solid var(--line);padding:16px;border-radius:10px;margin-bottom:12px}
.insight b{font-size:12px;font-weight:600}
.insight p{font-size:11px;line-height:1.8;margin:6px 0 0}
.insight a{font-size:11px}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin-top:20px}
table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}
th,td{padding:14px 13px;white-space:nowrap;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
th{font-size:10px;font-weight:550}
td strong{font-weight:550}
td button{min-height:36px;font-size:11px;padding:6px 9px}
td input[type=number]{width:90px;min-height:41px;border:1px solid var(--line);border-radius:6px;padding:8px}
td input[type=checkbox]{width:18px;height:18px}
.table-scroll caption{text-align:left;padding:13px;font-size:11px}
.pill{display:inline-block;font-size:10px;padding:3px 8px;border-radius:5px}
.empty{padding:45px 20px;text-align:center;font-size:13px}
.empty h2{margin-bottom:10px}
.empty .button{margin-top:15px}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.kpi{border:1px solid var(--line);border-radius:13px;padding:23px}
.kpi small{font-size:11px}
.kpi strong{display:block;font-size:30px;font-weight:550;letter-spacing:-1px;margin:9px 0}
.kpi span{font-size:10px}
.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.scenario-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:20px}
.scenario-card{border:1px solid var(--line);border-radius:10px;padding:18px 10px;text-align:center}
.scenario-card small{font-size:10px}
.scenario-card b{display:block;font-size:20px;margin-top:7px}
.scenario-card p{font-size:12px;margin:8px 0}
textarea{width:100%;min-height:158px;padding:15px;border:1px solid var(--line);border-radius:9px;font:12px/1.8 ui-monospace,Consolas,monospace;resize:vertical;margin-top:9px}
.file-label{display:block;font-size:12px;margin-top:20px}
.code{font:11px ui-monospace,Consolas,monospace;padding:3px 6px;border-radius:4px}
.article{max-width:850px}
.article h2{margin:30px 0 12px;font-size:22px;font-weight:550}
.article h3{margin-top:24px}
.article p,.article li{font-size:14px;line-height:1.95}
.article li{margin-bottom:9px}
.article ul,.article ol{padding-left:23px}
.formula{padding:17px;border:1px solid var(--line);border-radius:9px;font-size:13px;line-height:1.9}
.source-item{padding:22px 0;border-top:1px solid var(--line)}
.source-item:first-child{border-top:0}
.source-item h3{margin:0;font-size:15px}
.source-item p{margin:8px 0;font-size:12px}
.source-meta{font-size:10px}
.source-item a{font-size:12px}
.download-card{display:block;padding:22px;border:1px solid var(--line);border-radius:10px}
.download-card b{display:block;font-size:14px}
.download-card span{display:block;font-size:11px;margin-top:6px}
.rank-bar{display:flex;align-items:center;gap:15px;margin-top:16px;font-size:12px}
.rank-bar>span{width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-track{flex:1;height:7px;border-radius:5px;overflow:hidden}
.rank-track>span{display:block;height:100%;border-radius:5px}
.rank-bar b{font-size:12px;width:95px;text-align:right;font-weight:500}
.reconcile-maps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}
.reconcile-maps label{font-size:11px}
.reconcile-maps select{min-height:40px;font-size:12px}
.home-main{padding-top:0}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding:63px 0 50px}
.hero-kicker{font-size:10px;letter-spacing:1.3px}
.hero h1{font-size:53px;letter-spacing:-2.2px;line-height:1.2;font-weight:550;margin:23px 0}
.hero p{font-size:14px;line-height:1.95;max-width:430px}
.hero-actions{display:flex;gap:24px;align-items:center;margin-top:26px;flex-wrap:wrap}
.hero-actions .primary{min-height:47px;padding:12px 20px}
.hero-actions>a:last-child{font-size:12px}
.hero-benefits{display:flex;gap:18px;font-size:10px;margin-top:22px}
.hero-live{border:1px solid var(--line);border-radius:17px;padding:28px}
.hero-live .panel-heading{margin-bottom:20px}
.hero-live h2{font-size:16px;line-height:1.5;font-weight:550;margin:9px 0}
.hero-live .profit-number{font-size:41px;margin:10px 0 0}
.hero-live .profit-label{font-size:10px;margin-top:25px}
.hero-live .profit-secondary{font-size:11px}
.hero-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:23px;padding-top:20px;border-top:1px solid var(--line)}
.hero-inputs .field label{font-size:10px}
.hero-inputs .field input{font-size:13px;min-height:42px;padding:8px 10px}
.hero-live .rule-note{font-size:10px;border:0;padding:0;margin-top:17px}
.hero-link{display:flex;justify-content:space-between;font-size:11px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}
.platform-line{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;font-size:10px}
.platform-names{display:flex;gap:35px;align-items:center;font-size:17px;font-weight:600}
.platform-names span:last-child{font-size:12px;font-weight:450}
.home-section{padding:44px 0 0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:23px}
.section-heading h2{font-size:26px;font-weight:550;letter-spacing:-.7px;line-height:1.4;margin:9px 0 0}
.section-heading p{font-size:12px;margin:0}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.module-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:12px;transition:transform .18s,border-color .18s}
.module-card:hover{transform:translateY(-3px)}
.module-top{display:flex;justify-content:space-between;font-size:11px;margin-bottom:24px}
.module-card h3{font-size:17px;line-height:1.4;margin:0;font-weight:550}
.module-card p{font-size:12px;line-height:1.9;margin:11px 0 22px}
.module-card small{font-size:10px;margin-top:auto}
.trust-strip{border:1px solid var(--line);border-radius:13px;padding:28px 32px;margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.trust-strip h2{font-size:24px;font-weight:500;line-height:1.5;margin:10px 0 0}
.trust-strip p{font-size:12px;line-height:1.9;margin:0 0 14px}
.trust-strip a{font-size:12px}
footer{border-top:1px solid var(--line);padding:24px 38px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:10px}
footer a{margin-right:14px}
.mobile-summary{display:none}
.ad-slot{display:none}
.skip{position:absolute;left:-9999px}
.skip:focus{left:15px;top:10px;padding:10px;z-index:30}
#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);font-size:13px;max-width:90vw;padding:12px 19px;border-radius:10px;z-index:30}
#toast:empty{display:none}
#profitPanel{scroll-margin-top:25px}
.status-line{font-size:12px;margin-top:15px}
.small{font-size:11px}
.check-row{display:flex;gap:10px;align-items:start;font-size:12px;margin:16px 0}
.check-row input{margin-top:5px}
.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1550px){main{padding-left:55px;padding-right:55px}
.hero h1{font-size:61px}
.hero{padding:80px 0 65px}
.hero-live{padding:32px}
.hero p{font-size:16px}}
@media(max-width:1150px){.shell{grid-template-columns:195px minmax(0,1fr)}
.brand{font-size:17px;padding:0 7px;gap:8px}
.brand-sub{font-size:8px;letter-spacing:1px;padding-left:8px}
nav a{padding:10px 8px;font-size:12px;gap:9px}
main{padding:30px 27px 45px}
.topbar{padding:0 27px}
.grid-workspace{grid-template-columns:1fr}
.sticky-results{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.sticky-results .wide{grid-column:1/-1}
.hero{gap:26px}
.hero h1{font-size:43px}
.hero-live{padding:23px}
.hero-live .profit-number{font-size:35px}
.platform-names{gap:20px;font-size:15px}
.scenario-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.mobile-summary{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:3;border:1px solid var(--line);border-radius:10px;padding:11px 17px;margin-bottom:20px}
.mobile-summary small{display:block;font-size:10px}
.mobile-summary strong{font-size:22px;font-weight:550}
.mobile-summary a{font-size:11px}
#profitPanel{scroll-margin-top:90px}}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding:40px 0;gap:28px}
.hero h1{font-size:47px}
.hero p{max-width:100%}
.hero-live .profit-number{font-size:41px}
.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.platform-line{align-items:start;flex-direction:column}
.trust-strip{padding:27px;gap:25px;grid-template-columns:1fr}
.section-heading{align-items:start;flex-direction:column;gap:9px}
.top-actions small{display:none}
.kpis{gap:10px}
.kpi{padding:17px}
.kpi strong{font-size:25px}
.two-columns{grid-template-columns:1fr}
.reconcile-maps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.shell{display:block}
.sidebar{height:auto;position:static;padding:17px 18px 14px;border-right:0;border-bottom:1px solid var(--line)}
.brand{font-size:21px;padding:0;gap:9px}
.brand-sub,.sidebar-bottom{display:none}
.sidebar nav{display:none}
.nav-open .sidebar nav{display:block;max-height:62vh;margin-top:15px}
.nav-open .nav-label{padding-left:12px}
nav a{font-size:13px;padding:10px 12px}
.topbar{height:51px;padding:0 18px;font-size:11px}
.top-actions{gap:8px}
.top-actions a{padding:5px 8px;font-size:11px}
.top-actions button{font-size:10px;min-height:31px}
.breadcrumb{gap:8px}
#menuToggle{display:inline-flex;padding:3px 10px;min-height:31px;font-size:11px}
.top-actions small{display:none}
main{padding:25px 17px 40px}
.page-head{align-items:start;flex-direction:column;gap:13px;margin-bottom:22px}
.page-head h1{font-size:28px;margin:8px 0}
.page-head p{font-size:12px}
.eyebrow{font-size:9px}
.badge{font-size:10px}
.panel{padding:20px;border-radius:12px}
.panel h2{font-size:17px}
.panel-heading p{font-size:11px}
.field-grid{gap:17px 13px}
.field label{font-size:11px;min-height:20px;line-height:1.6}
.field label .unit{float:none;margin-left:5px}
.field input,.field select{font-size:14px;padding:10px;min-height:46px}
.field small{font-size:10px}
.platform-tabs button{font-size:10px;min-height:38px;padding:8px 4px}
.platform-tabs{gap:2px}
.section-title{font-size:11px}
.rule-note{font-size:11px;padding:12px;line-height:1.8}
.toolbar{flex-direction:column;align-items:stretch;padding:12px}
.toolbar .actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.toolbar button{font-size:11px;padding:9px 7px}
.toolbar small{font-size:10px}
.actions button,.actions .button{font-size:12px;flex:1;padding:9px 11px}
.sticky-results{display:block}
.profit-panel{padding:24px}
.profit-number{font-size:43px}
.metric-row b{font-size:23px}
.decision-grid{gap:9px}
.decision{padding:14px 11px}
.decision b{font-size:19px}
.decision small{font-size:10px}
.insight p{font-size:12px}
.legend{font-size:10px}
.row{font-size:11px;gap:13px}
.row b{font-size:12px}
.kpis{grid-template-columns:1fr;gap:11px}
.kpi{padding:19px}
.kpi strong{font-size:29px;display:inline-block;margin:6px 10px 0 0}
.kpi small{display:block}
.kpi span{display:inline-block}
.scenario-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero{padding:30px 0;gap:27px}
.hero h1{font-size:44px;letter-spacing:-1.6px;line-height:1.25;margin:19px 0}
.hero p{font-size:14px;line-height:1.9}
.hero-kicker{font-size:10px}
.hero-actions{gap:20px;margin-top:22px}
.hero-actions .primary{font-size:12px;padding:12px 16px}
.hero-benefits{font-size:10px;gap:16px}
.hero-live{padding:22px;border-radius:14px}
.hero-live h2{font-size:15px}
.hero-live .profit-number{font-size:38px}
.hero-inputs .field label{font-size:10px}
.hero-inputs .field input{padding:9px 8px}
.hero-live .rule-note{font-size:11px}
.platform-line{padding:20px 0;gap:16px}
.platform-names{gap:23px;flex-wrap:wrap;font-size:16px}
.module-grid{grid-template-columns:1fr;gap:12px}
.module-card{padding:23px}
.module-card p{font-size:13px}
.module-top{margin-bottom:20px}
.module-card small{font-size:11px}
.home-section{padding-top:31px}
.section-heading h2{font-size:24px}
.section-heading p{font-size:12px}
.trust-strip{padding:23px;gap:18px}
.trust-strip h2{font-size:23px}
.trust-strip p{font-size:13px}
.article p,.article li{font-size:13px}
.article h2{font-size:21px}
.reconcile-maps{gap:13px}
.reconcile-maps select{font-size:11px}
.rank-bar{gap:10px}
.rank-bar>span{width:83px;font-size:11px}
.rank-bar b{font-size:11px;width:80px}
footer{padding:22px 18px;font-size:10px}
.mobile-summary{padding:10px 15px}
.source-item p{font-size:12px}
.source-item a{overflow-wrap:anywhere}
table{font-size:11px}
th,td{padding:13px 11px}}
@media(max-width:360px){.hero h1{font-size:36px}
.brand{font-size:19px}
.hero-live{padding:18px}
.hero-live .profit-number{font-size:34px}
.hero-benefits{gap:10px}
.hero-actions{gap:14px}
.top-actions{gap:5px}
.top-actions button{padding:4px 7px}
.topbar{padding:0 14px}
.hero-inputs{gap:7px}
.profit-number{font-size:38px}
.decision b{font-size:17px}
.toolbar .actions{grid-template-columns:1fr 1fr}}
@media print{.sidebar,.topbar,.toolbar,.actions,.mobile-summary,footer,#toast,.ad-slot{display:none!important}
.shell{display:block}
main{padding:0;max-width:none}
.panel{break-inside:avoid}
.sticky-results{position:static}
.grid-workspace{display:block}
.hero{padding:20px 0}
.page-head{margin-bottom:20px}
.module-card{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.module-card{transition:none}}
.hero-kicker{font-weight:650}
.hero-actions>a:last-child{font-weight:600}
.hero-live{border-top:4px solid var(--line)}
.hero-link{font-weight:600}
.module-top>span:first-child{padding:4px 8px;border-radius:6px}
.module-card small{font-weight:550}
.profit-panel{border-top:4px solid var(--line)}
.mobile-summary a{font-weight:600}
@media(max-width:700px){.breadcrumb{min-width:0;flex:1}
.breadcrumb>span{display:none}
.breadcrumb>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.breadcrumb #menuToggle,.top-actions{flex-shrink:0}
.platform-tabs button{min-width:0;white-space:normal}}
body{border-top:2px solid var(--line)}
.sidebar{border-right:1px solid var(--line)}
.hero-live,.profit-panel{border:1px solid var(--line);border-top:2px solid var(--line)}
.trust-strip{border:1px solid var(--line)}
.platform-tabs{flex-wrap:wrap}
.platform-tabs button{min-width:0;white-space:normal}
.fx-reference{display:flex;align-items:baseline;gap:15px;flex-wrap:wrap}
.fx-reference strong{font-size:21px;letter-spacing:-.3px}
.allocation-controls{border:1px solid var(--line);border-top:2px solid var(--line);border-radius:10px;margin-top:25px;padding:20px}
.settings-platform{border:1px solid var(--line);border-radius:10px;padding:18px;margin:20px 0}
.settings-platform legend{font-size:14px;font-weight:600;padding:0 8px}
.connect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.connect-card{border:1px solid var(--line);border-top:2px solid var(--line);border-radius:10px;padding:24px;min-width:0}
.connect-card h2{margin:15px 0}
.connect-card p{font-size:13px;line-height:1.9}
.connect-card button{margin-top:12px}
.connect-card a{overflow-wrap:anywhere}
.promotion-band{border-top:1px solid var(--line);padding:28px 0 0;margin:38px 0 4px;display:flex;justify-content:space-between;gap:25px;align-items:center}
.promotion-band h2{font-size:19px;font-weight:600;margin:7px 0}
.promotion-band p{font-size:12px;margin:5px 0}
.promotion-band .actions{margin:0;flex-shrink:0}
.print-only{display:none}
[hidden]{display:none!important}
@media(max-width:1100px){.promotion-band{flex-direction:column;align-items:start}
.connect-grid{grid-template-columns:1fr}}
@media(max-width:700px){body{border-top-width:2px}
.sidebar{border-bottom:1px solid var(--line)}
.brand{font-size:20px}
.promotion-band .actions{width:100%;flex-wrap:wrap}
.promotion-band .button{flex:1}
.allocation-controls{padding:16px}
.connect-card{padding:20px}
.fx-reference strong{font-size:19px}
.fx-reference .small{font-size:11px}}
@media print{@page{size:A4 landscape;margin:12mm}
html,body{border:0!important}
.sidebar,.topbar,.toolbar,.actions,.no-print,.promotion-band,.ad-slot,#toast,footer,.mobile-summary,.input-panel,.allocation-controls,button,textarea,input[type=file],#statementMap,#paymentMap,.reconcile-maps{display:none!important}
.shell,.workspace,main,.grid-workspace,.sticky-results,.two-columns,.connect-grid{display:block!important;position:static!important;max-width:none!important;width:auto!important}
main{padding:0!important}
.panel,.kpi{break-inside:auto}
.print-only{display:block!important;margin:14px 0}
.print-meta{font-size:10px;border-top:1px solid var(--line);padding-top:8px}
.table-scroll{overflow:visible!important;width:100%}
table{width:100%!important;table-layout:auto;font-size:10px!important}
th,td{white-space:normal!important;overflow-wrap:anywhere;padding:7px!important}
thead{display:table-header-group}
tr{break-inside:avoid}
h1,h2,h3{break-after:avoid}
.kpis{display:flex!important;gap:10px}
.kpi{flex:1}
.profit-panel{border-top:2px solid var(--line)!important}}
.fx-drawer{border:1px solid var(--line);border-radius:10px;padding:13px 17px;margin:0 0 20px}
.fx-drawer summary{font-size:12px}
.fx-drawer summary span{font-weight:650;margin-left:12px}
.fx-drawer>.panel{border:0;padding:17px 0 0;margin:0}
.fx-drawer .panel-heading{margin-bottom:15px}
@media print{#providerCards{display:none!important}
body[data-page=reconcile] .panel>details,body[data-page=reconcile] .panel>.rule-note,body[data-page=reconcile] .file-label,body[data-page=batch] .panel>.rule-note,body[data-page=batch] .file-label{display:none!important}}
/* RUNMU FIN V13 — neutral surfaces, quiet cornflower blue, readable ink. */
:root{--ink:#202124;--muted:#535861;--line:#e2e5eb;--bg:#fff;--surface:#fff;--blue:#4285f4;--blue-soft:#e8f0fe;--green:#19745e;--green-soft:#f1f8f5;--red:#34363c;--amber:#535861;--shadow:0 2px 8px rgba(24,30,45,.025);--ribbon-height:30px}
html,body{background:var(--bg);color:var(--ink)}
body{border:0;font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--blue);font-weight:550}
.brand-ribbon{height:var(--ribbon-height);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--surface);border-top:3px solid #4285f4;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;letter-spacing:.7px}
.brand-ribbon strong{font-size:10px;font-weight:650;color:var(--ink);letter-spacing:1.5px}
.brand-ribbon span{color:var(--muted)}
.shell{min-height:calc(100vh - var(--ribbon-height))}
.sidebar{top:var(--ribbon-height);height:calc(100vh - var(--ribbon-height));background:var(--surface);border-right:1px solid var(--line)}
.brand{color:var(--ink);font-weight:650;letter-spacing:.3px}.brand em{font-weight:500;color:var(--ink)}
.brand-mark{background:var(--blue-soft);color:var(--blue);border:1px solid #d8dff4;border-radius:8px}
.brand-sub{color:var(--muted);font-size:10px;letter-spacing:1px}
.nav-label{color:#646971;font-size:10px;font-weight:550;letter-spacing:.8px}
.sidebar nav a{color:#434750;font-size:13.5px;font-weight:450;line-height:1.5}
.sidebar nav a:hover{background:#f6f7f9;color:var(--ink)}
.sidebar nav a.active{background:var(--blue-soft);color:#1967d2;box-shadow:none;font-weight:600}
.sidebar nav a.active svg{color:var(--blue)}
.sidebar-bottom,.sidebar-bottom b,.sidebar-bottom p{color:var(--muted);font-size:10px;font-weight:450}
.sidebar-bottom b{color:var(--green)}
.topbar{height:58px;background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted)}
.breadcrumb,.breadcrumb b{color:#4b5059;font-size:12px;font-weight:450}
.top-actions small{font-size:10px;color:var(--muted)}
.top-actions a,.top-actions button,#menuToggle{background:var(--surface);color:#434750;border:1px solid var(--line);font-size:12px;font-weight:500;box-shadow:none}
main{padding-top:28px}
.page-head h1{color:var(--ink);font-size:31px;letter-spacing:-.6px;font-weight:650}
.page-head p{color:var(--muted);font-size:14px;line-height:1.85}
.eyebrow,.micro,.hero-kicker{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:1.3px}
.badge,.pill{color:var(--green);background:var(--green-soft);border:1px solid #d3e7dd;font-size:10px;font-weight:500}
button,.button{min-height:44px;background:var(--surface);border:1px solid #d7dbe3;color:#393e47;font-size:13px;font-weight:550;border-radius:8px;box-shadow:none}
button:hover,.button:hover{background:#f6f7fa;border-color:#b9c1d1;color:var(--ink)}
.primary,.button.primary,.hero-actions .primary{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 1px 2px rgba(30,40,70,.08)}
.primary:hover,.button.primary:hover,.hero-actions .primary:hover{color:#fff;background:#d9e7ff;border-color:#d9e7ff}
button:disabled{opacity:.6;cursor:not-allowed}
.text-button{color:var(--blue);background:transparent;border-color:transparent}
.panel,.kpi,.module-card,.connect-card,.download-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px}
.panel h2,.panel h3,.module-card h3,.connect-card h2{color:var(--ink);font-weight:600}
.panel h2{font-size:18px}.panel h3{font-size:15px}
.panel-heading{margin-bottom:18px}.panel-heading p,.section-caption{color:var(--muted);font-size:13px;line-height:1.8}
.field label,.file-label,.reconcile-maps label{color:#343840;font-size:13px;font-weight:550;line-height:1.6}
.field label .unit{color:var(--muted);font-size:11px;font-weight:400}
.field small{color:var(--muted);font-size:12px;line-height:1.8}
.field input,.field select,textarea{color:var(--ink);background:var(--surface);border:1px solid #cdd2dc;font-size:15px;font-weight:450;border-radius:7px}
.field input:focus,.field select:focus,textarea:focus{outline:2px solid #cbd3f1;border-color:var(--blue);box-shadow:0 0 0 3px rgba(75,112,183,.07)}
textarea{font-size:13px;line-height:1.8}
.section-title{color:#3f434c;font-size:13px;font-weight:600}
.rule-note,.formula{color:#4b5059;background:#f8f9fb;border:1px solid var(--line);font-size:12px;line-height:1.85}
.formula{font-size:14px}.inline-link,.hero-link{color:var(--blue);font-weight:550}
.platform-tabs{background:#f7f8fa;border:1px solid var(--line)}
.platform-tabs button{background:transparent;color:#4c515b;border:0;font-size:12px;font-weight:500;box-shadow:none}
.platform-tabs button[aria-pressed=true]{background:var(--surface);color:#1967d2;box-shadow:0 1px 4px rgba(24,30,45,.09)}
.toolbar{background:var(--surface);border:1px solid var(--line)}.toolbar small{color:var(--muted);font-size:12px}
.profit-panel,.hero-live{background:var(--surface);border:1px solid #dce1ee;border-top:1px solid #dce1ee;box-shadow:0 8px 28px rgba(35,43,67,.055);border-radius:14px}
.profit-label{color:var(--muted);font-size:12px;font-weight:500}
.profit-number,.hero-live .profit-number{color:var(--ink);font-weight:600;letter-spacing:-1.8px}
.profit-secondary,.hero-live .profit-secondary{color:var(--muted);font-size:13px}
.metric-row{border-color:var(--line)}.metric-row small{color:var(--muted);font-size:12px}.metric-row b{color:var(--ink);font-weight:550}
.decision{background:#f7f8fc;border:1px solid #e7eaf3;border-left:1px solid #e7eaf3}
.decision small{color:var(--muted);font-size:12px;line-height:1.7}.decision b{color:#343840;font-weight:600}.decision span{color:var(--muted);font-size:11px}
.small,.status-line,.legend{color:var(--muted);font-size:12px;line-height:1.85}
.row{color:#4b5059;font-size:13px}.row b{color:var(--ink);font-size:14px;font-weight:550}.row.total{border-color:var(--line);color:var(--ink)}.row.total b{color:var(--ink);font-weight:650}
.cost-track,.rank-track{background:#eff1f5}
.insight,.insight.warning{background:#f8faf9;border:1px solid #e0e9e4;box-shadow:none}
.insight b,.insight.warning b{color:#354d43;font-size:13px;font-weight:600}.insight p,.insight.warning p{color:#4d5852;font-size:12px;line-height:1.85}
.insight.danger{background:#f7f8fb;border:1px solid #dce1eb}.insight.danger b,.insight.danger p{color:#343840}
.negative{color:var(--ink)!important;font-weight:600!important}.positive{color:var(--green)!important;font-weight:550}
.error{color:#434957;font-size:13px;font-weight:550}
.table-scroll{background:var(--surface);border-color:var(--line)}th{background:#f8f9fb;color:#535861;font-size:12px;font-weight:550}td{color:#343840;font-size:13px}th,td{border-color:var(--line)}td strong{color:var(--ink);font-weight:600}td button{font-size:12px}
td input[type=number]{color:var(--ink);background:var(--surface);border-color:#cdd2dc}td input[type=checkbox],.check-row input{accent-color:var(--blue)}
.table-scroll caption{color:var(--muted);font-size:12px}
.empty{color:var(--muted);background:var(--surface)}.empty h2{color:var(--ink)}
.kpi small,.kpi span{color:var(--muted);font-size:12px}.kpi strong{color:var(--ink);font-weight:600}
.scenario-card{background:var(--surface);border:1px solid var(--line)}.scenario-card.current{background:var(--blue-soft);border:1px solid #b9c5ec}.scenario-card small{color:var(--muted);font-size:12px}.scenario-card b{color:var(--ink);font-weight:600}.scenario-card p{color:var(--green);font-size:13px}
.article p,.article li{color:#41464f;font-size:15px;line-height:1.95}.article h2,.article h3{color:var(--ink);font-weight:600}
.source-item{border-color:var(--line)}.source-item h3{color:var(--ink)}.source-item p{color:var(--muted);font-size:13px}.source-meta{color:var(--muted);font-size:12px}
.download-card{color:var(--ink);border-top:1px solid var(--line)}.download-card span{color:var(--muted);font-size:12px}
.rank-bar>span,.rank-bar b{color:#41464f;font-size:13px}.rank-track>span{background:#7e91d2}
.check-row{color:#41464f;font-size:13px}.code{background:#f3f5fa;color:#4a5692}
.home-main{padding-top:0}.hero{gap:40px;align-items:start;padding:36px 0 30px}.hero>div:first-child{padding-top:10px}
.hero h1{color:var(--ink);font-size:50px;font-weight:600;letter-spacing:-1.8px;margin:18px 0;line-height:1.24}
.hero p{color:#535861;font-size:15px;line-height:1.95}.hero-actions{gap:20px}.hero-actions>a:last-child{color:#4e596f;font-size:13px}.hero-benefits{color:#535861;font-size:11px;gap:18px}
.hero-live{padding:26px}.hero-live .panel-heading{margin-bottom:10px}.hero-live h2{color:var(--ink);font-size:17px;font-weight:600;margin:6px 0}.hero-live .micro{color:#616776;font-size:9px;letter-spacing:1.2px}
.hero-live .profit-label{margin-top:14px}.hero-live .profit-number{margin-top:5px;font-size:43px}.hero-inputs{margin-top:18px;padding-top:16px}.hero-live .cost-track{margin-top:18px;height:5px}.hero-live .rule-note{background:transparent;border:0;color:var(--muted);font-size:11px;line-height:1.8;margin:14px 0}.hero-live .hero-link{padding-top:14px;margin-top:14px;font-size:12px}.hero-link span{color:var(--blue)}
.platform-line{padding:19px 0;gap:14px;flex-wrap:wrap;color:var(--muted);border-color:var(--line)}.platform-names{color:#4c515b;font-size:15px;font-weight:550;gap:28px}
.home-section{padding-top:30px}.section-heading{margin-bottom:18px}.section-heading h2{color:var(--ink);font-weight:600;font-size:25px}.section-heading p{color:var(--muted);font-size:12px}
.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.module-card{padding:22px;box-shadow:none;border-top:1px solid var(--line)}.module-card:hover,.download-card:hover{background:#fafbfe;border-color:#bbc5e7;box-shadow:0 3px 10px rgba(24,30,45,.035);transform:translateY(-1px)}
.module-top{color:#666d7b;margin-bottom:15px}.module-top>span:first-child{background:#f4f5f8;font-size:10px}.module-card h3{font-size:16px}.module-card p{color:var(--muted);font-size:13px;margin:10px 0 17px}.module-card small{color:var(--blue);font-size:12px;font-weight:550}
.trust-strip{background:#fafbfe;border:1px solid var(--line);box-shadow:none;margin-top:25px}.trust-strip h2{color:var(--ink);font-weight:550;font-size:23px}.trust-strip p{color:var(--muted);font-size:13px}.trust-strip a{color:var(--blue)}
.mobile-summary{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 8px rgba(24,30,45,.045);top:var(--ribbon-height)}.mobile-summary small{color:var(--muted);font-size:11px}.mobile-summary strong{color:var(--ink);font-weight:600}.mobile-summary a{color:var(--blue)}
.fx-reference strong{color:var(--ink);font-weight:550}.fx-drawer{background:var(--surface);border:1px solid var(--line);border-left:1px solid var(--line)}.fx-drawer summary{color:#434750;font-size:13px;font-weight:550}.fx-drawer summary span{color:var(--muted);font-size:12px}
.allocation-controls{background:#fafbfe;border:1px solid var(--line);border-top:1px solid var(--line)}.settings-platform{background:var(--surface);border:1px solid var(--line)}.settings-platform legend{color:#434750;font-weight:550}
.connect-card{border-top:1px solid var(--line)}.connect-card p{color:var(--muted);font-size:14px}.promotion-band{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.promotion-band h2{color:var(--ink);font-size:20px;font-weight:600}.promotion-band p{color:var(--muted);font-size:13px}
footer{background:var(--surface);border-color:var(--line);color:var(--muted);font-size:11px}footer a{color:#535861}
#toast{background:#333740;color:#fff;border:1px solid #454a55;box-shadow:0 4px 16px rgba(24,30,45,.1)}.skip:focus{background:var(--surface);color:var(--blue)}
.sticky-results{top:calc(var(--ribbon-height) + 18px)}
@media(min-width:701px){.sidebar{padding:24px 14px}.brand-sub{padding-bottom:16px}.sidebar nav a{min-height:42px;padding:8px 11px;margin:2px 0}.nav-label{padding:12px 11px 5px}.sidebar-bottom{margin-top:24px;padding:16px 11px 0;border-top:1px solid var(--line)}}
@media(min-width:1550px){.hero h1{font-size:57px}}
@media(max-width:1150px){.hero h1{font-size:44px}.sticky-results{position:static}}
@media(max-width:700px){:root{--ribbon-height:28px}.brand-ribbon{padding:0 17px;font-size:9px}.brand-ribbon strong{font-size:9px}.brand-ribbon span{font-size:9px;letter-spacing:0}.sidebar{position:static;height:auto;top:auto;background:var(--surface);border-bottom:1px solid var(--line)}.brand{font-size:21px}.topbar{height:52px}.sidebar nav a{font-size:14px}.page-head h1{font-size:28px}.page-head p{font-size:14px}main{padding-top:24px}.home-main{padding-top:0}.panel{padding:20px}.panel h2{font-size:18px}.field label{font-size:13px}.field label .unit{font-size:11px}.field input,.field select{font-size:16px;min-height:48px}.toolbar button{font-size:12px}.toolbar .actions{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-tabs button{font-size:11px;min-height:43px;line-height:1.6}.hero{padding:24px 0;gap:24px}.hero>div:first-child{padding-top:0}.hero h1{font-size:42px;letter-spacing:-1.2px}.hero p{font-size:15px}.hero-live{padding:22px}.hero-live .profit-number{font-size:37px}.hero-live h2{font-size:17px}.hero-actions .button{font-size:13px}.hero-benefits{font-size:11px;gap:13px}.module-grid{grid-template-columns:1fr}.module-card p,.article p,.article li{font-size:14px}.row{font-size:12px}.row b{font-size:13px}.fx-drawer summary{font-size:12px}.fx-drawer summary span{display:inline-block;margin-left:0}.promotion-band h2{font-size:20px}th{font-size:11px}td{font-size:12px}}
@media(max-width:360px){.brand-ribbon span{display:none}.hero h1{font-size:36px}.hero-live{padding:18px}.hero-live .profit-number{font-size:34px}.field-grid{gap:16px 10px}.decision small{font-size:11px}.decision b{font-size:18px}}
@media print{.brand-ribbon{display:none!important}html,body{background:#fff!important;color:#111!important;border:0!important}#main,#main *{color:#111!important;background:transparent!important;box-shadow:none!important;border-color:#aaa!important}.shell{min-height:0}.sidebar,.topbar,.toolbar,.actions,.no-print,.promotion-band,.ad-slot,#toast,footer,.mobile-summary,.input-panel,.allocation-controls,button,textarea,input[type=file],#statementMap,#paymentMap,.reconcile-maps{display:none!important}.shell,.workspace,main,.grid-workspace,.sticky-results,.two-columns,.connect-grid{display:block!important;position:static!important;max-width:none!important;width:auto!important}.print-only{display:block!important}.table-scroll{overflow:visible!important}th,td{white-space:normal!important;overflow-wrap:anywhere}}

/* A: airy blue and white. Branded blue is reserved for frames and actions. */
:root{--blue:#1967d2;--blue-soft:#e8f0fe;--brand:#4285f4;--bg:#fbfdff}
.brand-ribbon{border-top-color:var(--brand)}
.brand-mark{background:#e8f0fe;color:#1967d2;border-color:#c6dafc}
.topbar,.sidebar{background:#fff}
.hero h1,.page-head h1{color:#2463c4}
.hero-live,.profit-panel{border-color:#c6dafc;border-top:2px solid var(--brand);box-shadow:0 6px 24px rgba(66,133,244,.045)}
.hero-live .profit-number,.profit-number{color:#2463c4}
.primary,.button.primary,.hero-actions .primary{background:#e8f0fe;border:1px solid #4285f4;color:#174ea6;box-shadow:none}
.primary:hover,.button.primary:hover,.hero-actions .primary:hover{background:#d9e7ff;border-color:#1967d2;color:#174ea6}
.sidebar nav a.active{background:#e8f0fe;color:#174ea6;box-shadow:inset 2px 0 #4285f4}
.module-card{border-color:#d9e5f7}.module-card:hover{border-color:#8ab4f8}
.hero-kicker{color:#1967d2}.brand-sub{font-size:11px;letter-spacing:0;line-height:1.7}
.brand-sub span{display:block;font-size:10px;color:#535861}
.hero-name{color:#1967d2;font-size:13px;font-weight:550;margin:0 0 12px}
.hero-name span{display:block;color:#535861;font-size:11px;font-weight:400}
.hero h1{font-size:43px}.hero p{max-width:490px}.hero-use{font-size:13px;color:#535861}
.product-intro{margin-top:25px}.product-intro p{font-size:14px;color:#434750}.product-intro h2{color:#2463c4}
[data-theme=white]{--bg:#fff;--blue-soft:#f4f7fc}
[data-theme=white] .hero h1,[data-theme=white] .page-head h1,[data-theme=white] .profit-number{color:#343840}
[data-theme=white] .hero-live,[data-theme=white] .profit-panel{border:1px solid #e2e5eb;box-shadow:0 2px 8px rgba(24,30,45,.025)}
[data-theme=white] .sidebar nav a.active{background:#f4f7fc;box-shadow:none}
[data-theme=white] .primary,[data-theme=white] .button.primary{background:#fff;border-color:#bccfeb;color:#174ea6}
@media(max-width:700px){.hero h1{font-size:33px}.hero-name{font-size:13px}.brand-sub{display:block;padding:5px 0 0;font-size:11px}.brand-sub span{display:none}.hero-name span{font-size:11px}.hero p{font-size:14px}.top-actions button{min-width:64px}}
@media(max-width:360px){.hero h1{font-size:29px}.hero-name span{font-size:10px}}
