* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, sans-serif; background: #f8fafc; color: #0f172a; }
a { text-decoration: none; color: inherit; }
.login-body { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.login-card, .form-card { width: 100%; max-width: 460px; background: #fff; border: 1px solid #e2e8f0; border-radius: 24px; padding: 32px; box-shadow: 0 20px 60px rgba(15, 23, 42, .08); }
.brand { font-size: 30px; font-weight: 800; letter-spacing: -1px; }
.brand span { color: #2563eb; }
.subtitle { color: #64748b; margin-bottom: 28px; }
label { display: block; margin: 16px 0 8px; font-weight: 700; }
input, textarea { width: 100%; padding: 14px; border: 1px solid #cbd5e1; border-radius: 12px; font-size: 16px; background: #fff; }
textarea { min-height: 110px; resize: vertical; }
button, .primary-link { display: inline-block; margin-top: 22px; width: 100%; padding: 15px; border: 0; border-radius: 14px; background: #2563eb; color: white; font-size: 16px; font-weight: 800; cursor: pointer; text-align: center; }
.small { margin-top: 24px; font-size: 13px; color: #64748b; text-align: center; }
.sidebar { position: fixed; left: 0; top: 0; bottom: 0; width: 260px; padding: 28px; background: #fff; border-right: 1px solid #e2e8f0; }
.side { font-size: 24px; margin-bottom: 34px; }
nav a { display: block; padding: 14px 16px; border-radius: 12px; margin-bottom: 8px; color: #334155; font-weight: 700; }
nav a.active, nav a:hover { background: #eff6ff; color: #2563eb; }
.content { margin-left: 260px; padding: 48px; }
header h1 { margin: 0; font-size: 36px; }
header p { color: #64748b; }
.grid { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 18px; margin: 32px 0; }
.card { background: #fff; border: 1px solid #e2e8f0; border-radius: 22px; padding: 24px; }
.card span { color: #64748b; font-weight: 700; }
.card strong { display: block; font-size: 32px; margin: 14px 0 6px; }
.card small { color: #64748b; }
.highlight { border-color: #2563eb; }
.status { margin-top: 16px; font-weight: 700; color: #16a34a; }
@media (max-width: 800px) { .sidebar { position: static; width: 100%; } .content { margin-left: 0; padding: 24px; } .grid { grid-template-columns: 1fr; } }
