:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#08111e;color:#e9f7fc}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 80% 0%,#103044 0%,#08111e 50%)}main{max-width:980px;margin:0 auto;padding:5vw 24px}.login{max-width:440px;margin:11vh auto;padding:32px;background:#0b2233;border:1px solid #1b4353;border-radius:22px;box-shadow:0 30px 90px #0007}.brand{font-size:19px;font-weight:900;letter-spacing:2px}.brand span{color:#22d3ee}.sub{font-size:11px;letter-spacing:2px;color:#22d3ee;font-weight:800}h1{font-size:clamp(25px,4vw,36px);margin:35px 0 8px}p{color:#92bbcc;line-height:1.6}label{display:block;margin-top:22px;font-weight:650;color:#cfeaf2}input:not([type=hidden]){display:block;width:100%;margin-top:10px;padding:14px;color:white;background:#091724;border:1px solid #315264;border-radius:11px;font-size:16px}input:focus{outline:2px solid #22d3ee}button{cursor:pointer;background:#22d3ee;color:#062333;border:0;border-radius:10px;padding:14px 22px;font-weight:800;margin-top:24px}button:hover{background:#67e8f9}.outline{margin:0;background:transparent;border:1px solid #477181;color:#b8dce6}small{display:block;margin-top:30px;color:#7eabba}.error{margin-top:20px;padding:12px;background:#4e1f2a;border:1px solid #ff7f8c;border-radius:8px}.dashboard header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #23485a;padding-bottom:20px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:36px}article{padding:24px;background:#0c2536;border:1px solid #1c4859;border-radius:16px}article h2{margin:0}article span{color:#65dcef;font-size:12px}

.login.wide{width:min(520px,calc(100% - 32px));margin:auto}.login .muted{color:#97b6c5}.login .help{line-height:1.6;font-size:14px}.login .success{background:#0d3d3d;border:1px solid #277f76;border-radius:10px;padding:13px;color:#baf9e9}.login a{color:#22d3ee}.login .actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap} .login input{width:100%}
