:root{
  --bg:#07111f;
  --panel:#101b31;
  --panel2:#15233d;
  --line:#293a5c;
  --text:#eef3ff;
  --muted:#9ba9c5;
  --accent:#80aaff;
  --accentText:#091426;
  --ok:#4ad58b;
  --warn:#f0c34f;
  --bad:#ff7b7b;
  --badBg:#57282e;
  --shadow:0 10px 28px rgba(0,0,0,.22);
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.45;padding-bottom:92px}
button,input,select{font:inherit}
button{cursor:pointer}
.topbar{max-width:980px;margin:0 auto;padding:26px 24px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand.compact{justify-content:center;margin-bottom:12px}
.brand-icon{width:48px;height:48px;border-radius:12px;flex:0 0 auto}.brand h1{font-size:26px;margin:0;white-space:nowrap}.brand p,.brand small{display:block;margin:1px 0 0;color:var(--muted);font-size:14px}
.top-actions{display:flex;align-items:center;gap:10px}.local-pill{display:inline-flex;align-items:center;gap:7px;padding:12px 14px;background:#0e3048;border-radius:22px;color:#9be5be;font-weight:800;font-size:14px}.dot{width:9px;height:9px;background:#84dfb0;border-radius:50%}
.app-shell{max-width:980px;margin:0 auto;padding:0 24px}.view{display:none}.view.active{display:block}h2{font-size:24px;margin:26px 0 14px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.notice,.panel,.calc-box{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;color:#d4def2}.notice.subtle{color:#bac7df}.panel{margin:0}.calc-box{display:flex;align-items:center;justify-content:space-between;gap:12px}.calc-box span{color:var(--muted)}.calc-box strong{font-size:20px}
.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;min-height:112px}.metric span{display:block;color:var(--muted);font-size:16px}.metric strong{display:block;font-size:30px;margin-top:5px;letter-spacing:-.02em}.metric small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.ok{color:var(--ok)!important}.bad-text{color:var(--bad)!important}.warn-text{color:var(--warn)!important}
.primary,.secondary,.danger,.file-btn{border-radius:14px;padding:13px 18px;border:1px solid transparent;font-weight:700;display:inline-flex;align-items:center;justify-content:center;min-height:48px}.primary{background:var(--accent);color:var(--accentText)}.secondary,.file-btn{background:var(--panel2);color:var(--text);border-color:var(--line)}.danger{background:var(--badBg);color:#ffd8db;border-color:#68343b}.small{min-height:38px;padding:8px 12px;font-size:13px}.wide{width:100%}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.file-btn input{display:none}.install-btn{padding:12px 16px}.hidden{display:none!important}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line);background:var(--panel);margin-top:14px}.data-table{width:100%;border-collapse:collapse;min-width:560px}.data-table th,.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}.data-table th{color:var(--muted);background:var(--panel2)}.data-table tr:last-child td{border-bottom:0}.data-table input{width:84px;margin:0}
.badge{display:inline-block;border-radius:999px;padding:4px 10px;font-weight:800;font-size:12px}.badge.ok{background:#123b2b;color:#8ff0ba}.badge.warn{background:#453914;color:#ffe38a}.badge.bad{background:#482226;color:#ffb5bb}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{display:block;color:var(--muted);font-size:14px}input,select{width:100%;background:#0d172a;border:1px solid var(--line);color:var(--text);border-radius:14px;padding:14px 16px;margin-top:7px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(128,170,255,.16)}.full{grid-column:1/-1}.form-section{display:contents}.form-msg{min-height:20px;font-size:13px;margin-top:3px}.form-msg.error{color:var(--bad)}.helper{color:var(--muted);font-size:13px;margin:10px 2px 0}
.card-list{display:grid;gap:12px}.book-card,.position-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.card-title{font-size:18px;font-weight:800}.card-sub{color:var(--muted);font-size:13px;margin-top:2px}.money{font-weight:800;font-size:18px}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:12px}.mini-grid div{font-size:13px}.mini-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:2px}.book-card details{margin-top:12px}.book-card summary{color:var(--accent);cursor:pointer;font-weight:700}.trade-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.result-box{text-align:right}.result-box span{display:block;color:var(--muted);font-size:10px;font-weight:600;margin-bottom:2px}.result-formula{margin-top:14px}.capital-summary{margin-top:14px}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;background:rgba(7,17,31,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:center;z-index:50;padding:max(10px,env(safe-area-inset-bottom)) 12px}.nav-btn{border:0;background:transparent;color:#aeb8cc;padding:12px 18px;border-radius:15px;font-size:17px;min-width:88px}.nav-btn.active{background:#182744;color:#fff}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:90;background:#1c2b48;color:#fff;border:1px solid #385079;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);max-width:min(90vw,520px);text-align:center}.lock-overlay{position:fixed;inset:0;background:rgba(3,8,16,.96);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.lock-card{width:min(92vw,420px);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.lock-card p{color:var(--muted)}
@media(max-width:720px){
  .topbar{padding:24px 24px 14px;align-items:flex-start}.brand h1{font-size:24px}.brand p{font-size:13px}.brand-icon{width:44px;height:44px}.top-actions{flex-direction:column;align-items:stretch}.local-pill{padding:9px 12px;justify-content:center}.install-btn{padding:10px 12px;min-height:42px}
  .app-shell{padding:0 24px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{padding:16px;min-height:104px}.metric strong{font-size:27px}.metric span{font-size:14px}h2{font-size:22px}
  form{grid-template-columns:1fr}.full{grid-column:auto}.nav-btn{min-width:0;flex:1;padding:11px 5px;font-size:16px}.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){.bottom-nav .nav-btn{font-size:13px;padding-left:3px;padding-right:3px}}
@media(max-width:420px){.topbar,.app-shell{padding-left:18px;padding-right:18px}.brand h1{font-size:22px}.brand p{max-width:170px}.top-actions{gap:7px}.summary-grid{gap:10px}.metric{padding:14px;min-height:100px}.metric strong{font-size:25px}.notice{padding:16px}.bottom-nav{padding-left:8px;padding-right:8px}}
