/* =============================================================
   info.css — "Info" panel (#panel-info)
   -------------------------------------------------------------
   Contains: the app preferences card with the System/Light/Dark
   theme toggle (.app-pref*, .theme-*, rendered by js/preferences.js),
   the collapsible FAQ list (.faq-item*), grouped external-link
   lists (.linkgroup*, .linklist*, .linkrow*), Crew member cards
   (.member-*), the admin invite form (.invite-*), and the amber warning box
   (.note-box — currently only used in the Money panel's booking-check
   callout, but grouped here since it's visually part of the "informational
   aside" family).
   Data comes from js/data/info.js (FAQ + LINK_GROUPS). Rendered
   by js/render-info.js.
   ============================================================= */
/* ============ APP PREFERENCES (theme toggle) ============ */
.app-preferences{margin-bottom:16px}
.app-pref-card{
  background:var(--paper); border-radius:var(--radius-md); box-shadow:var(--shadow);
  padding:12px 13px;
}
.app-pref-label{
  color:var(--teal); font-family:var(--font-mono); font-size:9.5px;
  font-weight:800; letter-spacing:.06em; text-transform:uppercase;
}
.app-pref-meta{
  font-size:11.5px; color:var(--ink-45); margin-top:3px;
  line-height:1.35; overflow-wrap:anywhere;
}
.app-pref-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.theme-toggle{
  display:flex; background:var(--mist); border:1px solid var(--line);
  border-radius:999px; padding:3px; flex-shrink:0;
}
.theme-option{
  border:0; background:transparent; color:var(--ink-70); border-radius:999px;
  min-height:30px; padding:0 10px; font-size:11px; font-weight:800;
  text-transform:capitalize; cursor:pointer;
}
.theme-option.active{background:var(--ink); color:var(--paper)}

/* ============ INFO / FAQ ============ */
.faq-item{ background:var(--paper); border-radius:var(--radius-md); box-shadow:var(--shadow); margin-bottom:8px; overflow:hidden}
.faq-q{ width:100%; text-align:left; background:none; border:none; padding:14px 16px; display:flex; justify-content:space-between; gap:10px; cursor:pointer; align-items:center}
.faq-q span{font-size:13.5px; font-weight:700}
.faq-a{ display:none; padding:0 16px 15px; font-size:12.5px; color:var(--ink-70); line-height:1.55}
.faq-a a{ color:var(--channel); text-decoration:none; border-bottom:1px solid var(--channel-10)}
.faq-item.open .faq-a{display:block}
.faq-item.open .chevron{transform:rotate(180deg)}

.linkgroup{ margin-bottom:16px}
.linkgroup .lg-title{ font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-45); margin:0 2px 8px}
.linklist{ background:var(--paper); border-radius:var(--radius-md); box-shadow:var(--shadow); overflow:hidden}
.linkrow{ display:flex; align-items:center; justify-content:space-between; padding:13px 16px; text-decoration:none; color:var(--ink); border-bottom:1px solid var(--line); gap:10px}
.linkrow:last-child{border-bottom:none}
.linkrow .lr-name{ font-size:13px; font-weight:600}
.linkrow .lr-arrow{ color:var(--ink-45); flex-shrink:0}
.note-box{ font-size:12px; color:var(--ink-70); background:var(--gold-10); border-radius:var(--radius-sm); padding:12px 14px; margin-bottom:16px; line-height:1.5}
.note-box b{color:var(--gold-text)}

.info-crew-title{margin-top:12px}
.member-list{display:grid; grid-template-columns:1fr; gap:8px; margin-bottom:16px}
.member-list-status{
  background:var(--paper); border-radius:var(--radius-sm); box-shadow:var(--shadow);
  color:var(--ink-70); font-size:11.5px; padding:10px 12px; grid-column:1 / -1;
}
.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-card{
  background:var(--paper); border-radius:var(--radius-md); box-shadow:var(--shadow);
  padding:12px 13px; display:flex; align-items:center; gap:11px;
}
.member-avatar{
  width:38px; height:38px; border-radius:999px; background:var(--teal-10);
  color:var(--teal); display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:13px; font-weight:800; flex-shrink:0;
}
.member-main{flex:1; min-width:0}
.member-name{font-size:13.5px; font-weight:800; color:var(--ink)}
.member-name span{
  color:var(--teal); font-family:var(--font-mono); font-size:9.5px;
  font-weight:800; text-transform:uppercase; margin-left:5px;
}
.member-email{font-size:11.5px; color:var(--ink-70); margin-top:2px; overflow-wrap:anywhere}
.member-meta{font-size:10.5px; color:var(--ink-45); margin-top:3px}
.member-side{display:flex; flex-direction:column; align-items:flex-end; gap:7px; flex-shrink:0}
.member-role{
  border-radius:999px; background:var(--grey-10); color:var(--grey-text);
  font-family:var(--font-mono); font-size:9.5px; font-weight:800;
  padding:5px 8px; text-transform:uppercase; flex-shrink:0;
}
.member-role.admin{background:var(--buoy-10); color:var(--buoy)}
.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}
.member-empty{
  background:var(--paper); border:1px dashed var(--line); border-radius:var(--radius-md);
  padding:12px 13px; color:var(--ink-45); font-size:12px; margin-bottom:16px;
}
