*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:#07080f;color:#e8eaf0;font-family:Inter,sans-serif;min-height:100vh}#login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(ellipse 70% 40% at 50% 0%,#0d1535,#07080f 65%)}#login-card{background:#0d0f1a;border:1px solid #252a40;border-radius:16px;padding:2.5rem;width:100%;max-width:340px;box-shadow:0 32px 64px #00000080}#login-brand{font-size:.65rem;color:#5a6080;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.4rem}#login-title{font-size:1.25rem;font-weight:700;margin-bottom:1.75rem}#pw-input{width:100%;background:#07080f;border:1px solid #252a40;border-radius:8px;padding:.7rem 1rem;color:#e8eaf0;font-size:.95rem;font-family:Inter,sans-serif;outline:none;transition:border-color .15s}#pw-input:focus{border-color:#38bdf8}#pw-error{color:#f87171;font-size:.8rem;margin-top:.5rem;min-height:1.1rem}#pw-btn{margin-top:1.1rem;width:100%;background:#38bdf8;border:none;border-radius:8px;padding:.7rem;color:#000;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .15s}#pw-btn:hover{opacity:.85}#dashboard{display:none}#dash-header{position:sticky;top:0;z-index:10;background:#07080feb;backdrop-filter:blur(12px);border-bottom:1px solid #1e2235;padding:.7rem 1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}#dash-brand{display:flex;align-items:center;gap:.65rem}#brand-dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 7px #34d399;flex-shrink:0}#brand-name{font-size:.85rem;font-weight:600}#brand-sub{font-size:.67rem;color:#5a6080}#dash-header-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}#header-ts{font-size:.75rem;color:#8895aa}.hbtn{background:#12152a;border:1px solid #252a40;color:#9ca3af;padding:.28rem .75rem;border-radius:6px;font-size:.72rem;font-family:Inter,sans-serif;cursor:pointer;transition:color .15s,border-color .15s}.hbtn:hover{color:#e8eaf0;border-color:#374151}#signout-btn{color:#f87171}#signout-btn:hover{color:#fca5a5;border-color:#7f1d1d}#dash-nav{display:flex;align-items:flex-end;gap:0;padding:0 1.75rem;border-bottom:1px solid #1e2235;background:#07080feb;backdrop-filter:blur(8px)}.dnav-tab{padding:.5rem 1.1rem;margin-bottom:-1px;font-size:.8rem;font-weight:500;color:#5a6080;background:none;border:none;border-bottom:2px solid transparent;font-family:Inter,sans-serif;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.dnav-tab:hover{color:#9ca3af}.dnav-tab.dv-active{color:#e8eaf0;border-bottom-color:#38bdf8}#dash-body{padding:1rem 1.5rem .75rem}.dash-view{display:none}.dash-view.dv-active{display:block}#date-filter{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-bottom:.55rem}.dpreset{padding:.28rem .7rem;border-radius:6px;font-size:.75rem;font-weight:500;border:1px solid #1e2235;background:transparent;color:#5a6080;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.dpreset:hover{color:#9ca3af;border-color:#252a40}.dpreset.active{background:#0c2a3f;border-color:#38bdf8;color:#38bdf8}.df-sep{width:1px;height:16px;background:#1e2235;flex-shrink:0}.df-lbl{font-size:.75rem;color:#8895aa}.df-date{background:#0d0f1a;border:1px solid #252a40;border-radius:5px;padding:.25rem .5rem;color:#e8eaf0;font-size:.72rem;font-family:JetBrains Mono,monospace;outline:none;color-scheme:dark;cursor:pointer}.df-date:focus{border-color:#38bdf8}#df-apply{padding:.27rem .62rem;border-radius:5px;font-size:.72rem;font-weight:600;border:1px solid #38bdf8;background:#0c2a3f;color:#38bdf8;cursor:pointer;font-family:Inter,sans-serif;transition:background .15s}#df-apply:hover{background:#163d56}#df-error{font-size:.7rem;color:#f87171;width:100%;min-height:.85rem;margin-top:-.15rem}#charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}@media(max-width:720px){#charts-grid{grid-template-columns:1fr}}.cp-wide{grid-column:1 / -1}@media(max-width:720px){.cp-wide{grid-column:auto}}.chart-panel{background:#0d0f1a;border:1px solid #1e2235;border-radius:11px;padding:.9rem 1.25rem .75rem;min-width:0}.cp-head{position:relative;display:flex;align-items:center;min-height:2rem;margin-bottom:.75rem}.cp-total{font-size:1.85rem;font-weight:800;letter-spacing:-.03em;line-height:1;order:-1;position:relative;z-index:1}.cp-title{position:absolute;width:100%;text-align:center;pointer-events:none;font-size:.95rem;font-weight:700;color:#e8edf6;letter-spacing:.005em}.chart-outer{display:flex;gap:8px;align-items:flex-start;min-width:0}.y-axis{width:42px;height:110px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;flex-shrink:0;padding-right:4px}.y-tick{font-size:11px;font-weight:500;color:#a8b5c9;font-family:JetBrains Mono,monospace;white-space:nowrap}.chart-scroll{flex:1;overflow-x:auto;min-width:0}.chart-inner{display:flex;align-items:flex-end;gap:3px;height:128px;min-width:100%;position:relative}.bc{flex:1;min-width:8px;display:flex;flex-direction:column;align-items:center;cursor:pointer}.bc:hover .bbar{opacity:.6}.bc-zero{cursor:default}.bc-zero:hover .bbar{opacity:1}.bbar{width:100%;border-radius:2px 2px 0 0;transition:opacity .12s;position:relative;z-index:1}.blbl{font-size:11px;font-weight:500;color:#9ca3af;font-family:JetBrains Mono,monospace;margin-top:3px;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:1}#modal{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;padding:1rem}#modal-overlay{position:absolute;inset:0;background:#000000bf;backdrop-filter:blur(4px)}#modal-panel{position:relative;z-index:1;background:#0d0f1a;border:1px solid #252a40;border-radius:14px;width:100%;max-width:480px;max-height:72vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #000000b3}#modal-head{padding:.9rem 1.25rem;border-bottom:1px solid #1e2235;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;flex-shrink:0}#modal-title{font-size:.88rem;font-weight:600}#modal-date{font-size:.7rem;color:#5a6080;margin-top:.2rem;font-family:JetBrains Mono,monospace}#modal-close{background:none;border:none;color:#6b7280;font-size:1.4rem;cursor:pointer;line-height:1;padding:0 .2rem;flex-shrink:0}#modal-close:hover{color:#e8eaf0}#modal-body{padding:.75rem 1.25rem;overflow-y:auto;flex:1}.md-ev{display:flex;align-items:center;gap:.75rem;padding:.42rem 0;border-bottom:1px solid #12152a}.md-ev:last-child{border-bottom:none}.md-time{color:#5a6080;font-family:JetBrains Mono,monospace;font-size:.72rem;flex-shrink:0;min-width:95px}.md-page{color:#9ca3af;font-size:.78rem}.md-big{font-size:2.25rem;font-weight:700;line-height:1}.md-sub{font-size:.73rem;color:#4b5563;margin-top:.35rem}.empty{font-size:.77rem;color:#4b5563;line-height:1.7}@media(max-width:640px){#login-card{padding:2rem 1.25rem}#dash-header{padding:.55rem 1rem;gap:.5rem}#header-ts,#brand-sub{display:none}.hbtn{padding:.28rem .55rem;font-size:.7rem}#dash-nav{padding:0 1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.dnav-tab{padding:.45rem .9rem;font-size:.76rem}#dash-body{padding:.7rem 1rem .5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}#date-filter{gap:.35rem}.dpreset{padding:.32rem .6rem;font-size:.72rem;min-height:36px}.df-sep{display:none}.df-lbl{font-size:.72rem}.df-date{padding:.28rem .4rem;font-size:.72rem;min-height:36px}#df-apply{padding:.3rem .6rem;font-size:.72rem;min-height:36px}#charts-grid{gap:.6rem}.chart-panel{padding:.7rem .9rem .6rem}.cp-total{font-size:1.55rem}.cp-title{font-size:.85rem}.bc{min-width:10px}#modal{padding:0;align-items:flex-end}#modal-panel{max-width:100%;max-height:85vh;border-radius:18px 18px 0 0;border-left:none;border-right:none;border-bottom:none}#modal-panel:before{content:"";display:block;align-self:center;width:36px;height:4px;border-radius:2px;background:#252a40;margin-top:.65rem;flex-shrink:0}#modal-head{padding:.85rem 1.25rem .75rem}#modal-body{padding:.7rem 1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.md-ev{padding:.55rem 0}.md-time{font-size:.75rem}.md-page{font-size:.82rem}}@media(max-width:380px){#dash-header{padding:.5rem .75rem}#dash-body{padding:.6rem .75rem .5rem}#dash-nav{padding:0 .75rem}}
