:root{--accent:#00ffff;--bg:#065565;--text:#fff;--card-bg:rgba(0,0,0,.6);--cookie-bg:rgba(0,0,0,.85)}
body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text);border:2px solid var(--accent);min-height:100vh;overflow-x:hidden;position:relative}
.hidden{display:none}
p{text-align:center;margin-top:20px;margin-bottom:10px}
.sidenav{height:100%;width:0;position:fixed;z-index:1;top:0;left:0;background-color:#065565;overflow-x:hidden;transition:.5s;padding-top:60px}
.sidenav a{padding:8px 8px 8px 28px;text-decoration:none;font-size:25px;color:#fff;display:block;transition:.3s}
.sidenav a:hover{color:#f85356}
.sidenav .closebtn{position:absolute;top:0;right:48px;font-size:36px;margin-left:50px}
.header-bar{position:fixed;top:0;left:0;right:0;margin:auto;text-align:center;background:#000;color:var(--accent);padding:12px;font-size:28px;cursor:pointer;z-index:9999}
#overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}
.spinner{width:30px;height:30px;border:5px solid rgba(255,255,255,0.2);border-top:5px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#bottom-alert{font-weight:700;font-size:16px;color:#fff;margin-top:18px}
#offline-overlay{position:fixed;inset:0;background:#000;color:#f55;font-size:22px;font-weight:700;text-align:center;justify-content:center;align-items:center;z-index:10001;display:none}
#error-banner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000;border:2px solid #000;padding:8px 12px;white-space:nowrap;color:#ff0000;font-weight:700;font-size:16px;z-index:10002;display:none}
.main{padding:10px 12px 50px}
.card{background:var(--card-bg);border-radius:12px;padding:12px;margin-bottom:16px;box-shadow:0 0 12px rgba(0,0,0,.7)}
.card-header{display:flex;justify-content:space-between;font-weight:700;margin-bottom:8px}
.day-title{color:var(--accent);text-align:center;font-size:20px;font-weight:700;margin:10px 0 12px}
.footer{position:fixed;bottom:0;left:0;right:0;text-align:center;background:#000;color:var(--accent);padding:8px 0;border-top:2px solid var(--accent);z-index:1000}
#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--cookie-bg);color:#fff;padding:12px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:14px;border-top:2px solid var(--accent);z-index:11000}
canvas{max-width:100%}
input[type=date]{padding:4px 6px;border-radius:4px;border:1px solid var(--accent);background:#000;color:var(--accent)}
