* { box-sizing: border-box; } :root { color: #e5e7eb; background: #111827; font-family: system-ui, sans-serif; } body { margin: 0; } .page { min-height: 100vh; padding: 24px; } .auth-card { max-width: 640px; margin: 10vh auto; } .card { padding: 24px; border: 1px solid #374151; border-radius: 16px; background: #1f2937; box-shadow: 0 16px 40px #0004; } .topbar { max-width: 1200px; margin: 0 auto 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; } .topbar strong { display: block; font-size: 1.25rem; } .topbar .muted { display: block; margin-top: 4px; } .grid { max-width: 1200px; margin: 0 auto 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; } .dashboard > .card { max-width: 1200px; margin: 0 auto; } form { display: grid; gap: 16px; } label { display: grid; gap: 6px; color: #d1d5db; } input, select { padding: 11px 12px; border: 1px solid #4b5563; border-radius: 8px; color: #f9fafb; background: #111827; } button { padding: 11px 14px; border: 0; border-radius: 8px; color: white; background: #2563eb; cursor: pointer; } button:hover { background: #1d4ed8; } button.danger { background: #b91c1c; margin-top: 8px; } button.link { margin-top: 16px; padding: 0; background: transparent; color: #93c5fd; } .message { max-width: 1200px; margin: 0 auto 16px; color: #fbbf24; } .muted { color: #9ca3af; } .items { display: grid; gap: 12px; } .item { display: grid; gap: 5px; padding: 14px; border: 1px solid #374151; border-radius: 10px; background: #111827; } .item span { color: #d1d5db; font-size: .9rem; } .form-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; } @media (max-width: 640px) { .form-row { grid-template-columns: 1fr; } .topbar { align-items: flex-start; flex-direction: column; } }