:root{font-family:Inter,Arial,sans-serif;color:#172b42;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}header{background:#123b63;color:white;padding:18px 4%;display:flex;justify-content:space-between;align-items:center}header small{opacity:.8}header a{color:white}main{max-width:1150px;margin:34px auto;padding:0 20px}h1{margin-bottom:4px}.muted{color:#708197}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:24px 0}.cards article,.modules a{background:white;padding:22px;border-radius:12px;box-shadow:0 5px 20px #163b5b0b}.cards span{display:block;color:#63758a}.cards strong{display:block;font-size:32px;margin-top:12px;color:#123b63}.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.modules a{color:#123b63;text-decoration:none;font-weight:700}.modules small{display:block;color:#718198;margin-top:8px;font-weight:400}.notice{margin-top:24px;padding:14px;background:#fff4d9;border-radius:9px;color:#785400}.login{min-height:100vh;display:grid;place-items:center;background:#eef3f9}.login-card{width:min(420px,92vw);background:white;padding:34px;border-radius:18px;box-shadow:0 15px 50px #123b6320}.login-card h1{color:#123b63}.login-card label{display:block;margin:14px 0 6px}.login-card input{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:8px}.login-card button{margin-top:20px;width:100%;padding:13px;border:0;border-radius:8px;background:#123b63;color:white;font-weight:bold}.login-card small{display:block;text-align:center;margin-top:20px;color:#728197}.alert{background:#fee2e2;color:#991b1b;padding:10px;border-radius:8px}
