/* AZALYS - Espace Client Premium V10
   Refonte visuelle ciblée du portail client uniquement.
   Aucune logique métier n'est modifiée. */

:root{
  --az-client-ink:#102a43;
  --az-client-muted:#64748b;
  --az-client-bg:#f5f8fb;
  --az-client-card:#ffffff;
  --az-client-teal:#0f766e;
  --az-client-teal-2:#0e9384;
  --az-client-blue:#0f3f5f;
  --az-client-gold:#c9a24d;
  --az-client-border:rgba(15,63,95,.12);
  --az-client-shadow:0 20px 60px rgba(15,63,95,.10);
}

body.role-client-dossier .app-shell,
body.role-client .app-shell{
  background:
    radial-gradient(circle at 12% 8%, rgba(201,162,77,.14), transparent 28%),
    radial-gradient(circle at 86% 14%, rgba(15,118,110,.12), transparent 32%),
    linear-gradient(135deg,#f8fbfd 0%,#eef6f7 100%);
}

body.role-client-dossier #view-client,
body.role-client #view-client,
.view.client-portal.active{
  padding:22px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.36)),
    repeating-linear-gradient(45deg, rgba(15,118,110,.025) 0 1px, transparent 1px 18px);
  min-height:calc(100vh - 32px);
}

.client-portal-root{
  max-width:1440px!important;
  gap:20px!important;
}

.client-mode-tabs-premium{
  position:sticky;
  top:12px;
  z-index:20;
  display:flex!important;
  gap:8px!important;
  padding:8px!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(18px);
  box-shadow:0 14px 36px rgba(15,63,95,.08)!important;
  overflow:auto;
}

.client-mode-tabs-premium button{
  min-height:44px;
  border:0!important;
  border-radius:16px!important;
  padding:10px 14px!important;
  color:#24445d!important;
  font-weight:800!important;
  background:transparent!important;
  white-space:nowrap;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.client-mode-tabs-premium button:hover{
  background:rgba(15,118,110,.08)!important;
  transform:translateY(-1px);
}

.client-mode-tabs-premium button.active{
  color:#fff!important;
  background:linear-gradient(135deg,var(--az-client-blue),var(--az-client-teal))!important;
  box-shadow:0 12px 28px rgba(15,118,110,.24)!important;
}

.client-mode-body{width:100%;}

.client-action-dashboard{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.client-premium-hero{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:28px;
  color:#fff;
  background:
    linear-gradient(135deg, rgba(11,47,70,.98), rgba(15,118,110,.92)),
    radial-gradient(circle at 88% 12%, rgba(201,162,77,.34), transparent 30%);
  box-shadow:var(--az-client-shadow);
}

.client-premium-hero::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background:
    linear-gradient(30deg, transparent 46%, rgba(255,255,255,.28) 47%, transparent 49%),
    linear-gradient(150deg, transparent 46%, rgba(255,255,255,.22) 47%, transparent 49%);
  background-size:42px 42px;
  pointer-events:none;
}

.client-premium-hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);
  gap:24px;
  align-items:stretch;
}

.client-premium-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#f8fafc;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  font-size:.74rem;
}

.client-premium-hero h1{
  margin:18px 0 10px;
  font-size:clamp(2rem,4vw,4.2rem);
  line-height:.98;
  letter-spacing:-.055em;
  color:#fff;
}

.client-premium-hero p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:1.02rem;
  line-height:1.7;
}

.client-premium-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.client-premium-hero-actions .btn.primary{
  background:linear-gradient(135deg,#d6b45f,#c9a24d)!important;
  color:#13293b!important;
  border:0!important;
  box-shadow:0 16px 30px rgba(201,162,77,.26)!important;
}

.client-premium-hero-actions .btn.ghost{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;
}

.client-premium-status{
  position:relative;
  z-index:1;
  display:grid;
  gap:12px;
}

.client-premium-status-card{
  padding:16px;
  border-radius:22px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
}

.client-premium-status-card small{
  color:rgba(255,255,255,.68);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.client-premium-status-card strong{
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:1.4rem;
  letter-spacing:-.03em;
}

.client-today-panel.card,
.client-home-card.card,
.client-client-panel.card{
  border:1px solid rgba(15,63,95,.10)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 18px 46px rgba(15,63,95,.08)!important;
}

.client-today-panel.card{
  padding:24px!important;
}

.client-today-head{
  align-items:center!important;
  gap:18px!important;
}

.client-today-head h2{
  font-size:clamp(1.7rem,2.6vw,2.8rem)!important;
  letter-spacing:-.04em!important;
  color:var(--az-client-ink)!important;
}

.client-today-head .btn.primary,
.client-empty-state .btn.primary,
.client-action-buttons .btn.primary{
  border:0!important;
  background:linear-gradient(135deg,var(--az-client-blue),var(--az-client-teal))!important;
  box-shadow:0 12px 28px rgba(15,118,110,.20)!important;
}

.client-simple-actions{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:14px!important;
}

.client-simple-action{
  position:relative;
  overflow:hidden;
  min-height:142px!important;
  border:1px solid rgba(15,63,95,.10)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 16px 38px rgba(15,63,95,.07)!important;
  text-align:left!important;
  padding:18px!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.client-simple-action::after{
  content:"";
  position:absolute;
  inset:auto -25% -55% 35%;
  height:110px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(15,118,110,.12), transparent 70%);
}

.client-simple-action:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 52px rgba(15,63,95,.12)!important;
  border-color:rgba(15,118,110,.22)!important;
}

.client-simple-action.primary{
  background:linear-gradient(135deg,#0f3f5f,#0f766e)!important;
  color:#fff!important;
}

.client-simple-action.primary strong,
.client-simple-action.primary small{color:#fff!important;}
.client-simple-action.primary small{opacity:.78;}

.client-simple-action.attention{
  border-color:rgba(201,162,77,.34)!important;
  background:linear-gradient(180deg,#fff, #fff9ea)!important;
}

.client-simple-action span{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  border-radius:16px!important;
  background:rgba(15,118,110,.10)!important;
  margin-bottom:14px!important;
  font-size:1.2rem!important;
}

.client-simple-action.primary span{background:rgba(255,255,255,.16)!important;}
.client-simple-action strong{display:block;font-size:1.02rem!important;color:var(--az-client-ink)!important;}
.client-simple-action small{display:block;margin-top:6px;color:var(--az-client-muted)!important;line-height:1.45!important;}

.client-action-list{
  display:grid;
  gap:12px;
}

.client-action-row{
  border:1px solid rgba(15,63,95,.10)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#fff,#f9fcfd)!important;
  padding:16px!important;
  box-shadow:0 10px 24px rgba(15,63,95,.05)!important;
}

.client-action-row.urgent{
  border-color:rgba(201,162,77,.34)!important;
  background:linear-gradient(180deg,#fff,#fff9eb)!important;
}

.client-action-icon{
  width:44px!important;
  height:44px!important;
  border-radius:16px!important;
  background:rgba(15,118,110,.10)!important;
}

.client-home-split{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
}

.client-home-card{
  padding:22px!important;
}

.client-home-card .section-head h3,
.client-client-panel .section-head h3{
  color:var(--az-client-ink)!important;
  letter-spacing:-.02em!important;
}

.client-empty-state,
.client-action-empty,
.client-followup-empty{
  border-radius:24px!important;
  background:linear-gradient(180deg,#f8fbfd,#ffffff)!important;
  border:1px dashed rgba(15,63,95,.15)!important;
}

.client-doc-row,
.client-message-row,
.client-followup-card{
  border-radius:20px!important;
  border:1px solid rgba(15,63,95,.10)!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(15,63,95,.05)!important;
}

.client-premium-panels{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
}

.client-mini-timeline,
.client-deliverables-list{
  display:grid;
  gap:10px;
}

.client-mini-item,
.client-deliverable-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  border-radius:18px;
  border:1px solid rgba(15,63,95,.10);
  background:#fff;
}

.client-mini-item strong,
.client-deliverable-item strong{color:var(--az-client-ink);}
.client-mini-item small,
.client-deliverable-item small{color:var(--az-client-muted);display:block;margin-top:3px;}

.client-pill-soft{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(15,118,110,.10);
  color:var(--az-client-teal);
  font-weight:900;
  font-size:.78rem;
}

.client-pill-gold{
  background:rgba(201,162,77,.14);
  color:#8a6519;
}

body.role-client-dossier .sidebar,
body.role-client .sidebar{
  background:linear-gradient(180deg,#0b2f46,#0f3f5f)!important;
}

body.role-client-dossier .nav-btn.active,
body.role-client .nav-btn.active{
  background:linear-gradient(135deg,var(--az-client-teal),var(--az-client-teal-2))!important;
  color:#fff!important;
}

@media(max-width:1180px){
  .client-premium-hero-inner{grid-template-columns:1fr;}
  .client-simple-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .client-premium-panels,.client-home-split{grid-template-columns:1fr!important;}
}

@media(max-width:760px){
  .view.client-portal.active{padding:12px!important;}
  .client-premium-hero{padding:20px;border-radius:24px;}
  .client-premium-hero h1{font-size:2.1rem;}
  .client-simple-actions{grid-template-columns:1fr!important;}
  .client-mode-tabs-premium{position:relative;top:auto;border-radius:18px!important;}
  .client-premium-status{grid-template-columns:1fr;}
}
