:root { color-scheme: dark; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; color: #f8fafc; background: radial-gradient(circle at 18% 84%, rgba(142, 214, 119, 0.22), transparent 18%), linear-gradient(0deg, rgba(14, 27, 19, 0.28), rgba(14, 27, 19, 0.28)), linear-gradient(135deg, #26442b 0%, #355939 26%, #5f4a2f 58%, #22351f 100%); } .login-shell { min-height: 100vh; display: grid; place-items: start center; padding: 170px 24px 30px; position: relative; } .login-shell::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0.10), transparent 16%), radial-gradient(circle at center, transparent 24%, rgba(7, 13, 8, 0.18) 100%); pointer-events: none; } .login-panel { width: min(420px, 100%); position: relative; z-index: 1; padding: 0; border-radius: 0; background: transparent; border: 0; box-shadow: none; backdrop-filter: none; } .login-panel-wide { width: min(460px, 100%); } .login-panel-admin { width: min(1180px, 100%); padding: 28px; border-radius: 28px; background: rgba(9, 18, 12, 0.34); border: 1px solid rgba(255, 255, 255, 0.08); box-shadow: 0 24px 80px rgba(2, 6, 23, 0.42); backdrop-filter: blur(16px); } .login-panel-top { margin-bottom: 18px; text-align: center; } .login-kicker { margin: 0 0 12px; font-size: 0.76rem; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(248, 250, 252, 0.84); font-weight: 700; } .login-panel h1 { margin: 0 0 10px; font-size: 2.2rem; line-height: 1.05; font-weight: 400; } .login-copy { margin: 0; color: rgba(248, 250, 252, 0.9); line-height: 1.5; } .login-actions { display: grid; gap: 12px; margin-bottom: 0; } .login-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 18px; border-radius: 999px; text-decoration: none; font-weight: 700; border: 0; cursor: pointer; font: inherit; transition: transform 160ms ease, filter 160ms ease; } .login-button-primary { color: #082f49; background: linear-gradient(180deg, #7dd3fc, #0ea5e9); box-shadow: 0 14px 30px rgba(14, 165, 233, 0.22); } .login-button-secondary { color: #f8fafc; background: rgba(248, 250, 252, 0.18); border: 1px solid rgba(248, 250, 252, 0.16); backdrop-filter: blur(8px); } .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-button:hover { transform: translateY(-1px); filter: brightness(1.03); } .login-form { display: grid; gap: 12px; } .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: 0.88rem; color: rgba(248, 250, 252, 0.94); } .login-field input, .login-field textarea { width: 100%; min-height: 48px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.10); background: rgba(213, 223, 193, 0.54); color: #f8fafc; font: inherit; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); backdrop-filter: blur(9px); outline: none; } .login-field textarea { min-height: 120px; resize: vertical; padding: 14px 18px; border-radius: 18px; } .login-field input::placeholder, .login-field textarea::placeholder { color: rgba(248, 250, 252, 0.82); } .login-field input:focus, .login-field textarea:focus { border-color: rgba(255, 255, 255, 0.26); background: rgba(213, 223, 193, 0.62); color: #111827; } .login-field input:not(:placeholder-shown), .login-field textarea:not(:placeholder-shown) { background: rgba(213, 223, 193, 0.62); color: #111827; } .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.08); color: rgba(248, 250, 252, 0.94); backdrop-filter: blur(10px); } .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.34); } .login-notice-error { background: rgba(127, 29, 29, 0.24); } .login-notice-info { background: rgba(9, 18, 12, 0.34); } .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-shell { padding: 110px 14px 24px; } .login-panel, .login-panel-wide { width: 100%; } .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; }