*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial;background:#f4f6fb;color:#17223b}
aside{position:fixed;left:0;top:0;bottom:0;width:245px;background:#101426;padding:18px 11px;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;color:white;font-weight:800;font-size:18px;padding:4px 8px 22px}
.logo,.big-logo{display:grid;place-items:center;background:linear-gradient(145deg,#ed1b3a,#5a4bdb);color:white;font-weight:900;border-radius:14px}
.logo{width:46px;height:46px}.brand small{font-size:10px;color:#acb5ce}
aside a{display:block;color:#e2e7f4;text-decoration:none;padding:12px 14px;border-radius:8px;margin:3px 0}
aside a:hover{background:#252b48}main{margin-left:245px;padding:28px}.muted{color:#6d7890}
.cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px}
.card,.panel{background:#fff;border:1px solid #dfe5ef;border-radius:14px;padding:18px;box-shadow:0 7px 24px rgba(22,38,70,.05)}
.card span{color:#6d7890}.card b{display:block;font-size:23px;margin-top:8px}.panel{margin-top:18px;overflow:auto}
table{border-collapse:collapse;width:100%;min-width:900px}th,td{text-align:left;padding:11px;border-bottom:1px solid #e6eaf1;vertical-align:top}
th{background:#eff3f9;color:#526078}button,.button{display:inline-block;background:#ed1b3a;color:white;border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none}
button.danger{background:#a30f2d}.secondary{background:#eaf3ff;color:#0968d8}.inline-form{display:flex;gap:10px;flex-wrap:wrap}
input,select{padding:10px;border:1px solid #cbd4e2;border-radius:8px;min-width:180px}code{background:#101426;color:white;padding:5px 7px;border-radius:6px;word-break:break-all}
.status{display:inline-block;padding:4px 8px;border-radius:20px}.status.pending{background:#fff1d9;color:#925f00}
.status.key_generated{background:#e4f8ee;color:#087a45}.status.rejected{background:#ffe4e9;color:#9b1230}
.reject{margin-top:8px;display:flex;gap:6px}.reject input{min-width:130px}
.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#fff0f3,#edf4ff)}
.login-card{background:white;width:min(440px,92vw);padding:30px;border-radius:20px;box-shadow:0 28px 80px rgba(24,38,75,.18)}
.big-logo{width:72px;height:72px;font-size:25px;margin:auto}.login-card h1,.login-card p{text-align:center}
.login-card label{display:block;font-weight:700;margin-top:12px}.login-card input{width:100%;display:block;margin-top:6px}.login-card button{width:100%;margin-top:18px}
.error{background:#ffe4e9;color:#9b1230;padding:10px;border-radius:8px;margin:12px 0}
@media(max-width:950px){aside{position:static;width:100%}main{margin:0}.cards{grid-template-columns:1fr 1fr}}
