/* Modern Admin Theme (targets Cake scaffold markup) */

:root{
  --bgTop: #fffaf5;
  --bgTop2:#fff7ed;
  --pageBg:#f1f5f9;
  --panel:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --border:#e5e7eb;
  --shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  --radius: 8px;

  --primary:#f47a20;
  --primaryHover:#d95f0b;
  --danger:#dc2626;
}

body{
  background: var(--pageBg);
  color: var(--text);
  font-size: 1.68rem;
  line-height: 1.55;
}

/* Layout container */
.admin-container{
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 18px;
}

.admin-content{
  padding: 22px 0 46px;
}

/* Top bar */
.admin-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: linear-gradient(180deg, var(--bgTop), var(--bgTop2));
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.admin-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding: 14px 0;
}

.admin-brand{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width: 160px;
}

.admin-brand a{
  color:#fff;
  font-weight:800;
  letter-spacing:.2px;
  text-decoration:none;
  font-size: 1.32rem;
}

.admin-brand-sub{
  color: rgba(255,255,255,0.75);
  font-size: .88rem;
}

.admin-nav-list{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin:0;
  padding:0;
}

.admin-nav-list li{
  margin:0;
  padding:0;
}

.admin-nav-list a{
  display:inline-flex;
  align-items:center;
  padding: 9px 11px;
  border-radius: 6px;
  color: rgba(255,255,255,0.88);
  text-decoration:none;
  font-weight: 800;
  transition: background 120ms ease, color 120ms ease;
}

.admin-nav-list a:hover{
  background: rgba(255,255,255,0.10);
  color:#fff;
}

.admin-nav-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

/* Buttons (works alongside Milligram) */
.admin-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 16px;
  border-radius: 6px;
  font-weight: 800;
  text-decoration:none;
  border: 1px solid transparent;
}

.admin-btn-primary{
  background: var(--primary);
  border-color: var(--primary);
  color:#fff !important;
}

.admin-btn-primary:hover{
  background: var(--primaryHover);
  border-color: var(--primaryHover);
}

.admin-btn-outline{
  background: transparent;
  border-color: rgba(255,255,255,0.28);
  color: rgba(255,255,255,0.92) !important;
}

.admin-btn-outline:hover{
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.40);
}

/* Page head */
.admin-page-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin: 8px 0 16px;
}

.admin-title{
  margin:0;
  line-height:1.1;
}

.admin-subtitle{
  margin: 6px 0 0;
  color: var(--muted);
}

/* Dashboard cards */
.admin-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:16px;
}

.admin-card{
  grid-column: span 4;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
  text-align: center;
}

.admin-card h3{
  margin: 0 0 8px;
}

.admin-card p{
  margin: 0;
  color: var(--muted);
}

.admin-card-actions{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.admin-card-actions .admin-btn-outline{
  border-color: var(--border);
  color: var(--text) !important;
}
.admin-card-actions .admin-btn-outline:hover{
  background: rgba(2,6,23,0.03);
}

/* Make Cake scaffold pages look like panels */
.content,
.index.content,
.form.content,
.view.content{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
}

/* Scaffold row/side-nav cleanup */
.row{
  display:grid;
  grid-template-columns: 260px 1fr;
  gap: 16px;
}

.side-nav{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 14px;
}

.side-nav .heading{
  margin-top:0;
  color: var(--muted);
  font-weight: 800;
  letter-spacing:.2px;
}

.side-nav-item{
  display:block;
  padding: 10px 10px;
  border-radius: 6px;
  text-decoration:none;
  font-weight: 800;
}

.side-nav-item:hover{
  background: rgba(2,6,23,0.03);
}

/* Tables */
.table-responsive{
  overflow-x:auto;
  border-radius: 6px;
}

table{
  width:100%;
}

table thead th{
  border-bottom: 1px solid var(--border);
  padding-bottom: 10px;
  color:#334155;
  font-size: 1rem;
}

table tbody td{
  border-bottom: 1px solid rgba(229,231,235,0.75);
  padding: 14px 10px;
  vertical-align: top;
}

table tbody tr:hover{
  background: rgba(2,6,23,0.02);
}

/* Float-right buttons used by Cake bake */
.float-right{
  float:none !important;
  margin-left:auto;
}

a.button{
  border-radius: 6px;
  font-weight: 800;
}

/* Paginator */
.paginator{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-top: 16px;
  color: var(--muted);
}

.paginator a{
  text-decoration:none;
  font-weight:800;
}

/* Flash messages */
.message, .flash, #flashMessage{
  border-radius: 6px;
  box-shadow: var(--shadow);
}

/* Responsive */
@media (max-width: 1000px){
  .admin-card{ grid-column: span 6; }
  .row{ grid-template-columns: 1fr; }
}

@media (max-width: 720px){
  .admin-card{ grid-column: span 12; }
  .admin-nav{ align-items:flex-start; }
  .admin-brand{ min-width: unset; }
}

/* Align action links neatly in tables */
td.actions {
  white-space: nowrap;
}

td.actions a,
td.actions form {
  display: inline-block;
  margin-right: 10px;
}

td.actions form {
  margin: 0;
}

td.actions form button,
td.actions form input[type="submit"] {
  background: none;
  border: none;
  padding: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

/* Remove extra spacing on last item */
td.actions a:last-child,
td.actions form:last-child {
  margin-right: 0;
}

/* Danger button (used for destructive actions like Clear Everything) */
.admin-btn-danger{
  background: #b91c1c;
  border-color: #b91c1c;
  color: #fff !important;
}
.admin-btn-danger:hover{
  background: #991b1b;
  border-color: #991b1b;
}

/* Admin polish additions */
.admin-page-actions,
.admin-form-actions,
.admin-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.admin-page-actions{
  justify-content:flex-end;
}

.admin-btn-outline-dark{
  background:#fff;
  border-color: var(--border);
  color: var(--text) !important;
}
.admin-btn-outline-dark:hover{
  background: rgba(2,6,23,0.035);
}

.admin-panel{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
  margin-bottom: 16px;
}

.admin-panel h2,
.admin-panel h3,
.admin-panel h4{
  margin-top: 0;
}

.admin-two-column{
  display:grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap:16px;
  align-items:start;
}

.admin-help-text{
  color: var(--muted);
  margin: 4px 0 12px;
}

.admin-dot{
  color: var(--muted);
  margin: 0 6px;
}

.admin-upload-form label{
  font-weight:800;
  color:#334155;
}

.admin-upload-form select,
.admin-upload-form input[type="file"],
.admin-upload-form input[type="text"],
.admin-upload-form input[type="date"],
.admin-upload-form input[type="time"],
.admin-upload-form input[type="number"],
.admin-upload-form textarea{
  border-radius: 6px;
  border-color: var(--border);
}

.admin-checklist{
  margin: 0;
  padding-left: 20px;
  color:#334155;
}
.admin-checklist li{
  margin-bottom: 10px;
}

.admin-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  padding: 4px 8px;
  border-radius:6px;
  font-size:.88rem;
  font-weight:900;
  letter-spacing:.04em;
  background:#e2e8f0;
  color:#334155;
}
.admin-badge-csv{
  background:#dcfce7;
  color:#166534;
}
.admin-badge-pdf{
  background:#fee2e2;
  color:#991b1b;
}

.admin-file-name{
  font-weight:800;
}
.admin-file-path{
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size:.95rem;
  word-break:break-all;
  margin-top:2px;
}

.admin-empty-state{
  border:1px dashed var(--border);
  border-radius: var(--radius);
  padding: 28px;
  text-align:center;
  color: var(--muted);
  background:#f8fafc;
}
.admin-empty-state h3{
  color: var(--text);
  margin: 0 0 6px;
}
.admin-empty-state p{
  margin:0;
}

.admin-action-link{
  font-weight:800;
  text-decoration:none;
}
.admin-action-danger{
  color:#b91c1c !important;
}

.admin-related-card{
  margin-top:18px;
}
.admin-file-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.admin-file-row{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px;
  background:#f8fafc;
}

@media (max-width: 820px){
  .admin-two-column{
    grid-template-columns: 1fr;
  }
  .admin-page-head{
    flex-direction:column;
  }
  .admin-page-actions{
    justify-content:flex-start;
  }
}

/* Admin identity refresh */
.admin-body{
  background: var(--pageBg);
}

.admin-header{
  box-shadow: 0 12px 34px rgba(2, 6, 23, 0.22);
}

.admin-brand-sub{
  text-transform: uppercase;
  letter-spacing:.12em;
  font-weight:900;
  font-size:.68rem;
}

.admin-nav-list a.is-active,
.admin-nav-list a.is-active:hover{
  background: rgba(239,68,68,0.18);
  color:#fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14);
}

.admin-ribbon{
  background: #fee2e2;
  border-bottom: 1px solid #fecaca;
  color:#7f1d1d;
}

.admin-ribbon-inner{
  display:flex;
  align-items:center;
  gap:10px;
  padding-top: 8px;
  padding-bottom: 8px;
  font-size:1rem;
}

.admin-ribbon strong{
  display:inline-flex;
  align-items:center;
  gap:6px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.74rem;
}

.admin-ribbon strong::before{
  content:"⚠";
}

.admin-title{
  font-weight:900;
  letter-spacing:-.04em;
}

.admin-dashboard-head{
  margin-top: 18px;
}

.admin-card{
  position:relative;
  overflow:hidden;
  text-align:left;
  transition: transform 130ms ease, box-shadow 130ms ease, border-color 130ms ease;
}

.admin-card:hover{
  border-color:#cbd5e1;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.10);
}

.admin-card h3{
  font-weight:900;
}

.admin-card-actions{
  align-items:flex-start;
  flex-direction:row;
  flex-wrap:wrap;
}

.content,
.index.content,
.form.content,
.view.content,
.admin-panel,
.side-nav{
  border-color:#dbe3ef;
}

.index.content > h3,
.view.content > h3,
.form.content > h3{
  font-weight:900;
}

.admin-page-head{
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 18px;
}

.admin-detail-table th{
  width: 180px;
  color: var(--muted);
  font-size:1rem;
  text-transform: uppercase;
  letter-spacing:.05em;
}

.admin-detail-table td{
  font-weight:700;
}

table thead th,
table tr:first-child th{
  text-transform: uppercase;
  letter-spacing:.045em;
  font-size:.88rem;
  color:#64748b;
}

td.actions a,
td.actions button,
td.actions input[type="submit"]{
  font-weight:900 !important;
}

.paginator .pagination{
  margin:0;
}

@media (max-width: 820px){
  .admin-ribbon-inner{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
}

/* Admin tone-down pass */
.admin-title{
  font-size: 4.8rem;
}

.admin-subtitle{
  font-size: 1.85rem;
}

.admin-card h3{
  font-size: 2.35rem;
}

.admin-card p,
.content p,
.index.content,
.form.content,
.view.content,
table tbody td,
.side-nav-item{
  font-size: 1.6rem;
}

.admin-card,
.content,
.index.content,
.form.content,
.view.content,
.admin-panel,
.side-nav{
  border-radius: 8px;
}

.admin-btn,
a.button,
button,
input[type="submit"]{
  border-radius: 6px !important;
}

.admin-card{
  overflow: visible;
}

.admin-card::after{
  display:none;
}

.admin-card:hover{
  transform:none;
}

.admin-ribbon strong::before{
  content:"";
}

.admin-ribbon-inner{
  font-size: 1.05rem;
}

.admin-ribbon strong{
  font-size: .82rem;
}

/* Admin consistency pass */
.admin-ribbon-inner{
  font-size: 1.28rem;
  padding-top: 10px;
  padding-bottom: 10px;
}

.admin-ribbon strong{
  font-size: .98rem;
  letter-spacing: .1em;
}

.admin-ribbon span{
  line-height: 1.35;
}

.admin-muted-small{
  color: var(--muted);
  font-size: 1.35rem;
  margin-top: 2px;
}

.admin-form-panel fieldset{
  border: 0;
  padding: 0;
  margin: 0 0 18px;
}

.admin-form-panel legend{
  font-weight: 900;
  color: var(--text);
  margin-bottom: 12px;
}

.admin-form-panel label,
.form.content label{
  font-weight: 800;
  color: #334155;
}

.admin-form-panel input[type="text"],
.admin-form-panel textarea,
.form.content input[type="text"],
.form.content input[type="date"],
.form.content input[type="time"],
.form.content input[type="number"],
.form.content textarea,
.form.content select{
  border-radius: 6px;
  border-color: var(--border);
  font-size: 1.6rem;
}

.admin-table td.actions a,
.admin-table td.actions button,
.admin-table td.actions input[type="submit"]{
  font-size: 1.55rem;
}


/* Admin final cleanup: consistent dashboard cards and compact table actions */
.admin-grid{
  align-items: stretch;
}

.admin-card{
  display:flex;
  flex-direction:column;
  min-height: 188px;
}

.admin-card p{
  flex: 1 1 auto;
}

.admin-card-actions{
  margin-top:auto;
}

.admin-action-stack{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width: 175px;
}

.admin-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
}

td.actions .admin-action-stack a,
td.actions .admin-action-stack form{
  margin-right:0;
}

.admin-action-secondary a,
.admin-action-secondary button,
.admin-action-secondary input[type="submit"]{
  color: var(--muted) !important;
}

.admin-action-danger,
.admin-action-danger button,
.admin-action-danger input[type="submit"]{
  color: var(--danger) !important;
}

.admin-table-note{
  color: var(--muted);
  font-size: 1.35rem;
  margin-top:4px;
}

.admin-merge-list{
  display:grid;
  gap:14px;
}

.admin-merge-card{
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:14px;
  background:#fff;
}

.admin-merge-card h3{
  margin:0 0 8px;
}

.admin-radio-list label{
  display:block;
  margin-bottom:8px;
}

/* Admin form/page consistency cleanup */
.admin-content-card{
  max-width: 1120px;
  margin: 22px auto 40px;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.admin-bulk-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:14px 0 18px;
}

.admin-merge-card-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}

.admin-detail-list{
  display:grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap:8px 18px;
  margin:0;
  font-size:1.65rem;
}

.admin-detail-list dt{
  color:var(--muted);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:1.2rem;
}

.admin-detail-list dd{
  margin:0;
  color:var(--text);
}

.admin-inline-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.admin-btn-small{
  padding:6px 10px;
  min-height:0;
  font-size:1.35rem;
}

.admin-photo-preview{
  max-width:110px;
  max-height:70px;
  object-fit:cover;
  border-radius:6px;
  border:1px solid var(--border);
}

.admin-photo-table th:first-child,
.admin-photo-table td:first-child{
  width:125px;
}

.admin-muted{
  color:var(--muted);
}

.admin-empty-state-small{
  padding:18px;
  text-align:left;
}

@media (max-width: 760px){
  .admin-content-card{
    margin: 14px;
    padding: 18px;
  }

  .admin-bulk-actions{
    align-items:flex-start;
    flex-direction:column;
  }

  .admin-detail-list{
    grid-template-columns:1fr;
  }
}

.admin-help { color: var(--muted); font-size: 1.45rem; margin-top: -1rem; }
.admin-field-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; align-items:end; }
.admin-pre { background:#f7f9fc; border:1px solid var(--border); border-radius:6px; font-size:1.25rem; max-height:180px; overflow:auto; padding:10px; white-space:pre-wrap; }
.admin-photo-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px; margin:18px 0; }
.admin-photo-card { border:1px solid var(--border); border-radius:8px; padding:12px; }
.admin-photo-card img { border-radius:6px; display:block; height:140px; object-fit:cover; width:100%; }
.admin-link-danger { color:#b4232e; font-weight:800; }
@media (max-width: 850px){ .admin-field-grid { grid-template-columns:1fr; } }

/* Admin authentication / user management */
.admin-user-role{
  color: rgba(255,255,255,.72);
  font-size: 1.05rem;
  white-space: nowrap;
}
.admin-login-body{
  min-height:100vh;
}
.admin-login-main{
  display:flex;
  justify-content:center;
  padding: 64px 18px;
}
.admin-login-card{
  width:min(520px, 100%);
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:28px;
}
.admin-login-card h1{ margin-top:0; }
.mfa-secret-box{
  margin:18px 0;
  padding:16px;
  border:1px solid var(--border);
  background:#f8fafc;
}
.mfa-secret-box code,
.mfa-uri{
  display:block;
  margin-top:8px;
  word-break:break-all;
  font-size:1.25rem;
}

/* Grouped admin navigation and dashboard ----------------------------------- */
.admin-brand-logo {
  display: block;
  height: 34px;
  max-width: 155px;
  object-fit: contain;
  object-position: left center;
  width: auto;
}

.admin-nav-grouped {
  align-items: center;
  flex-wrap: nowrap;
}

.admin-nav-menu {
  position: relative;
}

.admin-nav-menu details {
  margin: 0;
  position: relative;
}

.admin-nav-menu summary {
  border-radius: 6px;
  color: rgba(255,255,255,.88);
  cursor: pointer;
  font-weight: 800;
  list-style: none;
  padding: 9px 11px;
  user-select: none;
}

.admin-nav-menu summary::-webkit-details-marker { display: none; }
.admin-nav-menu summary::after { content: " ▾"; font-size: .9em; opacity: .75; }
.admin-nav-menu summary:hover,
.admin-nav-menu.is-group-active summary,
.admin-nav-menu details[open] summary {
  background: rgba(255,255,255,.10);
  color: #fff;
}

.admin-nav-dropdown {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 6px;
  box-shadow: 0 12px 24px rgba(2, 6, 23, .18);
  left: 0;
  min-width: 180px;
  padding: 6px;
  position: absolute;
  top: calc(100% + 6px);
  z-index: 80;
}

.admin-nav-dropdown a {
  border-radius: 4px;
  color: var(--text) !important;
  display: block;
  padding: 9px 10px;
  white-space: nowrap;
}

.admin-nav-dropdown a:hover {
  background: #eef3f8;
  color: var(--text) !important;
}

.admin-site-link {
  color: #fff;
  font-size: 1.35rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.admin-site-link:hover { color: #fff; text-decoration: underline; }

.admin-grid-groups .admin-group-card {
  display: flex;
  flex-direction: column;
  grid-column: span 6;
  min-height: 290px;
  text-align: left;
}

.admin-group-card-head {
  border-bottom: 1px solid var(--border);
  margin-bottom: 8px;
  padding-bottom: 14px;
}

.admin-group-card-head p { min-height: 0; }
.admin-group-links { display: flex; flex: 1; flex-direction: column; }

.admin-group-row {
  align-items: center;
  border-bottom: 1px solid rgba(229,231,235,.8);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 12px 0;
}
.admin-group-row:last-child { border-bottom: 0; }
.admin-group-row strong { font-size: 1.72rem; }
.admin-inline-actions { display: flex; gap: 8px; }
.admin-inline-actions .admin-btn { min-width: 72px; padding: 8px 13px; }

@media (max-width: 980px) {
  .admin-nav { align-items: flex-start; flex-wrap: wrap; }
  .admin-nav-grouped { flex-wrap: wrap; order: 3; width: 100%; }
  .admin-nav-actions { margin-left: auto; }
}

@media (max-width: 760px) {
  .admin-grid-groups .admin-group-card { grid-column: span 12; min-height: 0; }
  .admin-group-row { align-items: flex-start; flex-direction: column; }
}


/* Hawkeye orange + streamlined admin navigation ---------------------------- */
.admin-header {
  background: linear-gradient(180deg, #fffaf5, #fff7ed);
  border-bottom: 3px solid #f47a20;
  box-shadow: 0 2px 10px rgba(15,23,42,.08);
}
.admin-nav {
  display: grid;
  grid-template-columns: minmax(155px, 190px) minmax(0, 1fr) auto;
  gap: 24px;
  padding: 12px 0;
}
.admin-brand a { color: var(--text); }
.admin-brand-sub { color: #64748b; }
.admin-nav-list {
  align-items: center;
  display: grid;
  grid-template-columns: repeat(5, minmax(max-content, 1fr));
  gap: 8px;
  justify-content: stretch;
  width: 100%;
}
.admin-nav-list > li { text-align: center; }
.admin-nav-list a,
.admin-nav-menu-label {
  color: #253246;
}
.admin-nav-list > li > a,
.admin-nav-menu-label {
  align-items:center;
  border-radius:6px;
  display:flex;
  font-weight:800;
  justify-content:center;
  min-height:42px;
  padding:9px 12px;
  text-decoration:none;
  white-space:nowrap;
}
.admin-nav-list > li > a:hover,
.admin-nav-list > li > a.is-active,
.admin-nav-menu:hover > .admin-nav-menu-label,
.admin-nav-menu:focus-within > .admin-nav-menu-label,
.admin-nav-menu.is-group-active > .admin-nav-menu-label {
  background:#ffeddc;
  color:#b84d07;
}
.admin-nav-menu-label { cursor: default; }
.admin-nav-menu-label::after { content:"▾"; font-size:.8em; margin-left:7px; opacity:.65; }
.admin-nav-menu .admin-nav-dropdown {
  display:none;
  left:50%;
  min-width:190px;
  top:calc(100% + 2px);
  transform:translateX(-50%);
}
.admin-nav-menu:hover .admin-nav-dropdown,
.admin-nav-menu:focus-within .admin-nav-dropdown {
  display:block;
}
.admin-nav-dropdown a { color:var(--text) !important; text-align:left; }
.admin-nav-dropdown a:hover { background:#fff0e3; color:#b84d07 !important; }
.admin-nav-actions { gap:12px; }
.admin-site-link { color:#253246; }
.admin-site-link:hover { color:#d95f0b; }
.admin-user-role { color:#64748b; }
.admin-btn-outline {
  border-color:#cbd5e1;
  color:#253246 !important;
}
.admin-btn-outline:hover { background:#fff0e3; border-color:#f4b183; color:#b84d07 !important; }
.admin-ribbon { background:#fff3e8; border-bottom-color:#f6c39f; color:#8c3a07; }
.admin-ribbon-inner { background:transparent; }

.admin-dashboard-grid .admin-dashboard-card {
  display:flex;
  flex-direction:column;
  grid-column:span 4;
  min-height:225px;
  text-align:left;
}
.admin-dashboard-card h3 { margin-bottom:8px; }
.admin-dashboard-card p { margin-bottom:18px; min-height:0; }
.admin-card-actions { display:flex; gap:10px; margin-top:auto; }

@media (max-width: 1050px) {
  .admin-nav { grid-template-columns: 150px minmax(0,1fr) auto; gap:14px; }
  .admin-nav-list { gap:4px; }
  .admin-nav-list > li > a, .admin-nav-menu-label { padding-left:8px; padding-right:8px; }
}
@media (max-width: 900px) {
  .admin-nav { display:flex; flex-wrap:wrap; }
  .admin-nav-grouped { order:3; width:100%; }
  .admin-nav-list { display:flex; justify-content:space-between; }
  .admin-dashboard-grid .admin-dashboard-card { grid-column:span 6; }
}
@media (max-width: 650px) {
  .admin-nav-list { align-items:stretch; flex-direction:column; }
  .admin-nav-menu .admin-nav-dropdown { left:0; transform:none; }
  .admin-dashboard-grid .admin-dashboard-card { grid-column:span 12; }
}

/* Security/settings polish ------------------------------------------------ */
.admin-settings-panel {
  margin: 0 0 22px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fffaf5;
}
.admin-settings-panel__heading h2 {
  margin: 0 0 4px;
  font-size: 2.1rem;
}
.admin-settings-panel__heading p {
  margin: 0 0 14px;
  color: var(--muted);
}
.maintenance-settings-grid {
  display: grid;
  grid-template-columns: minmax(210px, .8fr) repeat(2, minmax(220px, 1fr));
  gap: 16px;
  align-items: end;
}
.mfa-qr-wrap {
  text-align: center;
  margin: 1.5rem 0;
}
.mfa-qr-code {
  width: min(260px, 80vw);
  height: auto;
  background: #fff;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 6px;
}
@media (max-width: 760px) {
  .maintenance-settings-grid { grid-template-columns: 1fr; }
}
