/* Double R account pages: sign up, log in, passwords, My Account, My Blades,
   and the staff Site Features / company request pages.
   Same colours and fonts as the home page (home.css). Big type, big
   buttons, one obvious thing to press on every page. */

:root {
  --rr-navy: #004b88;
  --rr-navy-dark: #003060;
  --rr-black: #0d1b2a;
  --rr-red: #D10024;
  --rr-red-dark: #a8001d;
  --rr-steel: #f4f6f9;
  --rr-mid: #5b6878;
  --rr-white: #ffffff;
  --rr-green: #1e7e34;
  --rr-border: rgba(0, 75, 136, 0.15);
  --ff-head: 'Barlow Condensed', 'Barlow', sans-serif;
  --ff-body: 'Barlow', 'Mulish', sans-serif;
}

.rr-acct {
  background: var(--rr-steel);
  padding: 2.5rem 1rem 3.5rem;
  font-family: var(--ff-body);
  color: var(--rr-black);
  font-size: 1.08rem;
}
.rr-acct__wrap { max-width: 640px; margin: 0 auto; }
.rr-acct__wrap--wide { max-width: 980px; }
.rr-acct__wrap--narrow { max-width: 480px; }

.rr-card {
  background: var(--rr-white);
  border-radius: 12px;
  border-top: 6px solid var(--rr-navy);
  box-shadow: 0 6px 24px rgba(13, 27, 42, 0.08);
  padding: 2rem 1.75rem;
  margin-bottom: 1.5rem;
}
.rr-card--red { border-top-color: var(--rr-red); }
.rr-card--green { border-top-color: var(--rr-green); }
@media (max-width: 575.98px) {
  .rr-acct { padding: 1.25rem .5rem 2.5rem; }
  .rr-card { padding: 1.5rem 1.1rem; }
}

.rr-eyebrow {
  font-family: var(--ff-head);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--rr-red);
  font-size: .95rem;
  margin-bottom: .25rem;
}
.rr-title {
  font-family: var(--ff-head);
  font-weight: 800;
  color: var(--rr-navy);
  font-size: 2.2rem;
  line-height: 1.1;
  margin: 0 0 .5rem;
}
.rr-subtitle {
  font-family: var(--ff-head);
  font-weight: 700;
  color: var(--rr-navy);
  font-size: 1.45rem;
  margin: 0 0 .75rem;
}
.rr-lead { color: var(--rr-mid); font-size: 1.12rem; margin-bottom: 1.5rem; }
.rr-small { color: var(--rr-mid); font-size: .95rem; }

/* Form fields: big enough to tap, easy to read */
.rr-acct label,
.rr-acct .col-form-label {
  font-weight: 600;
  font-size: 1.02rem;
  color: var(--rr-black);
  margin-bottom: .3rem;
}
.rr-acct .form-control,
.rr-acct .custom-select,
.rr-acct select.form-control {
  min-height: 3rem;
  font-size: 1.1rem;
  border: 2px solid #cfd8e3;
  border-radius: 8px;
}
.rr-acct textarea.form-control { min-height: 6rem; }
.rr-acct .form-control:focus {
  border-color: var(--rr-navy);
  box-shadow: 0 0 0 3px rgba(0, 75, 136, 0.18);
}
.rr-acct .form-control.is-invalid { border-color: var(--rr-red); }
.rr-acct .invalid-feedback,
.rr-acct .errorlist { color: var(--rr-red); font-size: 1rem; font-weight: 600; }
.rr-acct .form-text { font-size: .95rem; color: var(--rr-mid); }
.rr-acct .asteriskField { color: var(--rr-red); margin-left: 2px; }
.rr-acct .errorlist { list-style: none; padding-left: 0; }

.rr-fieldset {
  border: 0;
  border-top: 2px solid var(--rr-border);
  padding: 1.25rem 0 0;
  margin: 1.25rem 0 0;
}
.rr-fieldset legend {
  font-family: var(--ff-head);
  font-weight: 700;
  font-size: 1.3rem;
  color: var(--rr-navy);
  width: auto;
  padding-right: .5rem;
  margin-bottom: .5rem;
}

.rr-errors {
  background: #fdecee;
  border-left: 5px solid var(--rr-red);
  border-radius: 6px;
  padding: .9rem 1rem;
  margin-bottom: 1.25rem;
  font-weight: 600;
  color: var(--rr-red-dark);
}
.rr-errors ul { margin: 0; padding-left: 1.1rem; }

/* Buttons */
.rr-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  width: 100%;
  min-height: 3.4rem;
  padding: .7rem 1.25rem;
  border-radius: 10px;
  border: 2px solid transparent;
  font-family: var(--ff-head);
  font-weight: 700;
  font-size: 1.35rem;
  letter-spacing: .02em;
  text-decoration: none !important;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s, transform .05s;
}
.rr-btn:active { transform: translateY(1px); }
.rr-btn--go { background: var(--rr-red); color: var(--rr-white) !important; }
.rr-btn--go:hover, .rr-btn--go:focus { background: var(--rr-red-dark); }
.rr-btn--navy { background: var(--rr-navy); color: var(--rr-white) !important; }
.rr-btn--navy:hover, .rr-btn--navy:focus { background: var(--rr-navy-dark); }
.rr-btn--ghost { background: var(--rr-white); color: var(--rr-navy) !important; border-color: var(--rr-navy); }
.rr-btn--ghost:hover, .rr-btn--ghost:focus { background: #e8f0f8; }
.rr-btn--danger { background: var(--rr-white); color: var(--rr-red) !important; border-color: var(--rr-red); }
.rr-btn--danger:hover, .rr-btn--danger:focus { background: #fdecee; }
.rr-btn--green { background: var(--rr-green); color: var(--rr-white) !important; }
.rr-btn--green:hover, .rr-btn--green:focus { background: #155d27; }
.rr-btn--inline { display: inline-flex; width: auto; }
.rr-btn--sm { min-height: 2.6rem; font-size: 1.1rem; padding: .4rem 1rem; }
.rr-btn[disabled] { opacity: .55; cursor: not-allowed; }
.rr-btn + .rr-btn { margin-top: .75rem; }
.rr-btn-row { display: flex; flex-wrap: wrap; gap: .75rem; }
.rr-btn-row .rr-btn { flex: 1 1 200px; margin-top: 0; }

.rr-link { color: var(--rr-navy); font-weight: 700; text-decoration: underline; }
.rr-link:hover { color: var(--rr-red); }

.rr-divider {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: var(--rr-mid);
  font-weight: 600;
  margin: 1.5rem 0 1rem;
}
.rr-divider::before, .rr-divider::after { content: ""; flex: 1; border-top: 2px solid var(--rr-border); }

.rr-social { display: flex; gap: .75rem; flex-wrap: wrap; }
.rr-social .rr-btn { flex: 1 1 160px; margin-top: 0; font-size: 1.15rem; min-height: 3rem; }

/* "Need help? Call us" box at the bottom of most pages */
.rr-help {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--rr-white);
  border: 2px dashed var(--rr-border);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  color: var(--rr-black);
}
.rr-help i { font-size: 1.8rem; color: var(--rr-red); }
.rr-help a { color: var(--rr-navy); font-weight: 700; font-size: 1.2rem; }

.rr-notice {
  border-radius: 10px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
  font-size: 1.05rem;
  background: #e8f0f8;
  border-left: 5px solid var(--rr-navy);
}
.rr-notice--wait { background: #fff8e1; border-left-color: #e0a800; }
.rr-notice--no { background: #fdecee; border-left-color: var(--rr-red); }
.rr-notice--ok { background: #e6f4ea; border-left-color: var(--rr-green); }

/* Icon in a circle at the top of short pages (sent / done / coming soon) */
.rr-badge-icon {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  font-size: 2rem;
  background: #e8f0f8;
  color: var(--rr-navy);
}
.rr-badge-icon--green { background: #e6f4ea; color: var(--rr-green); }
.rr-badge-icon--red { background: #fdecee; color: var(--rr-red); }
.rr-center { text-align: center; }

/* My Account */
.rr-account-head { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.rr-account-head img { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; border: 3px solid var(--rr-border); }
.rr-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.rr-tile {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  background: var(--rr-white);
  border-radius: 12px;
  border: 2px solid var(--rr-border);
  padding: 1.25rem;
  color: var(--rr-black) !important;
  text-decoration: none !important;
  transition: border-color .15s, box-shadow .15s;
}
.rr-tile:hover, .rr-tile:focus { border-color: var(--rr-navy); box-shadow: 0 6px 18px rgba(0, 75, 136, .12); }
.rr-tile i { font-size: 1.8rem; color: var(--rr-red); }
.rr-tile strong { font-family: var(--ff-head); font-size: 1.4rem; color: var(--rr-navy); }
.rr-tile span { color: var(--rr-mid); font-size: .98rem; }
.rr-acct .custom-control-label { font-weight: 600; }

/* My Blades */
.rr-blades-table { width: 100%; border-collapse: collapse; font-size: 1.05rem; }
.rr-blades-table th {
  font-family: var(--ff-head);
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--rr-mid);
  border-bottom: 2px solid var(--rr-border);
  padding: .5rem .6rem;
  text-align: left;
}
.rr-blades-table td { border-bottom: 1px solid var(--rr-border); padding: .75rem .6rem; vertical-align: middle; }
.rr-blades-table .rr-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rr-status {
  display: inline-block;
  border-radius: 999px;
  padding: .2rem .75rem;
  font-weight: 700;
  font-size: .95rem;
  background: #e9ecef;
  color: var(--rr-black);
  white-space: nowrap;
}
.rr-status--ready { background: #e6f4ea; color: var(--rr-green); }
.rr-status--out { background: #e8f0f8; color: var(--rr-navy); }
.rr-status--wait { background: #fff8e1; color: #8a6d00; }
.rr-status--no { background: #fdecee; color: var(--rr-red); }
.rr-company-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1rem; }
.rr-estimate { text-align: right; }
.rr-estimate__label { color: var(--rr-mid); font-size: .95rem; }
.rr-estimate__value { font-family: var(--ff-head); font-weight: 800; font-size: 1.8rem; color: var(--rr-navy); }
@media (max-width: 575.98px) {
  .rr-blades-table thead { display: none; }
  .rr-blades-table tr { display: block; border-bottom: 2px solid var(--rr-border); padding: .5rem 0; }
  .rr-blades-table td { display: flex; justify-content: space-between; border: 0; padding: .3rem .25rem; }
  .rr-blades-table td::before { content: attr(data-label); font-weight: 700; color: var(--rr-mid); margin-right: 1rem; }
  .rr-blades-table .rr-num { text-align: right; }
  .rr-estimate { text-align: left; }
}

/* Staff: Site Features */
.rr-switch {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--rr-border);
}
.rr-switch:last-child { border-bottom: 0; }
.rr-switch__text { flex: 1 1 280px; }
.rr-switch__name { font-family: var(--ff-head); font-weight: 700; font-size: 1.4rem; color: var(--rr-navy); }
.rr-switch__state { font-weight: 800; }
.rr-switch__state--on { color: var(--rr-green); }
.rr-switch__state--off { color: var(--rr-red); }
.rr-switch form { flex: 0 0 auto; }

/* Staff: request lists */
.rr-list { list-style: none; padding: 0; margin: 0; }
.rr-list li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem;
              padding: .9rem 0; border-bottom: 1px solid var(--rr-border); }
.rr-list li:last-child { border-bottom: 0; }
.rr-facts { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin: 0; }
.rr-facts dt { color: var(--rr-mid); font-weight: 600; }
.rr-facts dd { margin: 0; }
