/* =============================================================
   admin.css — Admin panel and admin-only edit controls
   -------------------------------------------------------------
   Contains: the Admin panel layout, invite/member-management controls,
   and reusable JSON editor cards (.admin-editor*) for trip JSONB content.
   Rendered by js/admin-editors.js/js/render-members.js and hidden entirely
   for non-admin trip members.
   ============================================================= */
.admin-panel-grid{margin-top:18px}
.admin-section{margin-bottom:22px}
.admin-section-title{
  font-family:var(--font-mono); font-size:11px; font-weight:800;
  letter-spacing:.06em; text-transform:uppercase; color:var(--ink-45);
  margin:0 2px 7px;
}
.admin-section-sub{
  color:var(--ink-70); font-size:12.5px; line-height:1.45;
  margin:0 2px 10px; max-width:620px;
}
.admin-empty{
  background:var(--paper); border:1px dashed var(--line);
  border-radius:var(--radius-md); box-shadow:var(--shadow);
  color:var(--ink-70); font-size:12.5px; padding:13px 14px;
  margin-top:14px;
}
.invite-admin{margin-bottom:10px}
.invite-card{
  background:var(--paper); border:1px solid rgba(255,106,61,.18);
  border-radius:var(--radius-md); box-shadow:var(--shadow);
  padding:12px 13px; display:flex; flex-direction:column; gap:11px;
}
.invite-head{display:flex; flex-direction:column; gap:10px}
.invite-eyebrow{
  color:var(--buoy); font-family:var(--font-mono); font-size:9.5px;
  font-weight:800; letter-spacing:.06em; text-transform:uppercase;
}
.invite-title{font-size:13px; font-weight:800; color:var(--ink); margin-top:3px}
.invite-meta{font-size:11.5px; color:var(--ink-45); margin-top:3px}
.invite-meta code{
  color:var(--ink); background:var(--mist); border-radius:5px;
  padding:2px 5px; font-family:var(--font-mono); font-size:11px;
}
.invite-primary,
.invite-secondary{
  border:0; border-radius:var(--radius-sm); min-height:36px; padding:0 12px;
  font-size:12px; font-weight:800; cursor:pointer;
}
.invite-primary{background:var(--ink); color:var(--paper)}
.invite-secondary{background:var(--buoy-10); color:var(--buoy)}
.invite-primary:disabled,
.invite-secondary:disabled{cursor:wait; opacity:.62}
.invite-form{display:block}
.invite-grid{display:grid; grid-template-columns:1fr; gap:10px; margin-top:12px}
.invite-grid label{
  display:flex; flex-direction:column; gap:6px;
  color:var(--ink-45); font:700 10.5px/1 var(--font-mono);
  letter-spacing:.05em; text-transform:uppercase;
}
.invite-grid input,
.invite-grid select{
  width:100%; border:1px solid var(--field-border); border-radius:var(--radius-sm);
  background:var(--field); color:var(--ink);
  font:600 13px/1.2 var(--font-body); padding:10px 11px;
  text-transform:none; letter-spacing:0;
}
.invite-grid input:focus,
.invite-grid select:focus{outline:2px solid rgba(255,106,61,.2); border-color:var(--buoy)}
.invite-actions{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px}
.invite-status{font-size:11.5px; color:var(--ink-70); margin-top:2px}
.member-remove{
  border:0; border-radius:7px; background:var(--buoy-10); color:var(--buoy);
  min-height:28px; padding:0 9px; font-size:11px; font-weight:800; cursor:pointer;
}
.member-remove:disabled{cursor:wait; opacity:.62}
.admin-editor{margin:0 0 14px}
.admin-editor-card{
  background:var(--paper); border:1px solid rgba(43,122,120,.18);
  border-radius:var(--radius-md); box-shadow:var(--shadow);
  padding:13px 14px;
}
.admin-editor-head{
  display:flex; flex-direction:column; gap:11px;
}
.admin-editor-eyebrow{
  color:var(--teal); font-family:var(--font-mono); font-size:9.5px;
  font-weight:800; letter-spacing:.06em; text-transform:uppercase;
}
.admin-editor-title{font-size:13px; font-weight:800; color:var(--ink); margin-top:3px}
.admin-editor-meta{font-size:11.5px; color:var(--ink-45); margin-top:3px}
.admin-editor-primary,
.admin-editor-secondary{
  border:0; border-radius:var(--radius-sm); min-height:36px; padding:0 12px;
  font-size:12px; font-weight:800; cursor:pointer;
}
.admin-editor-primary{background:var(--ink); color:var(--paper)}
.admin-editor-secondary{background:var(--teal-10); color:var(--teal)}
.admin-editor-primary:disabled,
.admin-editor-secondary:disabled{cursor:wait; opacity:.62}
.admin-editor-form{display:block}
.admin-editor-grid{display:grid; grid-template-columns:1fr; gap:10px; margin-top:12px}
.admin-editor-grid label{
  display:flex; flex-direction:column; gap:6px;
  color:var(--ink-45); font:700 10.5px/1 var(--font-mono);
  letter-spacing:.05em; text-transform:uppercase;
}
.admin-editor-grid input,
.admin-editor-grid textarea{
  width:100%; border:1px solid var(--field-border); border-radius:var(--radius-sm);
  background:var(--field); color:var(--ink);
  font:600 13px/1.35 var(--font-mono); padding:10px 11px;
  text-transform:none; letter-spacing:0;
}
.admin-editor-grid input{min-height:38px}
.admin-editor-grid input[readonly]{color:var(--ink-70); background:var(--mist)}
.admin-editor-grid textarea{min-height:260px; resize:vertical}
.admin-editor-grid input:focus,
.admin-editor-grid textarea:focus{outline:2px solid rgba(43,122,120,.2); border-color:var(--teal)}
.admin-editor-actions{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px}
.admin-editor-status{font-size:11.5px; color:var(--ink-70); margin-top:9px}
