@font-face{font-family:BVP;font-weight:400;src:url(assets/fonts/bvp-Regular.woff2)}
@font-face{font-family:BVP;font-weight:600;src:url(assets/fonts/bvp-SemiBold.woff2)}
@font-face{font-family:BVP;font-weight:700;src:url(assets/fonts/bvp-Bold.woff2)}
@font-face{font-family:BVP;font-weight:800;src:url(assets/fonts/bvp-ExtraBold.woff2)}
:root{--up:#5EF2B5;--dn:#FF7A6B;--tq:#42CAD7;--teal:#0C7A87;--gold:#FFD27A;--mut:rgba(255,255,255,.66);--mut2:rgba(255,255,255,.45);--ln:rgba(255,255,255,.14)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:BVP,sans-serif;background:#073A45;color:#fff;-webkit-font-smoothing:antialiased;min-height:100vh}
.scr{position:relative;overflow:hidden;flex:none;background:linear-gradient(162deg,#0E8C99 0%,#0C7A87 22%,#0A4F5C 58%,#073A45 100%);isolation:isolate}
.mob{width:390px;height:844px;border-radius:0}.desk{width:1440px;height:900px}
.blob{position:absolute;border-radius:50%;filter:blur(60px);z-index:-1;pointer-events:none}
.b1{width:340px;height:340px;background:#42CAD7;opacity:.55;top:-90px;right:-110px}
.b2{width:300px;height:300px;background:#5EF2B5;opacity:.22;top:380px;left:-150px}
.b3{width:280px;height:280px;background:#42CAD7;opacity:.35;bottom:-60px;right:-60px}
.desk .b1{width:620px;height:620px;top:-220px;right:-160px}.desk .b2{width:520px;height:520px;top:420px;left:-200px}.desk .b3{width:480px;height:480px;bottom:-200px;right:380px}
.grain{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.07),transparent 40%),radial-gradient(circle at 80% 70%,rgba(66,202,215,.12),transparent 45%)}
.gl{background:rgba(255,255,255,.11);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);border:1px solid rgba(255,255,255,.22);box-shadow:0 10px 32px rgba(0,24,32,.28),inset 0 1px 0 rgba(255,255,255,.18);border-radius:20px}
.gl2{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:14px}
.sb{display:flex;justify-content:space-between;align-items:center;height:46px;padding:0 26px 0 30px;font-weight:700;font-size:15px}
.sb .r{display:flex;gap:6px;align-items:center;font-size:12px}.bat{border:1.5px solid rgba(255,255,255,.8);border-radius:4px;padding:0 4px;font-size:10px;font-weight:800}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:3px 8px;border-radius:99px;background:rgba(255,210,122,.18);color:var(--gold);border:1px solid rgba(255,210,122,.4)}
.tag.est{background:rgba(94,242,181,.14);color:var(--up);border-color:rgba(94,242,181,.4)}
.hd{padding:2px 18px 8px;display:flex;justify-content:space-between;align-items:flex-start}
.hd h1{font-size:28px;font-weight:800;letter-spacing:-.3px;line-height:1.15}.hd .sub{font-size:15px;color:var(--mut);font-weight:700}
.ib{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ibs{display:flex;gap:0;border-radius:99px;padding:0 4px}.ibs .ib{width:44px}
.seg{display:flex;padding:4px;border-radius:14px;gap:2px}.seg div{flex:1;text-align:center;font-size:12.5px;font-weight:700;padding:7px 0;border-radius:10px;color:var(--mut)}
.seg div.on{background:rgba(255,255,255,.24);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.25)}
.pill{display:inline-block;min-width:66px;text-align:center;font-weight:800;font-size:13px;padding:4px 8px;border-radius:8px;color:#06333B}
.pill.up{background:var(--up);color:#06333B}.pill.dn{background:var(--dn);color:#fff}.pill.nt{background:rgba(255,255,255,.25);color:#fff}
.up{color:var(--up)}.dn{color:var(--dn)}.mut{color:var(--mut)}.mut2{color:var(--mut2)}
.tb{position:absolute;left:12px;right:12px;bottom:14px;height:66px;border-radius:26px;display:flex;justify-content:space-around;align-items:center;z-index:5}
.tb div{text-align:center;font-size:10.5px;font-weight:700;color:var(--mut);width:68px;padding:6px 0;border-radius:18px}.tb svg{display:block;margin:0 auto 3px}
.tb .on{color:#fff;background:rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--ln)}.row:last-child{border-bottom:0}
.row .nm{flex:1;min-width:0}.row .nm b{display:block;font-size:15.5px;font-weight:800}.row .nm span{font-size:11.5px;color:var(--mut)}
.row .vl{text-align:right;width:104px}.row .vl b{display:block;font-size:15px;font-weight:700;margin-bottom:3px}
.kv{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.kv div{display:flex;justify-content:space-between;font-size:12.5px;padding:7px 0;border-bottom:1px solid var(--ln)}
.kv div span{color:var(--mut)}.kv div b{font-weight:700}
.ct{font-size:13.5px;font-weight:800;margin-bottom:2px}.cs{font-size:11px;color:var(--mut)}
.lg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--mut)}.lg i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.sheet{position:absolute;left:0;right:0;bottom:0;border-radius:30px 30px 0 0;z-index:6}
.grab{width:38px;height:5px;border-radius:3px;background:rgba(255,255,255,.4);margin:8px auto 0}
.dim{position:absolute;inset:0;background:rgba(3,25,31,.45);z-index:4}
.foot{font-size:10px;color:var(--mut2);text-align:center}
.lt{display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 8px currentColor}
.lt.g{background:#5EF2B5;color:#5EF2B5}.lt.y{background:#FFD27A;color:#FFD27A}.lt.r{background:#FF7A6B;color:#FF7A6B}
.chk{width:20px;height:20px;border-radius:6px;border:1.5px solid rgba(255,255,255,.5);display:inline-flex;align-items:center;justify-content:center;flex:none}
.chk.on{background:var(--up);border-color:var(--up);color:#06333B;font-weight:900;font-size:13px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:16px;font-weight:800;font-size:15px}
.btn.pri{background:linear-gradient(180deg,#6FF5C0,#3FD9A0);color:#05343A;box-shadow:0 8px 22px rgba(63,217,160,.35)}
svg text{font-family:BVP,sans-serif}
.dnav{width:232px;padding:22px 16px;display:flex;flex-direction:column;gap:4px;position:absolute;left:16px;top:16px;bottom:16px;border-radius:24px}
.dnav .it{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;font-weight:700;font-size:14px;color:var(--mut)}.dnav .it.on{background:rgba(255,255,255,.2);color:#fff}
.dmain{position:absolute;left:264px;right:16px;top:16px;bottom:16px}

#g27 .row{padding:7px 0}#g27 .row .nm b{font-size:15px}
.cmp>div{gap:2px!important;font-size:11px!important}
/* ================= SPA layout (app.html) ================= */
html,body{background:#073A45}
#app{position:relative;min-height:100vh;background:linear-gradient(162deg,#0E8C99 0%,#0C7A87 22%,#0A4F5C 58%,#073A45 100%);isolation:isolate;overflow:hidden}
#app .blob{position:fixed}#app .grain{position:fixed}
#app.D .b1{width:620px;height:620px;top:-220px;right:-160px}#app.D .b2{width:520px;height:520px;top:420px;left:-200px}#app.D .b3{width:480px;height:480px;bottom:-200px;right:380px}
#app.M .b1{width:300px;height:300px;top:-90px;right:-80px}#app.M .b2{width:280px;height:280px;top:380px;left:-120px}#app.M .b3{width:260px;height:260px;bottom:-60px;right:-60px}
#app.D .dnav{position:fixed;overflow:auto}
#app.D .dnav .it{cursor:pointer;padding:8px 12px;font-size:13.5px}
#app.D .dnav .grp{font-size:10.5px;font-weight:800;letter-spacing:.8px;color:rgba(255,255,255,.5);margin:10px 12px 2px}
#app.D .dnav .it .n{margin-left:auto;background:#FF7A6B;color:#fff;font-size:10.5px;border-radius:99px;padding:1px 7px}
#app.D .dmain{position:relative;left:auto;right:auto;top:auto;bottom:auto;margin-left:264px;padding:16px 16px 24px 0;min-height:100vh}
#app.M{max-width:560px;margin:0 auto;padding-bottom:96px}
#app.M .tb{position:fixed;left:50%;transform:translateX(-50%);width:min(366px,calc(100% - 24px));bottom:14px}
#app.M .tb div{cursor:pointer}
#app.M .sheet{position:fixed;max-width:560px;margin:0 auto;overflow:auto}
#app .dim{position:fixed}
[data-go]{cursor:pointer}
.dh{display:flex;align-items:center;gap:12px;min-height:56px;margin-bottom:14px}
.dh .t{font-size:26px;font-weight:800;letter-spacing:-.3px}
.chipbar{display:flex;gap:6px;overflow-x:auto;padding:2px 14px 10px;scrollbar-width:none}
.chipbar a,.chipbar div{flex:none;padding:7px 12px;border-radius:99px;font-size:12px;font-weight:800;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.8);white-space:nowrap}
.chipbar .on{background:#fff;color:#0A4F5C}
.bd{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:800;white-space:nowrap;border:1px solid transparent}
.bd.ok{background:rgba(94,242,181,.18);color:#5EF2B5;border-color:rgba(94,242,181,.35)}
.bd.wn{background:rgba(255,210,122,.16);color:#FFD27A;border-color:rgba(255,210,122,.35)}
.bd.dn{background:rgba(255,122,107,.16);color:#FF9C90;border-color:rgba(255,122,107,.4)}
.bd.tq{background:rgba(127,231,240,.15);color:#7FE7F0;border-color:rgba(127,231,240,.35)}
.bd.mt{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.2)}
.bd.vi{background:rgba(185,167,255,.16);color:#CFC3FF;border-color:rgba(185,167,255,.35)}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.3px;color:rgba(255,255,255,.6);padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.18);white-space:nowrap}
.tbl td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:middle}
.tbl .r,.tbl th.r{text-align:right}.tbl tr.sel td{background:rgba(255,255,255,.12)}.tbl tr.tot td{font-weight:800;border-top:1px solid rgba(255,255,255,.3);border-bottom:none}
.tbl tr[data-go]:hover td{background:rgba(255,255,255,.08)}
.bar{height:10px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}.bar i{display:block;height:100%;border-radius:6px}
.lr{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.1);font-size:13px}.lr:first-child{border-top:none}
.ico{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;background:rgba(255,255,255,.14)}
.cnt{display:flex;align-items:center;gap:6px}.cnt span{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:8;border-radius:26px;background:rgba(10,70,82,.72)!important}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.5px}
.calg{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calg .c{border-radius:12px;padding:6px 7px;min-height:58px;font-size:11px;line-height:1.3;border:1px solid rgba(255,255,255,.14)}
.calg .h{font-size:11px;font-weight:800;color:rgba(255,255,255,.6);text-align:center}
.swt{width:40px;height:24px;border-radius:99px;background:rgba(255,255,255,.2);position:relative;flex:none}.swt::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff}
.swt.on{background:#2FBF8F}.swt.on::after{left:19px}
.mbar{display:flex;align-items:center;gap:10px;padding:8px 16px 10px}
#app.D .tbl td,#app.D .tbl th{white-space:nowrap}#app.D .tbl td .cs{white-space:nowrap}
#app.M .kv{grid-template-columns:1fr!important}
#app.M .calg{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}#app.M .calg .c{min-height:44px;border-radius:9px}
#app.M .tbl{width:100%;table-layout:auto}#app.M .tbl th,#app.M .tbl td{padding:7px 3px;font-size:11.5px}#app.M .tbl td:first-child,#app.M .tbl th:first-child{padding-left:0}#app.M .tbl td:last-child,#app.M .tbl th:last-child{padding-right:0}
