*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f5f7fb;color:#172033}input,button{font:inherit}.auth{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#edf3ff,#f8fafc)}.auth-card{width:min(430px,92%);background:#fff;border:1px solid #e5e9f2;border-radius:20px;padding:32px;box-shadow:0 24px 70px #17203316}.logo{display:flex;gap:12px;align-items:center;margin-bottom:28px}.logo>b,.brand>b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#1d4ed8;color:#fff}.logo strong,.brand strong{display:block}.logo small,.brand small{display:block;color:#7b879b;font-size:11px;margin-top:3px}.auth h1{margin:0 0 6px;font-size:28px}.muted,.hint{color:#78849a;font-size:13px}.auth form{margin-top:25px}.auth label{display:block;font-size:13px;font-weight:700;margin:14px 0 7px}.auth input{width:100%;border:1px solid #dce2ec;border-radius:10px;padding:12px;outline:none}.btn{border:1px solid #d8deea;background:#fff;border-radius:9px;padding:10px 14px;cursor:pointer}.primary{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.full{width:100%;margin-top:20px}.alert{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;padding:11px;border-radius:9px;margin-top:18px;font-size:13px}.hidden{display:none}.layout{display:flex;min-height:100vh}.side{width:245px;background:#0f1726;color:#b7c3d6;padding:20px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 25px;color:#fff}.side nav{display:grid;gap:4px}.side nav a{padding:12px;border-radius:9px;color:#b7c3d6;text-decoration:none;font-size:14px}.side nav a.active,.side nav a:hover{background:#1a2639;color:#fff}.logout{margin-top:auto;padding:12px;color:#b7c3d6;text-decoration:none}.main{flex:1;padding:30px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.top h1{margin:0 0 5px;font-size:28px}.user{background:#fff;border:1px solid #e3e8f0;border-radius:30px;padding:9px 13px;font-size:12px}.panel{background:#fff;border:1px solid #e3e8f0;border-radius:14px;padding:21px}.json{background:#0d1420;color:#d7e1f2;border-radius:10px;padding:15px;overflow:auto}@media(max-width:700px){.side{width:70px}.side .brand div:last-child,.side nav span,.logout{display:none}.main{padding:18px}}
