:root { color-scheme: dark; font-family: "IBM Plex Sans", "Segoe UI", sans-serif; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; color: #f8fafc; background: radial-gradient(circle at top, rgba(255, 222, 173, 0.28), transparent 28%), linear-gradient(145deg, #101827 0%, #18253d 52%, #0f172a 100%); } .login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; } .login-panel { width: min(480px, 100%); padding: 28px; border-radius: 28px; background: rgba(15, 23, 42, 0.58); border: 1px solid rgba(255, 255, 255, 0.12); box-shadow: 0 24px 80px rgba(2, 6, 23, 0.42); backdrop-filter: blur(24px); } .login-panel-wide { width: min(760px, 100%); } .login-panel-admin { width: min(1180px, 100%); } .login-panel-top { margin-bottom: 24px; } .login-kicker { margin: 0 0 12px; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: #cbd5e1; } .login-panel h1 { margin: 0 0 10px; font-size: 36px; line-height: 1.05; } .login-copy { margin: 0; color: #dbe5f1; line-height: 1.5; } .login-actions { display: grid; gap: 12px; margin-bottom: 24px; } .login-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 16px; border-radius: 14px; text-decoration: none; font-weight: 700; border: 0; cursor: pointer; font: inherit; } .login-button-primary { color: #082032; background: linear-gradient(180deg, #a7f3d0, #6ee7b7); } .login-button-secondary { color: #f8fafc; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.12); } .login-button-disabled { color: #cbd5e1; background: rgba(255, 255, 255, 0.08); border: 1px dashed rgba(255, 255, 255, 0.18); } .login-button-danger { color: #fff1f2; background: linear-gradient(180deg, #fb7185, #e11d48); } .login-form { display: grid; gap: 18px; } .login-form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); } .login-field { display: grid; gap: 8px; } .login-field span { font-size: 13px; color: #cbd5e1; } .login-field input, .login-field textarea { width: 100%; min-height: 48px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, 0.14); background: rgba(15, 23, 42, 0.52); color: #f8fafc; font: inherit; } .login-field textarea { min-height: 120px; resize: vertical; } .login-field-span-2 { grid-column: span 2; } .login-notice { margin-bottom: 18px; padding: 16px 18px; border-radius: 18px; border: 1px solid rgba(255, 255, 255, 0.12); } .login-notice strong { display: block; margin-bottom: 6px; } .login-notice p { margin: 0; line-height: 1.5; } .login-notice-success { background: rgba(20, 83, 45, 0.45); } .login-notice-error { background: rgba(127, 29, 29, 0.4); } .login-notice-info { background: rgba(30, 41, 59, 0.5); } .login-list { margin: 0; padding-left: 18px; } .login-list li + li { margin-top: 6px; } .login-meta-inline { margin-top: 8px !important; font-size: 0.92rem; color: #cbd5e1; } .login-meta { display: grid; gap: 14px; margin: 0; } .admin-layout { display: grid; gap: 24px; grid-template-columns: 320px minmax(0, 1fr); } .admin-sidebar h2, .admin-summary h2 { margin-top: 0; } .admin-request-list { display: grid; gap: 10px; max-height: 70vh; overflow: auto; } .admin-request-card { display: grid; gap: 6px; padding: 14px; border-radius: 16px; text-decoration: none; color: inherit; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.08); } .admin-request-card.is-active { border-color: rgba(167, 243, 208, 0.56); background: rgba(16, 185, 129, 0.12); } .admin-request-card span { color: #cbd5e1; font-size: 0.92rem; } .admin-status { display: inline-flex; width: fit-content; padding: 4px 10px; border-radius: 999px; color: #e2e8f0 !important; background: rgba(255, 255, 255, 0.12); } .admin-detail { min-width: 0; } .admin-summary { margin-bottom: 20px; } .admin-summary p { margin: 0 0 10px; line-height: 1.5; } .login-pre { margin: 12px 0 0; padding: 14px; border-radius: 14px; overflow: auto; background: rgba(2, 6, 23, 0.65); color: #dbeafe; } @media (max-width: 900px) { .admin-layout { grid-template-columns: 1fr; } } @media (max-width: 640px) { .login-form-grid { grid-template-columns: 1fr; } .login-field-span-2 { grid-column: auto; } } .login-meta div { display: grid; gap: 4px; } .login-meta dt { font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; color: #94a3b8; } .login-meta dd { margin: 0; color: #e2e8f0; word-break: break-word; }