/* Axeddam — espace client */

/* Message d'échec de connexion, ou raison d'un accès refusé. */
.login__error {
  margin: 0;
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.5;
  color: #B3003C;
}

/* Bandeau affiché quand un administrateur consulte l'espace d'un client :
   sans lui, rien ne distingue cette vue de celle du client lui-même. */
.client-asview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
  margin-top: 14px;
  padding: 12px 18px;
  border-radius: var(--r-sm);
  background: rgba(108, 59, 255, 0.16);
  border: 1px solid rgba(108, 59, 255, 0.4);
  font-family: var(--mono);
  font-size: 12px;
  color: var(--violet-soft);
}

.client-asview a {
  color: var(--violet-soft);
  border-bottom: 1px solid currentColor;
}

.client-asview a:hover {
  color: var(--paper);
}

/* Sélecteur de projet, présent seulement au-delà d'un projet. */
.client-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: clamp(18px, 2.5vw, 26px) clamp(6px, 2vw, 20px) 0;
}

.client-switch__item {
  cursor: pointer;
  font-family: var(--mono);
  font-size: 12px;
  padding: 9px 14px;
  border-radius: 999px;
  background: var(--fill);
  border: 1px solid var(--line);
  color: var(--on-dark-2);
  transition: color var(--ease), border-color var(--ease), background-color var(--ease);
}

.client-switch__item:hover {
  color: var(--paper);
  border-color: var(--violet);
}

.client-switch__item.is-active {
  background: rgba(108, 59, 255, 0.2);
  border-color: var(--violet);
  color: var(--paper);
}

/* --- Écran de connexion ------------------------------------------------ */

.login {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
  min-height: calc(100vh - 28px);
}

.login__pitch {
  border-radius: var(--r-lg);
  padding: clamp(28px, 4vw, 52px);
  background: linear-gradient(150deg, #6C3BFF 0%, #FF3D8B 58%, #FF7A1A 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
  min-height: 340px;
}

.login__back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--paper);
  font-family: var(--mono);
  font-size: 12px;
  align-self: flex-start;
}

.login__back:hover {
  color: var(--ink);
}

.login__title {
  margin: 18px 0 0;
  font-weight: 700;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 0.94;
  letter-spacing: -0.04em;
  max-width: 18ch;
  text-wrap: pretty;
}

.login__text {
  margin: 14px 0 0;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  max-width: 40ch;
  color: rgba(244, 243, 246, 0.85);
}

.login__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-family: var(--mono);
  font-size: 11px;
}

.login__tags span {
  background: rgba(14, 15, 18, 0.85);
  padding: 7px 12px;
  border-radius: 999px;
}

.login__panel {
  border-radius: var(--r-lg);
  background: var(--paper);
  color: var(--ink);
  padding: clamp(28px, 4vw, 52px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.login__form-wrap {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
}

.login__logo .logo__mark {
  font-size: 38px;
}

.login__heading {
  margin: 28px 0 0;
  font-weight: 700;
  font-size: 30px;
  letter-spacing: -0.03em;
}

.login__sub {
  margin: 8px 0 0;
  font-weight: 500;
  font-size: 15px;
  color: rgba(14, 15, 18, 0.6);
}

.login__form {
  display: grid;
  gap: 18px;
  margin-top: 28px;
}

.field {
  display: grid;
  gap: 8px;
}

.field__label {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(14, 15, 18, 0.55);
}

.field input {
  width: 100%;
  padding: 14px 16px;
  font-family: var(--mono);
  font-size: 14px;
  color: var(--ink);
  background: #FFFFFF;
  border: 1px solid var(--line-light);
  border-radius: 12px;
}

.field input:focus {
  outline: none;
  border-color: var(--violet);
}

.login__options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-family: var(--mono);
  font-size: 12px;
}

.login__remember {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(14, 15, 18, 0.65);
}

.login__remember input {
  width: 15px;
  height: 15px;
  accent-color: var(--violet);
}

.login__forgot {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--violet);
  text-align: left;
  justify-self: start;
}

.login__forgot:hover {
  color: var(--pink);
}

.login__hint {
  margin: 0;
  font-family: var(--mono);
  font-size: 11px;
  line-height: 1.6;
  color: rgba(14, 15, 18, 0.55);
}

.login__submit {
  width: 100%;
  justify-content: center;
  font-size: 17px;
  padding: 16px 24px;
}

.login__help {
  margin: 24px 0 0;
  font-family: var(--mono);
  font-size: 11px;
  line-height: 1.7;
  color: rgba(14, 15, 18, 0.5);
}

.login__help a {
  color: var(--violet);
}

/* --- Tableau de bord --------------------------------------------------- */

.client-top {
  background: var(--paper);
  color: var(--ink);
  border-radius: 24px;
  padding: 16px 22px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  justify-content: space-between;
}

.client-top__left {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}

.client-top__mark {
  font-size: 30px;
  font-weight: 700;
  line-height: 0.8;
  background: var(--brand-mark);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.client-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-family: var(--mono);
  font-size: 12px;
}

.client-nav a {
  color: rgba(14, 15, 18, 0.6);
}

.client-nav a:hover {
  color: var(--violet);
}

.client-nav a.is-active {
  color: var(--ink);
  border-bottom: 2px solid var(--violet);
  padding-bottom: 3px;
}

.client-top__right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.client-top__org {
  font-family: var(--mono);
  font-size: 12px;
  color: rgba(14, 15, 18, 0.6);
}

.client-top__avatar {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--brand-cta);
  color: var(--paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
}

.signout {
  cursor: pointer;
  background: none;
  border: 1px solid rgba(14, 15, 18, 0.18);
  color: var(--ink);
  font-family: var(--mono);
  font-size: 11px;
  padding: 8px 13px;
  border-radius: 999px;
  transition: color var(--ease), border-color var(--ease);
}

.signout:hover {
  border-color: var(--pink);
  color: var(--pink);
}

/* Accroche */

.client-hello {
  padding: clamp(26px, 4vw, 44px) clamp(6px, 2vw, 20px) 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.client-hello__title {
  margin: 16px 0 0;
  font-weight: 700;
  font-size: clamp(28px, 4vw, 52px);
  line-height: 0.96;
  letter-spacing: -0.04em;
}

.client-hello__text {
  margin: 10px 0 0;
  font-weight: 500;
  font-size: 16px;
  color: rgba(244, 243, 246, 0.6);
}

.client-hello__cta {
  font-size: 15px;
  padding: 14px 24px;
}

/* Cartes de synthèse */

.client-stats {
  padding: clamp(22px, 3vw, 32px) clamp(6px, 2vw, 20px) 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
}

.stat {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 22px;
}

.stat__label {
  font-family: var(--mono);
  font-size: 11px;
  color: rgba(244, 243, 246, 0.5);
}

.stat__value {
  margin: 10px 0 6px;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.02em;
}

.stat__note {
  margin: 0;
  font-family: var(--mono);
  font-size: 12px;
  color: rgba(244, 243, 246, 0.55);
}

.stat__note--teal { color: var(--teal); }
.stat__note--orange { color: var(--orange); }

/* Fiche projet, fichiers, factures */

.client-split {
  padding: clamp(22px, 3vw, 32px) clamp(6px, 2vw, 20px) 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 14px;
}

.detail {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 16px;
  background: var(--fill);
  border-radius: var(--r-sm);
}

.detail__label {
  flex: 1;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--on-dark-3);
}

.detail__value {
  font-weight: 500;
  font-size: 15px;
  text-align: right;
}

.file {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: var(--fill);
  border-radius: var(--r-sm);
  color: var(--paper);
  transition: background-color var(--ease);
}

.file:hover {
  background: var(--fill-hover);
  color: var(--paper);
}

.file__type {
  font-family: var(--mono);
  font-size: 10px;
  padding: 5px 8px;
  border-radius: 6px;
  color: var(--ink);
}

.file__type--violet { background: var(--violet-soft); }
.file__type--pink { background: var(--pink-soft); }
.file__type--teal { background: var(--teal-soft); }

.file__name {
  flex: 1;
  font-weight: 500;
  font-size: 14px;
}

.file__date {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--on-dark-3);
}

.client-invoice {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: var(--fill);
  border-radius: var(--r-sm);
}

.client-invoice__ref {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--on-dark-2);
}

.client-invoice__amount {
  flex: 1;
  font-weight: 700;
  font-size: 15px;
}

/* Dernier message */

.client-message {
  padding: clamp(22px, 3vw, 32px) clamp(6px, 2vw, 20px) 0;
}

.client-message__inner {
  background: var(--paper);
  color: var(--ink);
  border-radius: var(--r-md);
  padding: 26px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  align-items: center;
}

.client-message__quote {
  margin: 16px 0 0;
  font-weight: 500;
  font-size: 17px;
  line-height: 1.5;
  max-width: 48ch;
  text-wrap: pretty;
}

.client-message__by {
  margin: 12px 0 0;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--on-light-2);
}

.client-message__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.client-message__primary {
  font-size: 15px;
  padding: 14px 24px;
}

.client-message__ghost {
  border: 1px solid rgba(14, 15, 18, 0.2);
  color: var(--ink);
  font-family: var(--mono);
  font-size: 13px;
  padding: 14px 22px;
  border-radius: 999px;
}

.client-message__ghost:hover {
  border-color: var(--violet);
  color: var(--violet);
}

.client-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  padding: 34px clamp(6px, 2vw, 20px) 18px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--on-dark-3);
}

.client-footer a {
  color: var(--on-dark-3);
}

.client-footer a:hover {
  color: var(--paper);
}
