:root{font-family:Arial,sans-serif;color:#25216e;background:#f5f5fb;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:#25216e}h1{font-size:28px;line-height:1.2;margin:16px 0}p{margin:12px 0}.brand{font-weight:800;font-size:23px;letter-spacing:.06em;text-decoration:none}.login{width:min(430px,calc(100% - 32px));margin:8vh auto;padding:32px;border:1px solid #ddddea;border-top:4px solid #ff8a00;border-radius:14px;background:#fff;box-shadow:0 8px 32px #25216e0d}.muted,.help{color:#67657e}.help{font-size:14px;margin-top:24px}label{display:block;font-weight:bold;margin:20px 0 6px}input{width:100%;font:inherit;color:#25216e;border:1px solid #bdbdcf;border-radius:7px;padding:10px 12px}input:focus{outline:3px solid #25216e33;border-color:#25216e}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;background:#25216e;color:#fff;border:0;border-radius:7px;padding:9px 20px;font:inherit;font-weight:bold;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#171695}button:focus-visible,a:focus-visible{outline:3px solid #ff8a00;outline-offset:3px}.wide{width:100%;margin-top:24px}.notice{padding:12px 14px;border-left:4px solid #ff8a00;border-radius:4px;background:#fff4e5;color:#5c4300}.topbar{display:flex;align-items:center;gap:20px;padding:16px 24px;background:#25216e;color:#fff}.topbar a{color:#fff}.topbar span{flex:1}.topbar form{margin:0}.topbar button{border:1px solid #fff}.dashboard{max-width:1180px;margin:32px auto;padding:0 24px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:24px 0}.card{display:flex;flex-direction:column;gap:12px;padding:20px;background:#fff;border:1px solid #ddddea;border-top:3px solid #ff8a00;border-radius:10px;text-decoration:none}.card:hover{border-color:#25216e;box-shadow:0 4px 15px #25216e14}.card span{font-size:14px;color:#67657e}@media(max-width:520px){.login{padding:24px}.topbar{padding:12px 16px;gap:12px;flex-wrap:wrap}.topbar span{font-size:14px}.dashboard{padding:0 16px}.cards{grid-template-columns:1fr}}
