:root{--deep:#052e22;--leaf:#8fe3a2;--lemon:#f6f8b0;--ink:#eefbe9;--mute:#b5d6bf;--glass:rgba(255,255,255,.08);--line:rgba(255,255,255,.16);--loss:#ffb4a2;--grad:linear-gradient(135deg,#8fe3a2,#f6f8b0);color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;color:var(--ink);font-family:"Sora","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;background:var(--deep);background-image:linear-gradient(135deg,#052e22 0%,#0f5a3c 50%,#2f8f5b 100%);background-attachment:fixed;line-height:1.5}
.wrap{max-width:1100px;margin:0 auto;padding:20px 16px 48px}
header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
h1{margin:0;font-size:clamp(1.4rem,4vw,2rem);font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{margin:0;color:var(--mute);font-size:.9rem}
select,input,button{font:inherit;color:inherit}
select,input{background:rgba(5,46,34,.55);border:1px solid var(--line);border-radius:12px;padding:11px 12px;width:100%;outline:none}
select option{color:#052e22}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--lemon);outline-offset:1px}
.hbtn{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hbtn select{width:auto}
.ghost{border:1px solid var(--line);background:var(--glass);padding:10px 14px;border-radius:12px;color:var(--ink);text-decoration:none;font-size:.9rem}
.card{background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:18px;backdrop-filter:blur(8px)}
.tabs{display:flex;gap:6px;background:rgba(5,46,34,.5);padding:5px;border-radius:14px;margin-bottom:14px}
.tabs button,.seg button{flex:1;border:0;background:transparent;padding:10px 6px;border-radius:10px;cursor:pointer;color:var(--mute);font-weight:600}
.tabs button.on,.seg button.on{background:var(--grad);color:var(--deep)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.nav button{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--glass);cursor:pointer;font-size:1.1rem}
.nav strong{text-align:center;font-size:1.05rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.stat{padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--glass)}
.stat small{color:var(--mute);display:block}.stat b{font-size:clamp(1.1rem,3.2vw,1.7rem);display:block;word-break:break-word}
.stat.net{background:linear-gradient(135deg,rgba(143,227,162,.9),rgba(246,248,176,.92));color:var(--deep);border:0}
.stat.net small{color:#1d5a3f}.stat.net.loss b{color:#8a2a14}
.grid{display:grid;gap:16px;grid-template-columns:1fr 340px;grid-template-areas:"chart form" "list form"}
.chart{grid-area:chart}.list{grid-area:list}.form{grid-area:form;align-self:start;position:sticky;top:16px}
h2{margin:0 0 12px;font-size:1.05rem}
.bars{display:flex;align-items:flex-end;gap:3px;height:150px}
.bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:0}
.pair{display:flex;align-items:flex-end;gap:1px;width:100%;height:120px}
.pair i{flex:1;border-radius:4px 4px 0 0;min-height:2px}.pair .in{background:var(--leaf)}.pair .out{background:var(--lemon);opacity:.85}
.bar span{font-size:.65rem;color:var(--mute);height:16px;line-height:16px}
.key{display:flex;gap:14px;font-size:.8rem;color:var(--mute);margin-top:8px}.key i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}
.seg{display:flex;gap:6px;background:rgba(5,46,34,.5);padding:5px;border-radius:12px;margin-bottom:12px}
label{display:block;font-size:.85rem;color:var(--mute);margin:10px 0 4px}
.add{width:100%;margin-top:16px;border:0;border-radius:14px;padding:13px;background:var(--grad);color:var(--deep);font-weight:700;cursor:pointer}
.item{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.item:first-of-type{border-top:0}
.dot{width:10px;height:10px;border-radius:50%;flex:none}.item .t{flex:1;min-width:0}
.item .t b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .t small{color:var(--mute)}
.amt{font-weight:700;white-space:nowrap}.amt.in{color:var(--leaf)}.amt.out{color:var(--lemon)}
.del{border:0;background:transparent;color:var(--mute);cursor:pointer;font-size:1.2rem;padding:4px 8px}
.empty{color:var(--mute);padding:18px 0;text-align:center}
.msg{color:var(--loss);font-size:.9rem;min-height:1.2em;margin:8px 0 0}.ok{color:var(--leaf);font-size:.9rem}
.auth{max-width:420px;margin:8vh auto 0;width:calc(100% - 32px);padding:26px}
.auth h1{font-size:1.6rem}.auth h2{margin:6px 0 10px;color:var(--ink)}
.alt{text-align:center;color:var(--mute);font-size:.9rem;margin:16px 0 0}.alt a{color:var(--lemon)}
input.pin{text-align:center;font-size:1.6rem;letter-spacing:.5em}
@media(max-width:820px){.grid{grid-template-columns:1fr;grid-template-areas:"form" "chart" "list"}.form{position:static}.stats{grid-template-columns:1fr 1fr}.stat.net{grid-column:1/-1}}
@media(max-width:380px){.stats{grid-template-columns:1fr}}
.logo{height:44px;width:auto;max-width:160px;object-fit:contain;display:block}.brand{display:flex;align-items:center;gap:12px}.auth .logo{margin:0 auto 10px}.auth h1{text-align:center}.auth h2{text-align:center}
