*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#070a12;color:#e9eefc}a{color:#8fb3ff;text-decoration:none}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,rgba(83,80,255,.25),transparent 30%),radial-gradient(circle at 80% 20%,rgba(0,224,255,.12),transparent 28%),linear-gradient(135deg,#080b14,#111827);z-index:-2}.app{display:flex;min-height:100vh}.sidebar{width:260px;padding:28px;background:rgba(10,14,27,.72);border-right:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);position:sticky;top:0;height:100vh}.brand{font-weight:900;letter-spacing:1px;font-size:24px;margin-bottom:35px}.brand span{color:#42e8ff}.sidebar a{display:block;padding:14px 16px;margin:8px 0;border-radius:16px;color:#b9c5df}.sidebar a:hover,.sidebar a.active{background:rgba(77,119,255,.18);color:white}.content{flex:1;padding:34px;max-width:1300px;margin:auto}.content.narrow{max-width:850px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}h1{font-size:34px;margin:0 0 6px}p{color:#94a3b8;margin:0}.btn,button,.small-btn{border:0;background:linear-gradient(135deg,#4f7cff,#36e8ff);color:white;padding:13px 18px;border-radius:16px;font-weight:800;cursor:pointer;box-shadow:0 12px 35px rgba(52,128,255,.25)}.small-btn{background:rgba(255,255,255,.08);box-shadow:none}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat,.panel,.login-card{background:rgba(15,23,42,.72);border:1px solid rgba(255,255,255,.09);border-radius:24px;box-shadow:0 20px 80px rgba(0,0,0,.25);backdrop-filter:blur(18px)}.stat{padding:22px}.stat span{display:block;color:#93a4bd;margin-bottom:9px}.stat strong{font-size:28px}.panel{padding:24px;margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h2,.panel h2{margin:0 0 14px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.weekdays{margin-bottom:10px;color:#93a4bd;text-align:center;font-weight:800}.day{min-height:110px;padding:14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);color:white;transition:.2s}.day:hover{transform:translateY(-3px);border-color:rgba(79,124,255,.7)}.day.trained{background:linear-gradient(135deg,rgba(79,124,255,.34),rgba(54,232,255,.12));border-color:rgba(83,160,255,.45)}.day span,.day small{display:block;margin-top:10px;color:#cfe1ff}.day.empty{opacity:.25}.muted{color:#64748b!important}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid rgba(255,255,255,.08)}th{color:#94a3b8}.table-wrap{overflow:auto}.form label{display:block;color:#cbd5e1;font-weight:700;margin-bottom:16px}.form input,.form textarea,.search input{width:100%;margin-top:8px;padding:15px 16px;border-radius:15px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.06);color:white;outline:none}.form textarea{min-height:110px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.actions{display:flex;gap:12px}.danger{background:linear-gradient(135deg,#ff476f,#a31b36)}.search{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px}.login-body{display:grid;place-items:center;min-height:100vh;overflow:hidden}.login-card{width:min(430px,92vw);padding:34px}.login-card h1{font-size:38px}.login-card input{width:100%;padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:#fff;margin:24px 0 14px}.login-card button{width:100%}.alert{padding:13px;border-radius:14px;margin-top:18px}.error{background:rgba(255,71,111,.15);color:#ffb3c2}.glow{position:fixed;width:330px;height:330px;border-radius:50%;filter:blur(40px);z-index:-1}.glow-a{background:#4f7cff;left:10%;top:12%;opacity:.25}.glow-b{background:#36e8ff;right:12%;bottom:10%;opacity:.18}@media(max-width:900px){.app{display:block}.sidebar{position:relative;width:auto;height:auto}.content{padding:18px}.stats-grid{grid-template-columns:repeat(2,1fr)}.calendar{gap:6px}.day{min-height:86px;padding:10px}.form-grid,.search{grid-template-columns:1fr}.topbar{display:block}.btn{display:inline-block;margin-top:15px}}@media(max-width:560px){.stats-grid{grid-template-columns:1fr}.calendar{font-size:12px}.day{min-height:76px}.sidebar{padding:18px}}
