*{box-sizing:border-box}body{margin:0;background:#081019;color:#eef5f7;font:16px Arial,sans-serif}button,input,select,textarea{font:inherit}button,.primary-link{border:0;border-radius:9px;background:linear-gradient(135deg,#ff397f,#a93ee8);color:#fff;padding:11px 16px;font-weight:700;cursor:pointer;text-decoration:none}.secondary{background:#152534!important;border:1px solid #304354!important;color:#dce6eb!important}#sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#0c1722;border-right:1px solid #203040;padding:18px 11px;z-index:10;display:flex;flex-direction:column}.brand{height:58px;display:flex;align-items:center;gap:11px;padding:0 8px 15px}.brand>b,.logo{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#ff397f,#a93ee8);display:grid;place-items:center;box-shadow:0 0 20px #ff397f55}.brand span,.brand small{display:block;font-weight:bold}.brand small{color:#8094a4;font-size:.7rem;margin-top:2px}nav{display:grid;gap:4px;margin-top:12px}nav button{background:transparent;text-align:left;color:#9bafbd;padding:12px}nav button.active,nav button:hover{background:#182837;color:white}nav i{font-style:normal;display:inline-block;width:30px}.logout{margin-top:auto;color:#93a7b5;text-decoration:none;padding:12px}main{margin-left:245px}header{height:76px;border-bottom:1px solid #1e2e3d;display:flex;align-items:center;padding:0 25px;position:sticky;top:0;background:#09131de8;z-index:5}header small{color:#7e93a3;text-transform:uppercase;font-size:.67rem;letter-spacing:.1em}header h1{margin:4px 0 0;font-size:1.25rem}.month{margin-left:auto;color:#91a5b4;font-size:.8rem}.month input{margin-left:8px;color-scheme:dark;background:#13222f;border:1px solid #304252;color:white;padding:8px;border-radius:8px}#menu{display:none}#content{padding:24px;max-width:1500px;margin:auto}.quick,.page-head>div{display:flex;gap:8px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:18px 0}.metrics.four{grid-template-columns:repeat(4,1fr)}.metric,.card,.table{background:#0f1b26;border:1px solid #203244;border-radius:14px}.metric{padding:17px;min-height:95px}.metric span{display:block;color:#8399a9;font-size:.8rem}.metric b{display:block;margin-top:12px;font-size:1.3rem}.metric.green{border-top:2px solid #39e6a8}.metric.pink{border-top:2px solid #ff5f87}.metric.blue{border-top:2px solid #42bdf5}.metric.yellow{border-top:2px solid #ffd166}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.card{padding:18px}.card h3{margin:0 0 18px}.low{display:flex;justify-content:space-between;border-top:1px solid #21303c;padding:13px 0}.low span{color:#ff758d;font-size:.8rem}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-head h2{font-size:1.1rem}.table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:750px}th{text-align:left;background:#13222e;color:#8398a8;font-size:.72rem;text-transform:uppercase;padding:13px}td{padding:13px;border-top:1px solid #1d2c39;color:#cad6dc;font-size:.84rem}.actions{white-space:nowrap}.actions button{padding:6px 10px;background:#172837}.actions .del{color:#ff718e}.pill{padding:4px 8px;border-radius:15px;background:#17372f;color:#42dfaa;font-size:.7rem;white-space:nowrap}.pill.danger{background:#3b1d29;color:#ff819a}.notice{padding:13px;background:#302915;border:1px solid #62511d;color:#f4d86d;border-radius:9px}.pos{color:#3fe0aa}.neg{color:#ff718e}.empty{text-align:center;color:#7890a0;padding:25px}dialog{padding:0;border:1px solid #304352;border-radius:15px;background:#0d1924;color:white;width:min(700px,calc(100% - 24px));max-height:90vh}dialog::backdrop{background:#000b}#entryForm{padding:22px;position:relative}#entryForm h2{margin:0 0 20px}.close{position:absolute;right:14px;top:12px;background:transparent;font-size:1.5rem;padding:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.login-card label{display:grid;gap:6px;color:#aabac5;font-size:.8rem}.form-grid input,.form-grid select,.form-grid textarea,.login-card input{width:100%;background:#12212d;border:1px solid #304353;color:white;border-radius:8px;padding:10px;min-height:42px}.form-grid .full{grid-column:1/-1}.form-grid textarea{min-height:70px}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto!important}#entryForm footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}#toast{position:fixed;right:20px;bottom:20px;background:#152a37;border:1px solid #365064;padding:14px 20px;border-radius:10px;transform:translateY(100px);opacity:0;transition:.2s;z-index:50}#toast.show{transform:none;opacity:1}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 20%,#25162e,#081019 48%)}.login-card{width:min(400px,100%);padding:30px;background:#0e1a25;border:1px solid #26394a;border-radius:18px;display:grid;gap:15px;box-shadow:0 25px 70px #0008}.login-card .logo{margin:auto}.login-card h1,.login-card p{text-align:center;margin:0}.login-card p{color:#8da2b1}.login-card button{margin-top:6px}.login-card.installer{width:min(720px,100%)}.two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.error,.warning{padding:12px;border-radius:8px;background:#3d1b27!important;color:#ff9bad!important;text-align:left!important}.warning{margin-top:10px!important}.primary-link{text-align:center}@media(max-width:1000px){.metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){#sidebar{transform:translateX(-100%);transition:.2s}#sidebar.open{transform:none}main{margin-left:0}#menu{display:block;margin-right:12px;padding:8px 11px}.month{font-size:0}.metrics,.metrics.four{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}#content{padding:14px}.form-grid,.two{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.page-head{align-items:flex-start;gap:10px}.metric b{font-size:1.05rem}}

/* Keep every navigation entry reachable on short screens and mobile. */
#sidebar{height:100vh;height:100dvh;overflow:hidden}
#sidebar .brand{flex-shrink:0}
#sidebar #nav{flex:1;min-height:0;overflow-y:auto;align-content:start;scrollbar-gutter:stable;overscroll-behavior:contain;padding-bottom:12px}
#sidebar .logout{flex-shrink:0;margin-top:10px}
#sidebar #nav button{min-height:44px}
