/* Live administration surface, shown only to an authenticated administrator. */
.menu-entry[hidden], [data-route="admin"][hidden] { display: none !important; }
.admin-page { padding: clamp(16px, 1.5vw, 28px); max-width: 1400px; color: #dce6e5; }
.admin-page header h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(25px, 2vw, 38px); }
.admin-page header p { color: #9dabaf; margin: .35rem 0 1rem; }
.admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: 18px; }
.admin-card { background: #111a1e; border: 1px solid #384648; border-radius: 10px; padding: clamp(15px, 1.4vw, 23px); margin: 0 0 18px; }
.admin-card h2 { margin: 0 0 .55em; font-size: clamp(17px, 1.25vw, 23px); }
.admin-card p, .admin-card li { color: #aebec0; line-height: 1.5; }
.admin-form { display: grid; gap: 12px; margin-top: 15px; max-width: 530px; }
.admin-form label { display: grid; gap: 6px; color: #e5eded; font-weight: 600; }
.admin-form input { width: 100%; box-sizing: border-box; min-height: 40px; border-radius: 6px; border: 1px solid #5b7171; padding: 9px 11px; background: #080d0f; color: #fff; }
.admin-form button { justify-self: start; background: #a27b36; border: 1px solid #c4a261; color: #081114; border-radius: 6px; font-weight: 800; cursor: pointer; padding: 10px 17px; }
.admin-form button:disabled { opacity: .55; cursor: wait; }
.admin-form .admin-grant { background: #d0a651; }
.admin-confirm { margin-top: 15px; border: 1px solid #6a603f; background: #1b211e; border-radius: 7px; padding: 12px; }
.admin-confirm p { margin: .2rem 0 .6rem; }
.admin-message { min-height: 1.4em; margin-bottom: 10px; color: #f0af9d; }
.admin-message.success { color: #9fd3ae; }
.admin-audit ol { padding-left: 1.6em; }
.admin-audit li { margin: 8px 0; }
.admin-audit li b { color: #ebede9; display: block; }
.admin-audit li span { color: #829497; font-size: .85em; }
