:root{font-family:system-ui,sans-serif;color:#18313d;background:#f3f6f8;font-size:15px}*{box-sizing:border-box}body{margin:0}header{background:#123444;color:white;padding:22px 5vw;display:flex;align-items:center;gap:24px}header a{font-size:22px;color:white;text-decoration:none;font-weight:750}header span{flex:1;color:#b4cbd4}main{max-width:1200px;margin:auto;padding:32px 24px}h1{font-size:38px;margin:6px 0 22px}h2{font-size:22px}h3{margin:8px 0}button,input,select{font:inherit;border-radius:8px;border:1px solid #c9d6dd;padding:10px 14px}button{cursor:pointer;background:white;color:#163c4b}button:hover{border-color:#16798c}button:disabled{opacity:.5;cursor:wait}.primary{background:#126f80;color:white;border-color:#126f80}.danger{color:#ab3434;margin-left:10px}input,select{display:block;width:100%;margin:5px 0 16px;background:white}label{display:block;color:#45616c}.check{display:flex;align-items:center;gap:10px;margin:16px 0}.check input{width:auto;margin:0}.heading{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#277589}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:26px 0}.card{text-align:left;padding:24px;box-shadow:0 4px 14px #153a4810}.card p{color:#55717c}.badge{font-size:12px;border-radius:20px;padding:5px 10px;background:#e5ebee;color:#526873}.online{background:#d5f0e4;color:#1f6946}.enrollment,.panel{background:white;border:1px solid #dce5ea;border-radius:12px;padding:24px}.enrollment label{max-width:300px}.enrollment strong{letter-spacing:3px;font-size:24px}.login{max-width:520px;margin:40px auto}.login form{background:white;padding:28px;border-radius:12px;border:1px solid #dce5ea}.login p{line-height:1.6;color:#536f7b}nav{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}nav .active{background:#126f80;color:white}.filters,.fields{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.fields label{flex:1;min-width:150px}.filters input{width:auto;margin:0}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:24px 0}.gallery button{padding:0;overflow:hidden}.gallery img{width:100%;height:165px;object-fit:contain;background:#edf1f3}.gallery time{display:block;padding:12px}.modal{position:fixed;inset:0;background:#10252eea;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;z-index:10}.modal img{max-width:100%;max-height:85vh;object-fit:contain}.usage{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 0;border-bottom:1px solid #e8eef1}.usage progress{grid-column:1/3;width:100%;height:10px;accent-color:#12778c}dl{display:grid;grid-template-columns:160px 1fr;gap:16px}dt{color:#5b727b}dd{margin:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 8px;border-bottom:1px solid #e5ecef}article{border-bottom:1px solid #e5ecef;padding:16px 0;overflow-wrap:anywhere}.error{color:#98372f;background:#ffebe8;padding:16px;border-radius:8px}.empty{padding:40px;text-align:center;color:#5c727c}@media(max-width:640px){header span{display:none}main{padding:20px 14px}h1{font-size:30px}.panel{padding:18px}table{font-size:12px}dl{grid-template-columns:110px 1fr}header{padding:18px}}
.hour-chart{display:flex;height:180px;gap:5px;align-items:end}.hour-chart>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center}.hour-chart span{display:block;min-width:70%;background:#168398;border-radius:4px 4px 0 0}.hour-chart small{font-size:10px;margin-top:8px}
