/* Shared styling for the DO Spaces uploader pages. */

body {
  background: linear-gradient(180deg, #f2f6fc 0%, #f7f8fa 100%);
  min-height: 100vh;
}

.app-card {
  border: 0;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(16, 39, 84, 0.08);
}

.brand {
  font-weight: 700;
  letter-spacing: .2px;
  color: #123;
  display: flex;
  align-items: center;
  gap: 8px;
}
.brand-dot {
  width: 12px; height: 12px; border-radius: 50%;
  background: linear-gradient(135deg, #2a7de1, #0b5cd6);
  display: inline-block;
}

/* ---- upload page ---- */
.upload-wrap { max-width: 760px; margin: 6vh auto; padding: 0 12px; }

#dropzone {
  border: 2px dashed #b6c3d4;
  border-radius: 12px;
  padding: 42px 20px;
  text-align: center;
  color: #6c757d;
  background: #fff;
  transition: .15s;
}
#dropzone.dragover { border-color: #0d6efd; background: #eef4ff; color: #0d6efd; }
.dz-icon { font-size: 2rem; }

/* ---- admin ---- */
.admin-wrap { max-width: 1000px; margin: 3vh auto; padding: 0 12px; }

.navbar-admin {
  background: #10233f;
  border-radius: 12px;
  padding: .65rem 1rem;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 8px 24px rgba(16, 39, 84, .18);
}
.navbar-admin .brand { color: #fff; }
.navbar-admin a { text-decoration: none; }

.badge-status-active  { background: #d1e7dd; color: #0f5132; }
.badge-status-expired { background: #e2e3e5; color: #41464b; }
.badge-status-revoked { background: #f8d7da; color: #842029; }

.table-links td, .table-links th { vertical-align: middle; }
.code-cell { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; }

.login-wrap { max-width: 420px; margin: 14vh auto; padding: 0 12px; }
