.admin-page { min-height: 100vh; padding: var(--space-md); padding-bottom: calc(var(--space-xl) + var(--safe-bottom)); } .admin-login { max-width: 360px; margin: 80px auto 0; } .admin-login__title { font-size: 22px; font-weight: 700; text-align: center; margin-bottom: var(--space-xl); } .admin-login .form-field { margin-bottom: var(--space-lg); } .admin-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-lg); padding-top: var(--space-md); } .admin-header__title { font-size: 20px; font-weight: 700; } .admin-actions { display: flex; gap: var(--space-sm); margin-bottom: var(--space-md); flex-wrap: wrap; } .admin-actions .btn { flex: 1; min-width: 120px; font-size: 14px; min-height: 40px; } .submission-card { background: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-md); margin-bottom: var(--space-md); box-shadow: var(--shadow-sm); border-left: 3px solid var(--color-primary); } .submission-card__time { font-size: 12px; color: var(--color-text-muted); margin-bottom: var(--space-sm); } .submission-card__row { font-size: 14px; margin-bottom: 4px; } .submission-card__row strong { color: var(--color-text-secondary); font-weight: 500; } .submission-card__desc { font-size: 13px; color: var(--color-text-muted); margin-top: var(--space-sm); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .admin-empty { text-align: center; padding: var(--space-xl); color: var(--color-text-muted); } .qr-page { padding: var(--space-lg) var(--space-md); text-align: center; max-width: 400px; margin: 0 auto; } .qr-page__title { font-size: 20px; font-weight: 700; margin-bottom: var(--space-sm); } .qr-page__desc { font-size: 14px; color: var(--color-text-secondary); margin-bottom: var(--space-xl); } .qr-canvas-wrap { display: inline-block; padding: var(--space-md); background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); margin-bottom: var(--space-lg); } .qr-url-box { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-md); font-size: 12px; word-break: break-all; text-align: left; margin-bottom: var(--space-md); color: var(--color-text-secondary); } .qr-actions { display: flex; flex-direction: column; gap: var(--space-sm); } .qr-note { margin-top: var(--space-xl); font-size: 12px; color: var(--color-text-muted); line-height: 1.6; text-align: left; }