/* Shared redesign for the existing local exchange. */
body[data-page=app],body[data-page=app]:has(.flow-page){background:#f5f8f4;--panel:#fff;--paper:#f5f8f4;--line:#dee7df;--green:#3b795b;--red:#ad715f}
body[data-page=app] .w-header{max-width:none;height:90px}
body[data-page=app] .w-header .account-button{height:42px;background:#fff;border-color:#dce5da;border-radius:8px;padding:0 16px}
body[data-page=app] .w-nav>a{padding-block:32px}
.workspace-bar{max-width:none;padding:0 4vw;background:#fff;height:64px;border-color:var(--line)}
.workspace-tabs{gap:36px}
.workspace-tabs a{font-size:13px}
.workspace-tabs a.active:after{height:3px;background:#628b67;border-radius:4px 4px 0 0}
body[data-page=app] main{max-width:1640px;padding:35px 4vw 55px;min-height:calc(100vh - 235px)}
body[data-page=app] main:has(.flow-page){padding-top:0}
.page-heading{margin-bottom:28px}
.page-heading h1{font-size:38px;line-height:1.15;letter-spacing:-1.5px;font-weight:450}
.page-heading p:not(.eyebrow){font-size:13px;color:#7b897c;line-height:1.7}
.eyebrow{font:9px var(--mono);letter-spacing:1.7px;color:#6f8b71}
.tag{background:#e8f0e4;color:#668160;border:1px solid #dce5d5;padding:8px 12px;border-radius:5px}
.panel{border-radius:12px;border-color:#dfe7dd;background:#fff;box-shadow:0 8px 24px #25472d03}
.market-hero{gap:20px;margin-bottom:32px}
.feature-banner{min-height:295px;border-radius:15px;border-color:#d7e4d7;background:#eff5e7;padding:35px}
.feature-banner:after{background:linear-gradient(90deg,#edf4e5 0%,#edf4e5f5 23%,#edf4e500 70%)}
.feature-banner h2{font-weight:450;font-size:40px;letter-spacing:-1.4px;line-height:1.2}
.feature-banner p:not(.eyebrow){font-size:13px;line-height:1.8}
.feature-banner .feature-creator{font-size:12px}
.feature-banner .eyebrow{font-size:9px}
.feature-banner button{font-size:13px;padding:9px 0}
.total-card{background:#fff;border-radius:12px;border-color:#dfe7dd;padding:25px}
.total-card strong{font-size:30px;font-weight:450;letter-spacing:-1px}
.total-card small{font-size:11px}
.market-totals{gap:14px}
.filters{gap:5px}
.filters button{border-radius:6px;font-size:12px;padding:11px 14px;color:#7e8c7b}
.filters button.active{color:#34523f;background:#e7f0e1}
.search-field{background:#fff;border:1px solid #dfe7da;border-radius:7px;padding:11px 13px}
.market-table-tools{gap:18px;margin-bottom:20px}
.market-table th{background:#f9fbf7;height:47px;font-size:10px;color:#84917e}
.market-table td{padding-block:22px;border-top-color:#e9eee4}
.market-table tbody tr:hover{background:#f5f9f1}
.market-table .num{font-size:12px}
.market-id strong{font-size:14px;font-weight:550;letter-spacing:-.25px}
.market-id p{font-size:10px;color:#82917d}
.creator-identity strong{font-size:12px}
.creator-avatar{border:1px solid #fff}
.basket-symbol{border-radius:11px}
.portfolio-top{gap:14px;margin-bottom:30px}
.portfolio-card{border-radius:12px;border-color:#dfe7d9;background:#fff;padding:25px}
.portfolio-card strong{font-size:28px;font-weight:450;letter-spacing:-1px}
.portfolio-card small{font-size:10px}
.portfolio-card>span{font-size:10px;color:#7a8b72}
.portfolio-card.main-balance{background:#e6efdd;border-color:#d3e1c7}
.portfolio-card.credit-total.borrowed{background:#f7f0e8;border-color:#e9decf}
.portfolio-card.credit-total.lent{background:#ecf3e6;border-color:#d9e4cd}
.portfolio-positions .panel-head{height:60px;padding-inline:25px}
.portfolio-positions .tabs button{font-size:12px}
.credit-table td small{color:#8b9784}
.primary{border-radius:7px;background:#284d3c;border-color:#284d3c;min-height:44px}
.primary:hover{background:#3d654e}
.minor-button{border-radius:6px}
.credit-summary{background:#f4f8ed;border-color:#dfe8d5}
.credit-stat{padding:15px 17px}
.credit-stat span{font-size:10px}
.flow-page{--surface:#f8faf7;--surface-raised:#fff;--surface-border:#dce5dc;--text-bright:#243d35;--text-dim:#72857a;--accent:#628b67;--flow-green:#77a68c;--flow-gold:#c3ad6e}
.flow-heading{padding-block:27px}
.flow-identity h1{font-weight:500;letter-spacing:-1px;font-size:30px;line-height:1.2}
.flow-market-strip{border-color:#dbe4d3}
.flow-market-strip button{padding-block:17px;border-color:#dce5d5}
.flow-market-strip button:hover{background:#edf3e6}
.flow-market-strip button.active:after{background:#5d8564}
.flow-board{border-radius:14px;border-color:#dce5dc;box-shadow:0 10px 30px #18382704}
.flow-board-head{background:#fff;border-color:#dce5dc;height:58px}
.flow-segments button,.flow-small-link{color:#72857a}
.flow-segments button:hover,.flow-small-link:hover{color:#243d35}
.flow-segments button.active{color:#243d35}
.flow-segments button.active:after{background:#77a68c}
.flow-stage{background:radial-gradient(ellipse at 50% 48%,#e7efdf65,transparent 65%),#f8faf7}
.flow-stage-title h2{color:#243d35}
.flow-stage-title span,.flow-stage-badge{color:#72857a}
.flow-stage-badge i{background:#77a68c}
.flow-trade-space{height:450px}
.flow-wallet{background:linear-gradient(145deg,#f7faf3,#e5efdb);border-color:#c8d9bd;box-shadow:0 4px 0 #d8e4cf,0 12px 26px #29482c06}
.flow-wallet.theirs{background:linear-gradient(145deg,#f8fbfd,#e2eff8);border-color:#c2d7e5;box-shadow:0 4px 0 #d2e1ec,0 12px 26px #29485d06}
.flow-wallet-node{background:#ffffffb3;border-color:#d8e4d1;border-radius:7px}
.flow-wallet.theirs .flow-wallet-node{border-color:#d2e1ec}
.flow-wallet-heading{font-size:12px}
.flow-wallet-heading small,.flow-wallet-foot>span,.flow-settle-asset small{color:#697d71}
.flow-wallet-orb,.theirs .flow-wallet-orb{background:url('assets/weave.svg') center/19px 19px no-repeat;border:0;border-radius:0;box-shadow:none}
.flow-wallet-node .flow-node-label{color:#526c5d}
.flow-wallet-node strong{font-size:21px;letter-spacing:-.5px;color:#243d35}
.flow-wallet-node small{color:#697d71}
.flow-wallet-node.flow-node-basket{border-left-color:#77a68c}
.flow-wallet.theirs .flow-wallet-node.flow-node-basket{border-left-color:#86adbf}
.flow-wallet-symbols img{border-color:#eef5e7;background:#eef5e7}
.flow-wire-bg{stroke-width:7.5;opacity:.065}
.flow-wire{stroke-width:1.5;opacity:.6}
.flow-wire-dots{display:none}
.flow-dot{stroke:#fff;stroke-width:1.7;filter:none}
.flow-hub{background:#ffffffd9;border-color:#d3dfce;box-shadow:0 8px 20px #29482c05}
.flow-match-mark{color:#365442}
.flow-match-mark img,.flow-composition-ring img{filter:none}
.flow-hub dl{border-color:#e0e8db}
.flow-hub dt{color:#72857a}
.flow-hub dd{color:#365442}
.flow-route-label strong{background:#fbf8ef;border-color:#e4dac0;color:#806c37;box-shadow:0 3px 10px #59461e04}
.flow-route-label.units strong{background:#f0f6eb;border-color:#d2e0c9;color:#52774f}
.flow-route-label small{background:#f8faf7e8;color:#72857a}
.flow-stage-meta{background:#f8faf7;border-color:#dce5dc}
.flow-legend{color:#657b6c}
#flow-route-count{color:#72857a}
.flow-play{background:#fff;border-color:#d4e0d0;color:#526d59}
.flow-play:hover{background:#edf4e8;border-color:#b9cdb2}
.flow-position{background:#f0f5ec}
.flow-position small,.flow-position p{color:#697d71}
.flow-position strong{color:#243d35}
.flow-position-arrow{color:#86a07c}
.flow-compare{background:#eef4e9;border-color:#d6e1cf}
.flow-compare button{color:#72857a}
.flow-compare button.active{background:#fff;color:#365442;box-shadow:0 1px 4px #243d3510}
.flow-capital-hub{background:linear-gradient(145deg,#fff,#eef4e7);border-color:#cddcc1;box-shadow:0 0 0 5px #f8faf7,0 0 0 6px #dce5d6,0 10px 24px #29482c06}
.flow-hub-identity small,.flow-hub-identity span{color:#72857a}
.flow-hub-identity strong{color:#243d35}
.flow-composition-ring:before{background:#f8faf3}
.flow-hub-metric{border-color:#dce5d4;color:#72857a}
.flow-hub-metric strong{color:#365442}
.flow-asset-node{background:linear-gradient(145deg,#fff,#f2f6ee);border-color:#d7e2d1;box-shadow:0 4px 14px #29482c04;color:#243d35}
.flow-asset-node:hover,.flow-asset-node.selected{background:linear-gradient(145deg,#fff,#edf4e6);border-color:#a7bf97;box-shadow:0 0 0 3px #dce8d340,0 6px 18px #29482c06}
.flow-asset-bubble{background:#f3f7ee;border-color:#dce6d3}
.flow-node-top small,.flow-node-weights small,.flow-node-values small{color:#72857a}
.flow-node-top [data-direction]{color:#72857a}
.flow-asset-node.reducing [data-direction],.flow-node-values .reduce{color:#a37949}
.flow-asset-node.increasing [data-direction],.flow-node-values .increase{color:#4f805b}
.flow-node-weights>span:first-child b,.flow-node-weights i{color:#84978a}
.flow-node-track{background:#e5ece0}
.flow-node-track i{background:#c1d0b7}
.flow-node-values b{color:#365442}
.flow-path-value{background:#fbf8ef;border-color:#e4dac0;color:#806c37}
.flow-transfer-list{background:#f0f5ec}
.flow-transfer-row{border-color:#dce5d4;color:#657b6c}
.flow-transfer-row svg{color:#86a07c}
.flow-transfer-row strong{color:#365442}
.flow-transfer-empty{color:#72857a}
body:has(.flow-page) .exchange-footer>div{min-width:0;max-width:100%}
body:has(.flow-page) .exchange-footer #chain-icons{flex-wrap:wrap}
.flow-ticket{background:#fff;border-color:#dce6d2;border-radius:13px;box-shadow:0 8px 25px #29482c06}
.flow-ticket-head{height:58px;background:#fff;border-color:#e3eadb}
.flow-ticket-head h2{font-size:17px;letter-spacing:-.4px;font-weight:500}
.flow-input-box{background:#f7faf2;border-color:#d9e4cb;border-radius:8px}
.flow-allocation{background:#fff;border-color:#dce6d5;border-radius:12px;overflow:hidden}
.flow-allocation-head{background:#f9fbf6;border-color:#e3eadc}
.flow-exposure-table th{background:#fafcf7;border-color:#e4ebdc}
.flow-exposure-table td{border-color:#e7eddf}
.flow-market-stats .flow-price strong{font-size:30px;font-weight:450}
.flow-market-stats strong{font-size:12px}
.flow-target-row{border-color:#e2ead8}
.exchange-footer{border-top:1px solid #dce5d4;background:#edf3e7;padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;color:#738769}
.exchange-footer>span{display:flex;gap:9px;align-items:center}.exchange-footer>span>img{width:22px;height:22px}
.exchange-footer #chain-icons{display:flex;gap:13px;align-items:center}.exchange-footer .network-icon{height:23px;width:23px}.exchange-footer #chain-icons>span{display:inline-flex}
.exchange-footer #how-it-works{font-size:11px;border-bottom:1px solid #a6b798;padding:7px 0}
.activity-workspace .traffic-heading h1{font-size:38px;letter-spacing:-1.5px;font-weight:450;line-height:1.2}
.activity-workspace .traffic-panel{background:#fff;border-color:#d8e4d1;border-radius:13px;box-shadow:0 12px 30px #25472b05;padding:26px}
.activity-workspace .traffic-node{background:#f3f7ec;border-color:#cbd9bd;border-radius:7px}
.activity-workspace .traffic-summary{border-color:#dfe7d7}
.activity-workspace .traffic-node strong{font-weight:450}
.activity-history{background:#fff;border-radius:13px;border-color:#d8e4d1}
.activity-history-head select{background:#f7faf2;border-color:#dce6d4}
.activity-records th{background:#f5f9ee}
.activity-records td,.activity-records th{border-color:#e3ebda}
body[data-view=activity]{background:#f5f8f4}
dialog#modal{background:#fff;border-color:#dbe6d2;border-radius:16px;box-shadow:0 40px 120px #17382733}
dialog#modal::backdrop{background:#102f2570;backdrop-filter:blur(6px)}
dialog#modal h2{font-size:24px;letter-spacing:-.7px;line-height:1.25}
.modal-head h3{font-size:20px;letter-spacing:-.5px}
@media(max-width:1100px){.market-table .creator-col{display:none}.portfolio-credit-top{grid-template-columns:repeat(3,1fr)}.flow-layout{grid-template-columns:minmax(0,1fr) 280px}.flow-trade-space{padding-inline:16px}.flow-wallet{width:38%;max-width:215px}.flow-hub{width:120px}.flow-wallet-node strong{font-size:17px}.flow-market-stats{gap:18px}.market-table .spark-col{display:none}}
@media(max-width:900px){.flow-layout{grid-template-columns:1fr}.flow-ticket-wrap{max-width:none}.flow-wallet{width:30%;max-width:245px}.flow-hub{width:155px}.flow-wallet-node strong{font-size:21px}.flow-market-stats>div:not(:first-child){display:none}.market-table-tools{flex-wrap:wrap}.portfolio-credit-top{grid-template-columns:repeat(2,1fr)}.portfolio-card.main-balance{grid-column:1/-1}.market-hero{display:block}.market-totals{display:grid;grid-template-columns:1fr 1fr;margin-top:15px}.flow-ticket{max-width:100%}}
@media(max-width:760px){body[data-page=app] .w-header{height:76px;padding-inline:20px;gap:12px}body[data-page=app] .w-nav>a{padding:15px 0}.w-header .account-button{height:35px!important;padding:0 11px!important;font-size:11px}.w-header .w-brand>span{font-size:30px}.w-header .w-brand>img{width:30px;height:30px}.w-header-actions{gap:9px}.workspace-bar{padding:0 20px;height:57px}.workspace-tabs{gap:26px}.workspace-tabs a{font-size:12px}body[data-page=app] main,body[data-page=app] main:has(.flow-page){padding:25px 20px 40px}body[data-page=app] main:has(.flow-page){padding-top:0}.page-heading h1{font-size:32px}.page-heading p:not(.eyebrow){font-size:12px}.page-heading{align-items:flex-start}.feature-banner{min-height:290px;padding:25px}.feature-banner h2{font-size:33px}.feature-banner img{opacity:.85}.feature-banner:after{background:linear-gradient(90deg,#edf4e5 0,#edf4e5d9 30%,#edf4e570 100%)}.total-card{padding:19px}.total-card strong{font-size:25px}.total-card small{font-size:10px}.filters{gap:2px;overflow:auto;width:100%;padding-bottom:5px}.filters button{font-size:10px;padding:10px 12px;white-space:nowrap}.search-field{width:100%}.search-field input{width:100%}.market-table .num{font-size:11px}.market-table td{padding:19px 12px}.market-table th{padding-inline:12px;font-size:9px}.market-id strong{font-size:12px}.market-id p{font-size:9px}.market-table .volume-col,.market-table .assets-col{display:none}.market-id{gap:8px}.market-id .basket-symbol{width:34px;height:34px;padding:7px;border-radius:9px}.creator-identity{display:none}.portfolio-card{padding:19px}.portfolio-card strong{font-size:26px}.portfolio-card small{font-size:10px}.portfolio-card>span{font-size:9px}.portfolio-positions .panel-head{padding-inline:16px;overflow:auto;height:57px}.portfolio-positions .tabs{gap:21px}.portfolio-positions .tabs button{font-size:11px}.portfolio-unit{display:none}.portfolio-table .units-col{display:none}.credit-table td{font-size:10px}.credit-table th{font-size:8px}.credit-table th:nth-child(3),.credit-table td:nth-child(3){display:none}.credit-table th:first-child{min-width:130px}.flow-identity h1{font-size:26px}.flow-heading{padding-block:22px}.flow-market-strip{margin-right:-20px}.flow-market-strip button{padding-block:15px}.flow-market-strip button>span:last-child{font-size:10px}.flow-board-head{height:55px;padding-inline:15px}.flow-segments button{font-size:11px}.flow-small-link{font-size:9px}.flow-wallet-node strong{font-size:17px}.flow-exposure-table td{font-size:9px}.activity-workspace .traffic-heading h1{font-size:30px}.activity-workspace .traffic-panel{padding:17px}.exchange-footer{padding:20px;flex-wrap:wrap;gap:20px;font-size:9px}.exchange-footer #chain-icons{gap:12px}.exchange-footer .network-icon{height:18px;width:18px}.exchange-footer>span{font-size:9px}.exchange-footer #how-it-works{font-size:10px}}
@media(max-width:540px){.flow-trade-space{height:720px;padding:75px 14px 20px}.flow-wallet{width:100%;max-width:none}.flow-wallet-node strong{font-size:17px}.flow-hub{width:136px;top:52%}.flow-wallet-node{min-height:90px}.flow-wallet-foot{margin-top:11px}.flow-identity h1{font-size:23px}.flow-market-stats .flow-price strong{font-size:26px}.flow-heading{gap:15px}.flow-market-stats{margin-left:53px}.market-table .market-id p{font-size:8px}.market-table td:first-child{min-width:165px}.market-table td{padding-inline:10px}.market-table .num{font-size:10px}.portfolio-positions .minor-button{font-size:9px;padding:7px}.flow-exposure-table td:nth-child(4){font-size:8px}.flow-exposure-table td{padding:12px 8px}.flow-exposure-table td b{font-size:9px}.activity-workspace .traffic-stage-inner{min-width:0}}
/* Keep the light flow panels legible on narrow screens. */
@media(max-width:540px){
 .flow-hub{top:48%}
 .flow-route-label{top:61%!important}
 .flow-asset-node{width:calc(50% - 20px);max-width:144px;left:25%!important}
 .flow-asset-node:nth-of-type(2),.flow-asset-node:nth-of-type(3){left:75%!important}
 .flow-path-labels{display:none}
}

/* Shared mobile layout: footer contents must fit every application view. */
.exchange-footer>div{min-width:0;max-width:100%}
.exchange-footer #chain-icons{flex-wrap:wrap}
.portfolio-credit-top>.portfolio-card{min-width:0}
.wallet-coming-soon{padding:3px 0 0}
.wallet-status{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:#4d755b;background:#f0f5ec;padding:9px 12px;border-radius:20px}
.wallet-status i{width:6px;height:6px;background:#739b7c;border-radius:50%}
.wallet-coming-soon p{color:#718075;font-size:15px;line-height:1.7;margin:22px 0}
.wallet-launch-date{border-top:1px solid #e1e8de;border-bottom:1px solid #e1e8de;padding:22px 0;display:grid;gap:8px}
.wallet-launch-date>span{font-size:12px;color:#7a8b76}
.wallet-launch-date strong{font-size:25px;font-weight:500;letter-spacing:-.7px}
.wallet-launch-date small{font-size:11px;color:#819078}
@media(max-width:760px){
 .portfolio-credit-top{grid-template-columns:repeat(2,minmax(0,1fr))}
 .w-header .account-button{white-space:nowrap}
 .exchange-footer #chain-icons{gap:10px 14px}
 .portfolio-credit-top .portfolio-card{padding:16px 13px}
 .portfolio-credit-top .portfolio-card>strong{font-size:clamp(20px,5.7vw,25px)}
 .portfolio-credit-top .main-balance>strong{font-size:32px}
}
@media(max-width:380px){
 body[data-page=app] .w-header{padding-inline:16px;gap:10px}
 body[data-page=app] .w-brand{gap:7px}
 body[data-page=app] .w-brand>span{font-size:27px}
 body[data-page=app] .w-brand>img{width:26px;height:26px}
 body[data-page=app] .w-header-actions{gap:7px}
 body[data-page=app] .w-menu{width:28px}
 .wallet-launch-date strong{font-size:22px}
 dialog#modal:has(.wallet-coming-soon) .dialog-head{padding:20px 18px;gap:12px}
 dialog#modal:has(.wallet-coming-soon) h2{font-size:21px}
}
