/* ============================================================================
   AZALYS Cabinet — Premium suite v3.2.0
   Mise à niveau visuelle globale : login, cockpit, dossiers, modules,
   missions, collaborateurs, paramètres, modales et assistant.
   Aucun changement métier / API.
   ============================================================================ */
:root{
  --az-bg-0:#020b1f;
  --az-bg-1:#04183a;
  --az-bg-2:#082764;
  --az-glass:rgba(255,255,255,.86);
  --az-glass-strong:rgba(255,255,255,.94);
  --az-glass-dark:rgba(6,20,50,.72);
  --az-border:rgba(148,188,255,.24);
  --az-border-soft:rgba(203,213,225,.70);
  --az-text:#0d2345;
  --az-text-soft:#526985;
  --az-accent:#2f86ff;
  --az-accent-2:#1558ff;
  --az-cyan:#39c7ff;
  --az-shadow-lg:0 30px 90px rgba(2,8,23,.18);
  --az-shadow-md:0 18px 48px rgba(2,8,23,.13);
  --az-radius-xl:28px;
  --az-radius-lg:22px;
}

html{background:var(--az-bg-0)}
body{
  background:
    radial-gradient(900px 680px at 7% -7%,rgba(37,99,235,.42),transparent 58%),
    radial-gradient(900px 700px at 105% 92%,rgba(21,88,255,.34),transparent 62%),
    linear-gradient(135deg,var(--az-bg-0) 0%,var(--az-bg-1) 46%,#031126 100%)!important;
  color:var(--az-text);
  min-height:100vh;
}
body::before,
body::after{
  content:"";
  position:fixed;
  z-index:-1;
  pointer-events:none;
  border-radius:50%;
  border:1px solid rgba(47,130,255,.24);
}
body::before{width:780px;height:780px;left:-410px;bottom:-470px;box-shadow:0 0 70px rgba(47,130,255,.12)}
body::after{width:820px;height:820px;right:-430px;top:110px;box-shadow:0 0 90px rgba(47,130,255,.10)}

/* Login + chargement */
.boot-screen,.auth-screen{
  position:relative;
  overflow:hidden;
  min-height:100vh;
  padding:34px 22px!important;
  background:
    radial-gradient(1050px 700px at 10% 0%, rgba(37,99,235,.45), transparent 58%),
    radial-gradient(850px 620px at 90% 100%, rgba(37,99,235,.35), transparent 60%),
    linear-gradient(135deg,#051a3b 0%,#061536 42%,#021027 100%)!important;
}
.boot-screen::before,.auth-screen::before,
.boot-screen::after,.auth-screen::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(64,139,255,.35);
  pointer-events:none;
}
.boot-screen::before,.auth-screen::before{width:860px;height:860px;left:-430px;bottom:-500px;box-shadow:0 0 70px rgba(37,99,235,.18)}
.boot-screen::after,.auth-screen::after{width:860px;height:860px;right:-390px;top:145px;box-shadow:0 0 90px rgba(37,99,235,.16)}
.boot-card,.auth-card{
  position:relative;
  z-index:1;
  width:min(690px,94vw)!important;
  max-width:690px!important;
  padding:44px 60px 34px!important;
  border-radius:34px!important;
  color:#eaf2ff!important;
  background:linear-gradient(155deg,rgba(22,65,130,.52) 0%,rgba(8,30,73,.74) 52%,rgba(3,17,45,.82) 100%)!important;
  border:1px solid rgba(112,166,255,.36)!important;
  box-shadow:0 34px 120px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 70px rgba(37,99,235,.12)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.auth-card .auth-brand h1,.boot-card h1{color:#fff!important;font-size:clamp(34px,4vw,48px)!important;line-height:1.08;font-weight:900;letter-spacing:-.04em;text-shadow:0 8px 24px rgba(0,0,0,.30)}
.auth-card .auth-brand p,.boot-card p{color:#b9c8e6!important;font-size:17px;font-weight:500}
.auth-card .brand-mark,.boot-card .brand-mark{display:grid;place-items:center;width:86px;height:86px;margin:0 auto 18px;border-radius:24px;background:linear-gradient(145deg,rgba(233,242,255,.24),rgba(47,130,255,.16));border:1px solid rgba(139,174,229,.26);filter:drop-shadow(0 18px 28px rgba(0,0,0,.28))}
.auth-card label{color:#f3f7ff!important;font-size:15px!important;font-weight:800!important;gap:10px!important;margin-bottom:18px!important}
.auth-card .control{
  height:62px!important;
  border-radius:14px!important;
  border:1px solid rgba(139,174,229,.38)!important;
  color:#eef6ff!important;
  background:rgba(6,22,55,.38)!important;
  font-size:17px!important;
  font-weight:600;
  padding:0 18px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.auth-card .control::placeholder{color:rgba(185,200,230,.58)!important}
.auth-card .control:focus{border-color:rgba(91,154,255,.95)!important;background:rgba(10,31,76,.58)!important;box-shadow:0 0 0 4px rgba(47,130,255,.16), inset 0 1px 0 rgba(255,255,255,.07)!important}
.auth-card .btn.primary.full{min-height:66px;border-radius:14px!important;background:linear-gradient(135deg,#2f8cff 0%,#1558ff 100%)!important;color:#fff!important;font-size:21px;font-weight:900;box-shadow:0 18px 36px rgba(21,88,255,.34), inset 0 1px 0 rgba(255,255,255,.22)!important}
.auth-card .auth-message:not(:empty){padding:11px 14px;border-radius:12px;background:rgba(239,68,68,.12);border:1px solid rgba(248,113,113,.22);color:#ffb4b4!important;text-align:center}

/* Shell premium */
.main-shell{
  grid-template-columns:270px 1fr!important;
  background:transparent!important;
}
.side{
  background:linear-gradient(180deg,rgba(7,24,58,.94),rgba(3,14,35,.96))!important;
  border-right:1px solid rgba(112,166,255,.20)!important;
  box-shadow:18px 0 70px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.side-brand{
  padding:24px 20px!important;
  border-bottom:1px solid rgba(139,174,229,.16)!important;
}
.side-brand .brand-mark.small{
  width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-size:25px!important;background:linear-gradient(145deg,#2f86ff,#113f9e);box-shadow:0 14px 32px rgba(47,130,255,.28)
}
.side-brand strong{font-size:20px;letter-spacing:-.04em;color:#fff}
.side-brand span{color:#9fb5d8!important;font-weight:650}
.nav-btn{
  margin:2px 0!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  color:#aebfdd!important;
  font-weight:850!important;
  letter-spacing:-.01em;
}
.nav-btn:hover{background:rgba(47,130,255,.14)!important;color:#fff!important;transform:translateX(3px)}
.nav-btn.active{background:linear-gradient(135deg,rgba(47,130,255,.42),rgba(21,88,255,.24))!important;color:#fff!important;box-shadow:0 12px 30px rgba(21,88,255,.18),inset 0 1px 0 rgba(255,255,255,.10)!important}
.nav-btn.active::before{background:#61a4ff!important;box-shadow:0 0 20px rgba(97,164,255,.86)}
.side-footer .btn.ghost{background:rgba(255,255,255,.08)!important;color:#dbeafe!important;border-color:rgba(139,174,229,.16)!important}
.side-footer .btn.danger{color:#ffb4b4!important}

.main{
  position:relative;
  min-height:100vh;
  background:
    radial-gradient(850px 520px at 50% -10%,rgba(47,130,255,.14),transparent 62%),
    linear-gradient(180deg,rgba(238,244,255,.92),rgba(232,240,250,.96))!important;
}
.topbar{
  min-height:86px!important;
  padding:18px 28px!important;
  background:rgba(255,255,255,.78)!important;
  border-bottom:1px solid rgba(203,213,225,.72)!important;
  box-shadow:0 12px 42px rgba(15,23,42,.08)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.eyebrow{color:#516b90!important;letter-spacing:.10em!important}
.topbar h2{color:#0d2345!important;font-size:25px!important;letter-spacing:-.04em;font-weight:950}
.status-pill{border-radius:999px!important;border-color:rgba(203,213,225,.80)!important;background:rgba(255,255,255,.74)!important;color:#29415f!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.70)}
.status-pill.ok{background:#dcfce7!important;color:#15803d!important;border-color:#bbf7d0!important}
.status-pill.err{background:#fee2e2!important;color:#b91c1c!important;border-color:#fecaca!important}
.view{padding:28px 30px!important}

/* Hero cockpit */
.cockpit-hero,.hero{
  position:relative;
  overflow:hidden;
  border-radius:32px!important;
  border:1px solid rgba(112,166,255,.30)!important;
  background:
    radial-gradient(620px 360px at 15% 10%,rgba(59,130,246,.45),transparent 60%),
    radial-gradient(460px 360px at 92% 0%,rgba(56,189,248,.20),transparent 58%),
    linear-gradient(135deg,#061b43 0%,#0b2a69 48%,#041229 100%)!important;
  color:#eaf2ff!important;
  box-shadow:0 32px 90px rgba(7,24,58,.24),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.cockpit-hero::before,.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.10),transparent 42%);pointer-events:none}
.cockpit-hero h1,.hero h1{color:#fff!important;font-size:clamp(28px,4vw,46px)!important;letter-spacing:-.055em;text-shadow:0 14px 30px rgba(0,0,0,.22)}
.cockpit-sub,.hero p,.cockpit-eyebrow{color:#c1d1ee!important}
.cockpit-aside{background:rgba(255,255,255,.10)!important;border-color:rgba(148,188,255,.20)!important;color:#eaf2ff!important;backdrop-filter:blur(12px)}
.cockpit-live{background:rgba(34,197,94,.18)!important;color:#86efac!important;border-color:rgba(134,239,172,.30)!important}

/* Cartes, KPIs, listes */
.card,.kpi,.module-card,.dashboard-panel,.collab-pro-panel,.collab-template-card,.modal-card,.modal{
  border:1px solid rgba(203,213,225,.72)!important;
  border-radius:var(--az-radius-lg)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,251,255,.86))!important;
  box-shadow:var(--az-shadow-md)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.card:hover,.kpi:hover,.module-card:hover,.dashboard-panel:hover,.collab-pro-panel:hover{box-shadow:var(--az-shadow-lg)!important;transform:translateY(-2px)}
.card-head,.collab-pro-panel-head,.modal-head{
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(248,251,255,.70))!important;
  border-bottom:1px solid rgba(203,213,225,.70)!important;
}
.card-head h3,.card-title,.collab-pro-panel-head h3,.modal-head h3{color:#0d2345!important;font-weight:950!important;letter-spacing:-.025em}
.muted,.item-sub,.row-sub{color:#5f7390!important}
.kpi{position:relative;overflow:hidden;border-left:0!important;padding:20px 20px 18px!important}
.kpi::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#2f86ff,#1558ff);border-radius:0 999px 999px 0}
.kpi.green::before{background:linear-gradient(180deg,#22c55e,#15803d)}
.kpi.gold::before{background:linear-gradient(180deg,#f59e0b,#d97706)}
.kpi.red::before{background:linear-gradient(180deg,#ef4444,#dc2626)}
.kpi.purple::before{background:linear-gradient(180deg,#8b5cf6,#7c3aed)}
.kpi-label{color:#526985!important;letter-spacing:.09em!important;font-weight:950!important}
.kpi-value{color:#0d2345!important;font-size:32px!important;letter-spacing:-.04em}
.item,.project-item,.collab-log-item,.collab-copy-choice,.collab-preview-card{
  border:1px solid rgba(203,213,225,.78)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.74)!important;
  box-shadow:0 8px 24px rgba(2,8,23,.045)!important;
}
.item:hover,.project-item:hover{background:#fff!important;border-color:rgba(47,130,255,.34)!important}
.item-title,.row-title{color:#0d2345!important;font-weight:950!important}

/* Actions + contrôles */
.btn{border-radius:13px!important;font-weight:900!important;min-height:40px;letter-spacing:-.01em;box-shadow:0 8px 18px rgba(2,8,23,.05)}
.btn.primary,.btn-primary{background:linear-gradient(135deg,#2f8cff,#1558ff)!important;color:#fff!important;box-shadow:0 14px 30px rgba(21,88,255,.24), inset 0 1px 0 rgba(255,255,255,.18)!important}
.btn.primary:hover,.btn-primary:hover{background:linear-gradient(135deg,#56a4ff,#1f65ff)!important;transform:translateY(-1px)}
.btn.ghost,.btn-ghost{background:rgba(255,255,255,.70)!important;color:#0d2345!important;border:1px solid rgba(203,213,225,.88)!important}
.btn.ghost:hover,.btn-ghost:hover{background:#fff!important;border-color:rgba(47,130,255,.34)!important;transform:translateY(-1px)}
.btn.danger,.btn-danger{color:#dc2626!important}
.link-btn{color:#1558ff!important;font-weight:950!important}
.control,.form-control{
  border-radius:14px!important;
  border:1px solid rgba(187,199,217,.95)!important;
  background:rgba(255,255,255,.82)!important;
  min-height:42px;
  color:#0d2345!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.control:focus,.form-control:focus{border-color:rgba(47,130,255,.84)!important;box-shadow:0 0 0 4px rgba(47,130,255,.14),inset 0 1px 0 rgba(255,255,255,.72)!important;background:#fff!important}
.panel-tools{background:rgba(255,255,255,.60);border:1px solid rgba(203,213,225,.70);border-radius:20px;padding:12px;box-shadow:0 14px 35px rgba(2,8,23,.06);backdrop-filter:blur(12px)}

/* Tableaux */
.table-wrap{border-radius:0 0 var(--az-radius-lg) var(--az-radius-lg);background:rgba(255,255,255,.50)}
table{border-collapse:separate!important;border-spacing:0!important}
th{background:linear-gradient(180deg,#f8fbff,#eef4fb)!important;color:#526985!important;font-weight:950!important;letter-spacing:.08em!important;border-bottom:1px solid rgba(203,213,225,.78)!important}
td{background:rgba(255,255,255,.74);border-bottom:1px solid rgba(226,232,240,.82)!important}
tr:hover td{background:#fff!important}
.badge{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);font-weight:950!important}

/* Modules */
.modules-grid,.home-module-grid{gap:18px!important}
.module-card,.home-module-card{
  position:relative;
  overflow:hidden;
  border-radius:22px!important;
  border:1px solid rgba(203,213,225,.74)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(239,246,255,.84))!important;
  box-shadow:0 18px 46px rgba(2,8,23,.09)!important;
}
.module-card::before,.home-module-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#2f86ff,#39c7ff,#7c3aed)}
.module-card .ico,.home-module-icon{filter:drop-shadow(0 10px 18px rgba(37,99,235,.16))}
.module-card h4,.home-module-title{color:#0d2345!important;font-weight:950!important}

/* Collaborateurs premium, sans casser le layout horizontal final */
.collab-pro-wrap{max-width:none!important}
.collab-pro-head{
  border-radius:30px!important;
  border:1px solid rgba(112,166,255,.30)!important;
  background:
    radial-gradient(520px 320px at 16% 0%,rgba(59,130,246,.34),transparent 62%),
    linear-gradient(135deg,#061b43,#0b2a69 55%,#041229)!important;
  color:#eaf2ff!important;
  box-shadow:0 32px 90px rgba(7,24,58,.18), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.collab-pro-head h3{color:#fff!important;font-size:27px!important;letter-spacing:-.04em}
.collab-pro-head p,.collab-pro-eyebrow{color:#c1d1ee!important}
.collab-pro-kpi,.collab-pro-summary>div{
  border-radius:18px!important;
  border:1px solid rgba(203,213,225,.76)!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 12px 30px rgba(2,8,23,.06)!important;
}
.collab-pro-tabs{border-radius:18px!important;background:rgba(255,255,255,.78)!important;border:1px solid rgba(203,213,225,.76)!important;box-shadow:0 14px 36px rgba(2,8,23,.06)!important}
.collab-pro-tabs button{border-radius:13px!important;color:#526985!important;font-weight:950!important}
.collab-pro-tabs button.active{background:linear-gradient(135deg,#2f8cff,#1558ff)!important;color:#fff!important;box-shadow:0 12px 26px rgba(21,88,255,.22)!important}
.collab-person-card,.collab-right-row{background:rgba(255,255,255,.82)!important;border:1px solid rgba(203,213,225,.78)!important;border-radius:19px!important;box-shadow:0 10px 25px rgba(2,8,23,.05)!important}
.collab-person-card.active,.collab-right-row.is-on{border-color:rgba(47,130,255,.45)!important;box-shadow:0 18px 40px rgba(47,130,255,.12)!important}
.collab-pro-avatar,.collab-person-avatar{background:linear-gradient(135deg,#2f8cff,#7c3aed)!important;color:#fff!important;box-shadow:0 12px 28px rgba(47,130,255,.24)!important}
.collab-seg{background:rgba(255,255,255,.82)!important;border-color:rgba(203,213,225,.88)!important;border-radius:14px!important}
.collab-seg button[aria-pressed="true"]{background:linear-gradient(135deg,#2f8cff,#1558ff)!important;color:#fff!important}
.collab-module-pill{background:rgba(255,255,255,.78)!important;border-color:rgba(203,213,225,.84)!important}
.collab-module-pill.checked{background:#eef2ff!important;border-color:#c4b5fd!important;color:#4c1d95!important}

/* Paramètres, alertes, modales */
.modal{border-radius:26px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 34px 110px rgba(2,8,23,.30)!important}
.modal-card{border-radius:26px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 34px 110px rgba(2,8,23,.30)!important}
.modal{backdrop-filter:blur(6px)}
.modal:has(.modal-card),.modal-overlay{background:rgba(3,13,31,.62)!important;backdrop-filter:blur(8px)}
.toast{border-radius:16px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 18px 50px rgba(2,8,23,.18)!important}
.alert{border-radius:16px!important;border:1px solid rgba(203,213,225,.72)}

/* Assistant AI premium */
.ai-robot-btn{border-radius:25px!important;background:linear-gradient(135deg,#2f8cff,#7c3aed)!important;box-shadow:0 22px 58px rgba(47,130,255,.38),0 0 0 1px rgba(255,255,255,.28) inset!important}
.ai-floating-panel{border-radius:28px!important;border-color:rgba(148,188,255,.36)!important;background:rgba(255,255,255,.92)!important;box-shadow:0 34px 96px rgba(2,8,23,.26)!important}
.ai-floating-head{background:linear-gradient(135deg,#061b43,#0b2a69)!important;color:#eaf2ff!important;border-bottom-color:rgba(148,188,255,.24)!important}
.ai-head-left strong{color:#fff!important}.ai-head-left span{color:#b9c8e6!important}.ai-head-actions .icon-btn{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}

/* Responsive */
@media(max-width:1100px){
  .main-shell{grid-template-columns:1fr!important}
  .side{height:auto!important;position:relative!important}
  .side-nav{display:flex!important;flex-direction:row!important;overflow:auto;padding:12px!important}
  .nav-btn{white-space:nowrap}
  .view{padding:20px!important}
}
@media(max-width:760px){
  .boot-card,.auth-card{padding:34px 22px 26px!important;border-radius:26px!important}
  .topbar{padding:16px!important}
  .topbar h2{font-size:22px!important}
  .view{padding:14px!important}
  .panel-tools{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
  .card:hover,.kpi:hover,.module-card:hover,.dashboard-panel:hover,.collab-pro-panel:hover,.btn.primary:hover,.btn.ghost:hover{transform:none!important}
}
