.admin-body{background:#f4f7fb;color:#172033;display:flex;min-height:100vh}.admin-sidebar{width:260px;background:#052b58;color:white;padding:28px;position:sticky;top:0;height:100vh}.admin-sidebar h2{color:white;font-size:28px;margin-bottom:24px}.admin-sidebar a{display:block;color:rgba(255,255,255,.82);padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);font-weight:700}.admin-main{flex:1;padding:34px;max-width:1180px}.admin-card{background:white;border:1px solid #dfe7f1;border-radius:22px;padding:24px;margin-bottom:22px;box-shadow:0 10px 25px rgba(7,59,120,.06)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.admin-table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden}.admin-table th,.admin-table td{padding:14px;border-bottom:1px solid #edf1f7;text-align:left;vertical-align:top}.admin-table th{background:#eef5ff;color:#073b78}.admin-form label{display:block;font-weight:800;margin:14px 0 7px}.admin-form input,.admin-form textarea,.admin-form select{width:100%;border:1px solid #d7e0eb;border-radius:12px;padding:12px;font:inherit;background:white}.admin-form textarea{min-height:120px}.admin-form .small-textarea{min-height:72px}.notice{padding:14px 16px;border-radius:14px;background:#e9f8ef;color:#166534;margin-bottom:18px;font-weight:800}.error{padding:14px 16px;border-radius:14px;background:#fff1f2;color:#9f1239;margin-bottom:18px;font-weight:800}.muted{color:#64748b}.thumb{max-width:180px;border-radius:12px;margin-top:10px}.code-help{font-family:monospace;font-size:13px;background:#f8fafc;padding:12px;border-radius:12px;white-space:pre-wrap}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#052b58,#073b78)}.login-card{width:min(440px,calc(100% - 28px));background:white;border-radius:26px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.22)}@media(max-width:800px){.admin-body{display:block}.admin-sidebar{position:relative;width:auto;height:auto}.admin-main{padding:20px}.admin-table{font-size:14px}}
.admin-help-card{background:#f8fbff;border-style:dashed}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.editor-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-section-title,.repeater-head h2{font-size:22px;margin:30px 0 14px;color:#052b58}.media-field{border:1px solid #e1e8f2;border-radius:18px;padding:14px;background:#fbfdff}.media-current{display:flex;gap:12px;align-items:center;min-height:78px}.media-current img{width:96px;height:72px;object-fit:cover;border-radius:12px;border:1px solid #e1e8f2}.small-btn{padding:8px 12px;font-size:13px;margin-top:8px}.repeater{border-top:1px solid #e6edf6;margin-top:26px;padding-top:10px}.repeater-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.repeater-row{position:relative;border:1px solid #dfe7f1;background:#fff;border-radius:20px;padding:18px;margin:14px 0}.remove-row{border:0;background:#fff1f2;color:#9f1239;border-radius:999px;width:30px;height:30px;font-size:20px;font-weight:900;cursor:pointer;line-height:1;display:inline-grid;place-items:center}.repeater-row>.remove-row{position:absolute;right:12px;top:12px}.form-actions{display:flex;gap:12px;align-items:center;margin-top:28px}.media-modal{position:fixed;inset:0;background:rgba(5,23,46,.68);z-index:9999;display:grid;place-items:center;padding:24px}.media-modal[hidden]{display:none}.media-modal-panel{width:min(980px,100%);max-height:86vh;overflow:auto;background:white;border-radius:24px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.media-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.media-library-grid,.media-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:18px}.media-choice{border:1px solid #dfe7f1;background:#fff;border-radius:16px;padding:8px;text-align:left;cursor:pointer}.media-choice:hover{box-shadow:0 12px 28px rgba(7,59,120,.14);transform:translateY(-1px)}.media-choice img,.media-admin-card img{width:100%;height:110px;object-fit:cover;border-radius:12px;background:#edf2f7}.media-choice span,.media-admin-card small,.media-admin-card code{display:block;margin-top:8px;font-size:12px;overflow:hidden;text-overflow:ellipsis}.media-admin-card{border:1px solid #dfe7f1;border-radius:18px;padding:10px;background:#fff}.media-admin-card code{white-space:nowrap;color:#073b78}.admin-sidebar a[href="media.php"]::after{content:""}
@media(max-width:900px){.editor-grid,.editor-grid.two{grid-template-columns:1fr}.media-current{align-items:flex-start}.form-actions{flex-direction:column;align-items:stretch}}
.row-tools{position:absolute;right:12px;top:12px;display:flex;gap:6px;align-items:center}.move-row{border:0;background:#eef5ff;color:#073b78;border-radius:999px;width:30px;height:30px;font-size:16px;font-weight:900;cursor:pointer;line-height:1;display:inline-grid;place-items:center}.move-row:hover,.remove-row:hover{filter:brightness(.96);transform:translateY(-1px)}.repeater-row{padding-top:54px}.repeater-head .muted{margin:4px 0 0}.partner img.partner-logo{max-width:140px;max-height:76px;object-fit:contain;display:block;margin:0 auto 8px}.event-card-image{width:180px;height:120px;object-fit:cover;border-radius:18px;border:1px solid #e6edf6}@media(max-width:700px){.event-card-image{width:100%;height:180px}.row-tools{position:static;margin-bottom:12px}.repeater-row{padding-top:18px}}
.partner a{color:inherit;text-decoration:none;display:block}.partner span{display:block}.event-card.large-event{align-items:flex-start}

/* Admin contrast fixes: keep admin buttons readable on light cards/backgrounds */
.admin-body .btn,
.login-card .btn {
  text-decoration: none;
  line-height: 1;
}

.admin-body .btn-primary,
.login-card .btn-primary {
  background: #073b78;
  color: #ffffff;
  border: 1px solid #073b78;
  box-shadow: 0 12px 24px rgba(7, 59, 120, 0.22);
}

.admin-body .btn-primary:hover,
.login-card .btn-primary:hover {
  background: #052b58;
  color: #ffffff;
  border-color: #052b58;
}

.admin-body .btn-blue {
  background: #073b78;
  color: #ffffff;
  border: 1px solid #073b78;
}

.admin-body .btn-blue:hover {
  background: #052b58;
  color: #ffffff;
}

.admin-body .btn-outline,
.login-card .btn-outline {
  background: #ffffff;
  color: #073b78;
  border: 1px solid #073b78;
  box-shadow: 0 8px 18px rgba(7, 59, 120, 0.08);
}

.admin-body .btn-outline:hover,
.login-card .btn-outline:hover {
  background: #eef5ff;
  color: #052b58;
  border-color: #052b58;
}

.admin-body .media-field .btn-outline,
.admin-body .repeater-head .btn-outline,
.admin-body .form-actions .btn-outline,
.admin-body .media-admin-card .btn-outline {
  background: #073b78;
  color: #ffffff;
  border-color: #073b78;
}

.admin-body .media-field .btn-outline:hover,
.admin-body .repeater-head .btn-outline:hover,
.admin-body .form-actions .btn-outline:hover,
.admin-body .media-admin-card .btn-outline:hover {
  background: #052b58;
  color: #ffffff;
}

.admin-body .remove-row {
  background: #be123c;
  color: #ffffff;
  border: 1px solid #be123c;
}

.admin-body .remove-row:hover {
  background: #9f1239;
  color: #ffffff;
}

.admin-body .move-row {
  background: #073b78;
  color: #ffffff;
  border: 1px solid #073b78;
}

.admin-body .move-row:hover {
  background: #052b58;
  color: #ffffff;
}

.admin-body .media-choice {
  color: #172033;
}

.admin-body .media-choice:hover {
  border-color: #073b78;
}

.editor-grid.one-col{grid-template-columns:1fr;}
.compact-help{margin-bottom:18px;}
