:root{--ink:#101828;--muted:#667085;--line:#eaecf0;--bg:#f7f8fb;--card:#fff;--blue:#3b82f6;--green:#12b76a;--purple:#7f56d9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.16em;color:#98a2b3;font-weight:700}.login-view{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 0,#dbeafe,transparent 38%),#f8fafc}.login-card{width:min(100%,390px);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px 28px;box-shadow:0 20px 60px #10182812}.brand-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#101828;color:#fff;font-size:24px;font-weight:800;margin-bottom:18px}.login-card h1{font-size:28px;margin:6px 0}.login-card form{display:grid;gap:14px;margin-top:28px}.login-card label{display:grid;gap:6px;font-weight:600}.login-card input,.toolbar input,.filter-row input,.filter-row select{border:1px solid var(--line);border-radius:10px;padding:11px 12px;outline:0;background:#fff}.login-card input:focus,.toolbar input:focus,.filter-row input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f61a}.primary{background:#155eef;color:#fff;border-radius:10px;padding:10px 16px;font-weight:700}.primary:hover{background:#004eeb}.full{width:100%;padding:13px}.ghost{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 12px;color:#344054}.form-message{color:#d92d20;min-height:20px}.app{min-height:100vh;padding-bottom:78px}.topbar{height:82px;background:#101828;color:#fff;padding:18px max(20px,calc((100vw - 1080px)/2));display:flex;align-items:center;justify-content:space-between}.topbar h1{font-size:20px;margin:2px 0 0}.topbar .eyebrow{color:#98a2b3}.icon-btn{background:#ffffff1a;color:#fff;border-radius:10px;width:38px;height:38px;font-size:20px}.content{max-width:1080px;margin:0 auto;padding:20px}.hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#172b4d,#244a7c);color:#fff;border-radius:20px;padding:24px;margin-bottom:18px}.hero h2{margin:5px 0;font-size:24px}.hero p{margin:0;color:#c5d5eb}.hero .eyebrow{color:#9eb9dc}.hero-orb{width:62px;height:62px;border:1px solid #ffffff4a;border-radius:50%;display:grid;place-items:center;font-size:26px;color:#b9d3ff}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:16px;text-align:left;padding:18px;display:grid;gap:6px;transition:.2s}.quick-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #10182810}.quick-card b{font-size:16px}.quick-card small{color:var(--muted)}.quick-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-size:19px;font-weight:700}.blue{background:#eff8ff;color:#1570ef}.green{background:#ecfdf3;color:#039855}.purple{background:#f9f5ff;color:#6941c6}.panel{animation:rise .25s ease}.page-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-head h2{margin:3px 0;font-size:22px}.toolbar,.filter-row{display:flex;gap:8px;margin-bottom:15px}.toolbar input,.filter-row input{flex:1;min-width:0}.filter-row select{width:110px}.stat-line{color:var(--muted);font-size:13px;margin-bottom:10px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:570px}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#f9fafb;color:#667085;font-size:12px;font-weight:700}tbody tr:last-child td{border-bottom:0}.primary-text{font-weight:700}.sub-text{font-size:12px;color:var(--muted)}.amount-in{color:#039855;font-weight:700}.amount-out{color:#d92d20;font-weight:700}.status{display:inline-flex;padding:3px 8px;border-radius:99px;background:#ecfdf3;color:#027a48;font-size:12px}.empty{text-align:center;color:var(--muted);padding:32px}.bottom-nav{position:fixed;z-index:5;bottom:0;left:0;right:0;height:68px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;gap:8px;padding:7px max(8px,calc((100vw - 560px)/2));box-shadow:0 -6px 24px #1018280c}.nav-item{flex:1;max-width:130px;background:transparent;color:#98a2b3;border-radius:10px;display:grid;place-items:center;gap:1px;font-size:11px}.nav-item span{font-size:19px;line-height:20px}.nav-item.active{color:#155eef;background:#eff8ff;font-weight:700}.token-tabs{display:flex;gap:8px;margin-bottom:16px}.tab{padding:9px 14px;border-radius:99px;background:#f2f4f7;color:#667085}.tab.active{background:#eaf2ff;color:#175cd3;font-weight:700}.info-card{margin-top:16px;border:1px solid #d1e9ff;background:#f5faff;border-radius:12px;padding:12px;display:grid;gap:4px;color:#175cd3}.info-card span{font-size:12px;color:#667085;word-break:break-all}.toast{position:fixed;z-index:10;left:50%;bottom:86px;transform:translate(-50%,20px);background:#101828;color:#fff;padding:10px 14px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes rise{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:640px){.content{padding:14px}.topbar{padding:16px 14px}.quick-grid{grid-template-columns:1fr}.hero{padding:20px}.page-panel{padding:14px}.toolbar,.filter-row{flex-wrap:wrap}.toolbar input,.filter-row input{flex-basis:100%}.filter-row select{flex:1}.section-head h2{font-size:20px}}
:root{--pager-gap:12px}.pager{display:flex;align-items:center;justify-content:center;gap:var(--pager-gap);padding:14px 0 2px}.pager button:disabled{opacity:.45;cursor:not-allowed}
.action-row{display:flex;gap:8px;flex-wrap:wrap}.mini{padding:6px 9px;border-radius:8px;font-size:12px}.danger{background:#fee4e2;color:#b42318;border:1px solid #fecdca}.warn{background:#fffaeb;color:#b54708;border:1px solid #fedf89}.success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.list-cards{display:none}.record-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px;display:grid;gap:9px}.record-card+.record-card{margin-top:10px}.record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.record-title{font-weight:800;word-break:break-all}.record-meta{font-size:12px;color:var(--muted)}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kv{background:#f9fafb;border:1px solid var(--line);border-radius:8px;padding:8px}.kv span{display:block;font-size:11px;color:var(--muted)}.kv b{display:block;margin-top:2px;font-size:13px;word-break:break-all}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#10182866;display:grid;place-items:center;padding:16px}.modal{width:min(100%,720px);max-height:92vh;background:#fff;border-radius:14px;box-shadow:0 24px 80px #10182833;overflow:hidden;display:flex;flex-direction:column}.modal header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line)}.modal header h2{font-size:18px;margin:0}.modal-body{padding:16px;overflow:auto}.modal footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid var(--line);background:#f9fafb}.dark{background:#f2f4f7;color:#344054}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label,.form-stack label{display:grid;gap:6px;font-weight:700;color:#344054}.form-grid input,.form-grid select,.form-grid textarea,.form-stack input,.form-stack select,.form-stack textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;outline:0;background:#fff}.form-grid textarea,.form-stack textarea{min-height:82px;resize:vertical}.radio-row,.seg-row{display:flex;gap:8px;flex-wrap:wrap}.radio-row label{display:flex;align-items:center;gap:5px;font-weight:600}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 15px}.summary-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.summary-card strong{display:block;font-size:20px;margin:3px 0}.summary-card span{font-size:12px;color:var(--muted)}.day-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.linkish{color:#155eef;background:transparent;padding:0}.token-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.copyable{color:#155eef;cursor:pointer}
@media(max-width:760px){.table-wrap{display:none}.list-cards{display:block}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-row input,.filter-row select,.filter-row button{width:100%;min-width:0}.filter-row input.wide,.filter-row .wide{grid-column:1/-1}.kv-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:94vh;border-radius:16px 16px 0 0}.token-toolbar{align-items:stretch;flex-direction:column}}
.logout-btn{height:38px;padding:0 13px;border-radius:10px;background:#ffffff1a;border:1px solid #ffffff26;color:#fff;font-weight:700;white-space:nowrap}

/* Mobile admin interaction overrides. Icons are direct text nodes in nav links. */
.app{padding-bottom:86px}
.bottom-nav{height:76px;padding-top:6px;padding-bottom:6px}
.nav-item{border-radius:12px;font-size:28px;line-height:30px;align-content:center;gap:0}
.nav-item small{display:block;font-size:12px;line-height:18px}
.toast{z-index:100;bottom:92px;max-width:min(90vw,520px);padding:11px 16px;text-align:center;box-shadow:0 12px 32px #10182833}
.toast.success{background:#027a48}
.toast.error{background:#b42318}
button:disabled{cursor:not-allowed;opacity:.55}
.modal footer button{min-width:82px;min-height:42px}
@media(max-width:760px){.action-row .mini{min-height:38px;padding:8px 11px}.token-toolbar>.mini{min-height:42px;font-size:14px}}
.compact-note{margin:0 0 12px;padding:10px}
@media(max-width:760px){.members-page .record-card{padding:9px 10px;gap:6px}.members-page .record-card+.record-card{margin-top:7px}.members-page .record-head{gap:6px}.members-page .record-meta{font-size:11px}.members-page .kv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.members-page .kv{padding:5px 7px}.members-page .kv span{font-size:10px}.members-page .kv b{font-size:12px;margin-top:0}.members-page .action-row{gap:5px}.members-page .action-row .mini{min-height:32px;padding:5px 8px;font-size:11px}}
.status.pending{background:#fffaeb;color:#b54708}
.section-switch{display:flex;gap:8px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.section-switch a{padding:8px 13px;border-radius:9px;color:#667085;background:#f2f4f7;font-weight:700}
.section-switch a.active{color:#175cd3;background:#eaf2ff}
.relation-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,auto);gap:8px;margin-bottom:12px}
.relation-toolbar input{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:0}
.relation-tree{display:grid;gap:7px;min-height:260px}
.relation-node{margin-left:calc(var(--depth) * 12px);min-width:0}
.relation-card{display:grid;grid-template-columns:30px 38px minmax(0,1fr);align-items:start;gap:7px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}
.relation-card.root{border-color:#b2ddff;background:#f5faff}
.relation-toggle{width:30px;height:30px;border-radius:8px;background:#eaf2ff;color:#175cd3;font-size:23px;line-height:26px}
.relation-toggle.expanded{background:#d1e9ff}
.relation-toggle.empty{color:#98a2b3;background:#f2f4f7;cursor:default}
.relation-level{width:36px;height:26px;border-radius:99px;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:800;margin-top:2px;background:#667085}
.level-v1{background:#1570ef}.level-v2{background:#039855}.level-v3{background:#dc6803}.level-v4{background:#d92d20}.level-v5{background:#7f56d9}.level-v6{background:#c4320a}
.relation-main{min-width:0;display:grid;gap:6px}
.relation-head{display:flex;align-items:center;gap:7px;min-width:0}
.relation-head b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.relation-head span{color:#667085;font-size:11px;white-space:nowrap}
.relation-head em{margin-left:auto;padding:2px 7px;border-radius:99px;background:#f2f4f7;color:#475467;font-size:10px;font-style:normal;white-space:nowrap}
.relation-account{justify-self:start;max-width:100%;padding:0;background:transparent;color:#155eef;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.relation-metrics{display:grid;grid-template-columns:repeat(6,minmax(74px,1fr));gap:5px}
.relation-metrics span{padding:5px 7px;border-radius:7px;background:#f9fafb;color:#667085;font-size:10px;min-width:0}
.relation-metrics b{display:block;color:#344054;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.relation-children{display:none;margin:6px 0 0 14px;padding-left:7px;border-left:1px dashed #b2ddff}
.relation-children.expanded{display:grid;gap:6px}
.relation-empty-child{padding:8px;color:#98a2b3;font-size:12px}
@media(max-width:760px){.section-switch{margin-bottom:10px;padding-bottom:9px}.section-switch a{flex:1;text-align:center;padding:7px 9px}.relation-toolbar{grid-template-columns:1fr 1fr}.relation-toolbar input{grid-column:1/-1}.relation-toolbar button{min-height:38px;padding:7px 8px}.relation-toolbar #relationCollapse{grid-column:1/-1}.relation-tree{gap:5px}.relation-node{margin-left:calc(var(--depth) * 7px)}.relation-card{grid-template-columns:28px 33px minmax(0,1fr);gap:5px;padding:8px 7px}.relation-toggle{width:28px;height:28px}.relation-level{width:32px;height:24px}.relation-head{gap:5px}.relation-head b{font-size:13px}.relation-head em{padding:1px 5px}.relation-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.relation-metrics span{padding:4px 5px}.relation-children{margin-left:8px;padding-left:4px}}

/* Relation tree intentionally keeps a compact desktop canvas on phones. */
.relation-tree{display:block;overflow-x:auto;overscroll-behavior-x:contain;padding:1px 0 8px}
.relation-tree>.relation-node{min-width:940px}
.relation-tree>.relation-node+.relation-node{margin-top:5px}
.relation-card{grid-template-columns:26px 34px minmax(0,1fr);align-items:center;gap:5px;border-radius:8px;padding:5px 7px}
.relation-toggle{width:26px;height:26px;border-radius:6px;font-size:20px;line-height:22px}
.relation-level{width:32px;height:22px;margin-top:0}
.relation-main{gap:3px}
.relation-head{min-height:22px;gap:8px}
.relation-head b{max-width:150px;font-size:12px}
.relation-account{max-width:230px;font-size:11px}
.relation-head em{margin-left:0}
.relation-metrics{grid-template-columns:repeat(6,112px);gap:4px}
.relation-metrics span{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:3px 5px;font-size:9px}
.relation-metrics b{font-size:10px}
.relation-children{margin-top:4px}
@media(max-width:760px){.relation-tree{margin-left:-4px;margin-right:-4px}.relation-tree>.relation-node{min-width:900px}.relation-node{margin-left:calc(var(--depth) * 8px)}.relation-card{grid-template-columns:26px 32px minmax(0,1fr);padding:5px 6px}.relation-head b{font-size:12px}.relation-metrics{grid-template-columns:repeat(6,108px)}.relation-children{margin-left:9px;padding-left:4px}}
.stats-panel,.dashboard-shortcuts{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:16px}
.stats-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.stats-heading h2,.dashboard-shortcuts h2{font-size:21px;margin:2px 0}
.stats-heading p{margin:0;color:#667085;font-size:12px}
.dashboard-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.dashboard-stat{display:flex;align-items:center;gap:11px;min-width:0;padding:16px 13px;border:1px solid var(--line);border-radius:14px;background:#f9fafb}
.dashboard-stat .stat-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-size:18px;font-weight:800}
.dashboard-stat div{min-width:0}.dashboard-stat small{display:block;color:#667085;font-size:12px}.dashboard-stat strong{display:inline-block;margin-top:2px;font-size:25px;line-height:30px;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dashboard-stat em{margin-left:3px;color:#98a2b3;font-size:10px;font-style:normal}
.blue-stat .stat-icon{background:#eff8ff;color:#1570ef}.purple-stat .stat-icon{background:#f9f5ff;color:#6941c6}.green-stat .stat-icon{background:#ecfdf3;color:#039855}.orange-stat .stat-icon{background:#fffaeb;color:#dc6803}.cyan-stat .stat-icon{background:#ecfdff;color:#0788a6}
.dashboard-shortcuts .section-head{margin-bottom:12px}
@media(max-width:900px){.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.stats-panel,.dashboard-shortcuts{padding:13px;border-radius:14px}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.dashboard-stat{padding:11px 9px;gap:8px}.dashboard-stat .stat-icon{flex-basis:34px;width:34px;height:34px;border-radius:9px;font-size:15px}.dashboard-stat strong{font-size:21px;line-height:25px}.dashboard-stat:last-child{grid-column:1/-1}.stats-heading h2,.dashboard-shortcuts h2{font-size:19px}}
.bottom-nav{height:74px;background:rgba(255,255,255,.96);gap:6px;box-shadow:0 -8px 28px #10182812;backdrop-filter:blur(12px)}.nav-item{border-radius:12px;gap:2px;text-decoration:none;transition:.18s}.nav-item::before{content:'•';width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#f2f4f7;color:#667085;font-size:19px;line-height:1;font-weight:700}.nav-item[data-page="dashboard"]::before{content:'⌂'}.nav-item[data-page="members"]::before{content:'♙'}.nav-item[data-page="orders"]::before{content:'▤'}.nav-item[data-page="capital"]::before{content:'¥'}.nav-item[data-page="tokens"]::before{content:'◇'}.nav-item small{font-size:11px;line-height:14px}.nav-item.active{color:#155eef;background:#eff8ff;font-weight:700}.nav-item.active::before{background:#155eef;color:#fff;box-shadow:0 3px 8px #155eef35}.nav-item:active{transform:scale(.96)}
.order-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px}.order-tabs button{white-space:nowrap;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 14px;color:var(--muted);cursor:pointer}.order-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.modal-form{display:grid;gap:13px}.modal-form label{display:grid;gap:6px;font-weight:700;color:#344054}.modal-form input,.modal-form select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fff}
.order-filter{align-items:center}.order-list{display:grid;gap:14px;margin-top:14px}.order-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--card)}.order-goods{padding:12px 0;color:var(--ink);font-size:14px;border-bottom:1px solid var(--line)}.order-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}.order-actions button{padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);cursor:pointer}.order-actions .primary{background:#155eef;border-color:#155eef;color:#fff}.order-actions .danger{background:#fff4f2;border-color:#e7a39a;color:#b23b2c}.status-good{color:#16805a}.status-warn{color:#ad6a00}.status-info{color:#3467b1}.status-muted{color:#8a8f98}.detail-list{display:grid;gap:10px}.detail-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.detail-list span{color:var(--muted)}.detail-list b{text-align:right;word-break:break-all}@media(max-width:720px){.order-card{padding:13px}.order-filter select,.order-filter input{min-width:0;flex:1 1 45%}.order-actions{justify-content:stretch}.order-actions button{flex:1}.detail-list>div{display:block}.detail-list b{display:block;text-align:left;margin-top:4px}}
.nav-item{font-size:0}.nav-item small{font-size:11px}
.bottom-nav .nav-item{display:flex;flex:1;max-width:130px;min-width:0;height:60px;align-items:center;justify-content:center;flex-direction:column;line-height:1;gap:3px;padding:2px 4px}.bottom-nav .nav-item::before{flex:0 0 30px}.bottom-nav .nav-item small{display:block;white-space:nowrap;line-height:14px;text-align:center}
.not-found{min-height:100vh;display:grid;place-content:center;text-align:center;background:#f8fafc;color:#101828}.not-found strong{font-size:72px;line-height:1}.not-found p{color:#667085;font-size:16px}
