*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#172033;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0}.login{min-height:100vh;display:grid;place-items:center}
.login[hidden]{display:none!important}.login-card{width:380px;background:#fff;padding:38px;border:1px solid #e5e9f0;border-radius:18px;box-shadow:0 20px 60px #17203312}.logo{width:44px;height:44px;border-radius:12px;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:22px;font-weight:800}.login h1{margin:18px 0 6px}.login p{color:#7b8799;margin-bottom:25px}.login input,.login select,.login-card button,.dialog-actions button{width:100%;padding:12px;border:1px solid #dce2ea;border-radius:9px;margin:6px 0}.login-card button,#clock,.actions>button,.dialog-actions button:last-child{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:700}.login #loginError{color:#dc2626;font-size:13px;margin-top:8px}aside{position:fixed;inset:0 auto 0 0;width:240px;background:#111827;color:#cbd5e1;padding:22px 14px;display:flex;flex-direction:column}.brand{color:#fff;font-weight:750;font-size:18px;padding:4px 10px 28px}.brand b{background:#2563eb;padding:7px 10px;border-radius:9px;margin-right:9px}nav button{display:block;width:100%;padding:12px;border-radius:9px;background:none;color:#aeb8c8;text-align:left;margin:3px 0}nav button.active,nav button:hover{background:#1f2937;color:#fff}.side-bottom{margin-top:auto;border-top:1px solid #293241;padding-top:15px}.side-bottom span{display:block;margin-bottom:12px;font-size:13px}.side-bottom button{background:none;color:#aeb8c8}main{margin-left:240px;padding:32px 42px;max-width:1400px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}header h2{margin:0;font-size:27px}header p{margin:5px 0;color:#7b8799;font-size:13px}.hero{background:linear-gradient(120deg,#172554,#2563eb);color:#fff;border-radius:18px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center}.hero small{opacity:.7;letter-spacing:2px}.hero #timer{font-size:42px;font-weight:750;margin:4px 0}.hero p{margin:0;opacity:.8}.hero button{padding:14px 18px;border-radius:9px;background:#fff;color:#1d4ed8;font-weight:750}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.cards>div,.panel{background:#fff;border:1px solid #e5e9f0;border-radius:14px;padding:20px}.cards small{color:#7b8799}.cards strong{display:block;font-size:24px;margin-top:8px}.panel-head,.actions{display:flex;justify-content:space-between;align-items:center}.panel-head h3,.actions h2{margin:0}.panel-head button{background:none;color:#2563eb;font-weight:650}.actions{margin-bottom:20px}.actions h2{font-size:23px}.actions p{margin:4px 0;color:#7b8799;font-size:13px}.actions>button{padding:11px 15px;border-radius:9px}.row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;padding:14px 0;border-bottom:1px solid #edf0f4;gap:10px}.row small{color:#7b8799}.badge{background:#dcfce7;color:#15803d;padding:5px 8px;border-radius:20px;font-size:12px;width:max-content}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{min-height:80px;border:1px solid #edf0f4;border-radius:8px;padding:8px}.day b{font-size:13px}.day span{display:block;color:#64748b;font-size:11px;margin-top:8px}.day.today{border:2px solid #2563eb;background:#eff6ff}.user-row{display:grid;grid-template-columns:1.5fr 1.5fr .7fr .7fr .7fr;gap:10px;padding:14px 0;border-bottom:1px solid #edf0f4;align-items:center}.modal-head{}.dialog-actions{display:flex;gap:8px}.dialog-actions button{margin-top:10px}.dialog-actions button:first-child{background:#fff;color:#334155}.page[hidden],#app[hidden]{display:none}.page{display:block}dialog{border:0;border-radius:15px;padding:0;width:400px;box-shadow:0 25px 80px #0003}dialog::backdrop{background:#0f172a66}dialog form{padding:22px}dialog input,dialog select{width:100%;padding:11px;margin:6px 0;border:1px solid #dce2ea;border-radius:8px}dialog h3{margin-top:0}@media(max-width:800px){aside{width:70px}.brand{font-size:0;text-align:center}.brand b{margin:0}nav button{font-size:0;text-align:center}nav button:first-letter{font-size:20px}.side-bottom span{display:none}main{margin-left:70px;padding:20px}.cards{grid-template-columns:1fr 1fr}.hero{align-items:flex-start;gap:18px;flex-direction:column}.row,.user-row{grid-template-columns:1fr 1fr}.calendar .day{min-height:55px}}@media(max-width:520px){.cards{grid-template-columns:1fr}.login-card{width:calc(100% - 30px)}}
