
/* Lepin v1.3.3 — dashboard premium + absences native */
.dashboard-pro{background:
  radial-gradient(circle at 10% 3%,rgba(91,45,201,.13),transparent 30%),
  radial-gradient(circle at 96% 8%,rgba(12,175,109,.12),transparent 28%),
  linear-gradient(180deg,#F7F5FF 0%,#F2F0FF 100%)!important;}
.dash-pro-hero{border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 24px 70px rgba(15,23,42,.26)!important;background:
  radial-gradient(circle at 88% 10%,rgba(255,255,255,.23),transparent 28%),
  linear-gradient(135deg,#0D2E39 0%,#182A4A 40%,#5B2DC9 100%)!important;}
.dash-pro-hero:before{background:
  repeating-linear-gradient(135deg,rgba(255,255,255,.11) 0 1px,transparent 1px 13px),
  radial-gradient(circle,rgba(255,255,255,.20),transparent 68%)!important;opacity:.65!important}
.dash-pro-title,.panel-title,.pro-value,.hero-pro-num{font-family:'DM Sans',system-ui,sans-serif!important;letter-spacing:-.055em!important}
.dash-pro-title{font-size:38px!important;font-weight:950!important}.dash-pro-sub{max-width:820px!important;line-height:1.55!important}
.hero-pro-kpi,.dash-pro-chip,.dash-pro-btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 12px 28px rgba(15,23,42,.10)}
.pro-card,.pro-panel{position:relative;overflow:hidden;border-color:rgba(91,45,201,.13)!important;background:
  linear-gradient(135deg,rgba(255,255,255,.98),rgba(250,249,255,.96))!important;box-shadow:0 18px 45px rgba(42,30,92,.08)!important;}
.pro-card:before,.pro-panel:before{content:'';position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle at 16% 8%,rgba(91,45,201,.08),transparent 22%),
  repeating-linear-gradient(145deg,rgba(91,45,201,.045) 0 1px,transparent 1px 14px);opacity:.55}
.pro-card>* ,.pro-panel>*{position:relative;z-index:1}.pro-card:hover{transform:translateY(-4px)!important;box-shadow:0 26px 60px rgba(42,30,92,.14)!important}
.pro-card::after{right:-38px!important;top:-38px!important;width:116px!important;height:116px!important;background:radial-gradient(circle,var(--accent-soft),transparent 70%)!important}
.pro-icon{box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}.pro-bar-track{height:12px!important;background:#ECEAFE!important}.pro-bar-fill{box-shadow:0 0 18px rgba(91,45,201,.22)}
.status-pill,.legend-item,.deadline-row,.rh-calendar-row{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(246,244,255,.88))!important;box-shadow:0 10px 24px rgba(42,30,92,.05)}
.timeline-title{text-transform:none!important}.timeline-sub{max-width:520px!important;white-space:normal!important;line-height:1.35!important}.rh-calendar-list{max-height:none!important;overflow:visible!important;padding-right:0!important}.rh-calendar-row{transition:transform .18s, box-shadow .18s}.rh-calendar-row:hover{transform:translateX(2px);box-shadow:0 14px 34px rgba(42,30,92,.10)}
.leave-alert-card{box-shadow:0 16px 40px rgba(233,146,9,.10)!important}.leave-alert-title{display:block}.leave-alert-meta{display:block}.leave-alert-tag{display:inline-flex}
.lepin-error-page{max-width:760px;margin:80px auto;background:#fff;border:1.5px solid rgba(229,50,50,.22);border-radius:24px;padding:28px;box-shadow:0 24px 70px rgba(15,23,42,.12)}.lepin-error-page h1{font-size:28px;margin-bottom:8px}.lepin-error-page p{color:#4B5563}.lepin-error-page pre{margin:16px 0;background:#FEF2F2;color:#991B1B;border-radius:12px;padding:12px;white-space:pre-wrap}
.abs-native-page{padding:22px 24px 28px;background:radial-gradient(circle at 12% 0,rgba(91,45,201,.12),transparent 32%),linear-gradient(180deg,#F7F5FF,#F1F0FF)}
.abs-hero{position:relative;overflow:hidden;border-radius:28px;padding:26px 28px;margin-bottom:18px;color:#fff;background:linear-gradient(135deg,#0D2E39,#232E60 48%,#5B2DC9);box-shadow:0 24px 70px rgba(15,23,42,.25);display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.abs-hero:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.10) 0 1px,transparent 1px 14px),radial-gradient(circle at 90% 10%,rgba(255,255,255,.23),transparent 28%);pointer-events:none}.abs-hero>*{position:relative;z-index:1}.abs-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:950;color:rgba(255,255,255,.72)}.abs-hero h1{font-size:38px;line-height:1;font-weight:950;letter-spacing:-.055em;margin:5px 0}.abs-hero p{max-width:760px;color:rgba(255,255,255,.78);font-size:13.5px;font-weight:750}.abs-actions{display:flex;gap:8px;flex-wrap:wrap}.abs-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.abs-kpi{border:1.5px solid rgba(91,45,201,.14);border-radius:20px;background:linear-gradient(135deg,#fff,#FAF9FF);padding:16px;text-align:left;box-shadow:0 16px 38px rgba(42,30,92,.07)}.abs-kpi span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:950;color:#4B5563}.abs-kpi strong{display:block;font-size:30px;line-height:1.05;font-weight:950;color:#0F172A;margin:8px 0 3px}.abs-kpi small{font-size:11.5px;color:#6B7280;font-weight:800}.abs-filter-card,.abs-table-card{border:1.5px solid rgba(91,45,201,.14);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 18px 45px rgba(42,30,92,.08);padding:16px;margin-bottom:16px}.abs-search{position:relative;margin-bottom:12px}.abs-search span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#5B2DC9;font-weight:900}.abs-search input,.abs-filters select,.abs-filters input{width:100%;border:1.5px solid rgba(91,45,201,.22);border-radius:13px;background:#F8F7FF;padding:11px 12px;color:#0F172A;font-weight:700;outline:none}.abs-search input{padding-left:36px}.abs-search input:focus,.abs-filters select:focus,.abs-filters input:focus{border-color:#5B2DC9;box-shadow:0 0 0 3px rgba(91,45,201,.10);background:#fff}.abs-filters{display:grid;grid-template-columns:1.1fr 1fr 1.1fr .8fr .8fr;gap:10px}.abs-table-head,.abs-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.abs-table-head span{font-size:12px;color:#6B7280;font-weight:850}.abs-table-wrap table th{white-space:nowrap}.abs-muted{font-size:11.5px;color:#6B7280;font-weight:750;margin-top:2px}.abs-type,.abs-impact{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11.5px;font-weight:950;border:1px solid rgba(91,45,201,.14);background:#F4F0FF;color:#5B2DC9}.abs-impact.unpaid,.abs-type.absence_injustifiee{background:#FEF2F2;color:#E53232;border-color:rgba(229,50,50,.18)}.abs-impact.paid{background:#EFF6FF;color:#2F7BF0;border-color:rgba(47,123,240,.18)}.abs-impact.special{background:#FFF7ED;color:#E99209;border-color:rgba(233,146,9,.18)}.abs-empty{text-align:center;border:1.5px dashed rgba(91,45,201,.20);border-radius:22px;background:rgba(255,255,255,.74);padding:38px;color:#4B5563;display:flex;flex-direction:column;gap:6px}.abs-empty div{font-size:36px}.abs-empty strong{font-size:16px;color:#0F172A}@media(max-width:1200px){.abs-kpi-grid{grid-template-columns:repeat(3,1fr)}.abs-filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.abs-native-page{padding:16px}.abs-kpi-grid,.abs-filters{grid-template-columns:1fr}.abs-hero h1{font-size:30px}}


/* Lepin v1.3.3.1 — correctifs UI dashboard + premiumisation cartes */
/* Dashboard : fond plus assumé, grain et lignes abstraites visibles mais sobres */
.dashboard-pro{
  background:
    radial-gradient(circle at 9% 4%,rgba(91,45,201,.20),transparent 28%),
    radial-gradient(circle at 92% 9%,rgba(12,175,109,.17),transparent 26%),
    radial-gradient(circle at 55% 110%,rgba(47,123,240,.11),transparent 34%),
    repeating-radial-gradient(circle at 22% 18%,rgba(91,45,201,.055) 0 1px,transparent 1px 5px),
    linear-gradient(180deg,#F6F3FF 0%,#EEEAFD 100%)!important;
}
.dashboard-pro:before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.52;
  background:
    repeating-linear-gradient(118deg,rgba(91,45,201,.055) 0 1px,transparent 1px 22px),
    repeating-linear-gradient(28deg,rgba(12,175,109,.035) 0 1px,transparent 1px 34px);
}
.dashboard-pro>*{position:relative;z-index:1}

/* Cartes KPI : plus de blanc plat. Couleurs lisibles, fond graphique, profondeur. */
.dashboard-pro .dash-card-grid .pro-card{
  min-height:152px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  color:#fff!important;
  text-align:left!important;
  background:
    radial-gradient(circle at 18% 15%,rgba(255,255,255,.34),transparent 22%),
    radial-gradient(circle at 96% 10%,rgba(255,255,255,.22),transparent 26%),
    linear-gradient(135deg,var(--card-a),var(--card-b))!important;
  box-shadow:0 24px 58px rgba(30,20,80,.18), inset 0 1px 0 rgba(255,255,255,.22)!important;
  isolation:isolate;
}
.dashboard-pro .dash-card-grid .pro-card:nth-child(1){--card-a:#064E3B;--card-b:#11B981;--accent:#D1FAE5;--accent-soft:rgba(209,250,229,.36)}
.dashboard-pro .dash-card-grid .pro-card:nth-child(2){--card-a:#3A1B8F;--card-b:#7C3AED;--accent:#EDE9FE;--accent-soft:rgba(237,233,254,.36)}
.dashboard-pro .dash-card-grid .pro-card:nth-child(3){--card-a:#0E3A78;--card-b:#2F7BF0;--accent:#DBEAFE;--accent-soft:rgba(219,234,254,.36)}
.dashboard-pro .dash-card-grid .pro-card:nth-child(4){--card-a:#7F1D1D;--card-b:#EF4444;--accent:#FEE2E2;--accent-soft:rgba(254,226,226,.36)}
.dashboard-pro .dash-card-grid .pro-card:nth-child(5){--card-a:#7A3E00;--card-b:#F59E0B;--accent:#FEF3C7;--accent-soft:rgba(254,243,199,.36)}
.dashboard-pro .dash-card-grid .pro-card:nth-child(6){--card-a:#083B76;--card-b:#38BDF8;--accent:#E0F2FE;--accent-soft:rgba(224,242,254,.36)}
.dashboard-pro .dash-card-grid .pro-card:nth-child(7){--card-a:#703408;--card-b:#FB923C;--accent:#FFEDD5;--accent-soft:rgba(255,237,213,.36)}
.dashboard-pro .dash-card-grid .pro-card:nth-child(8){--card-a:#881337;--card-b:#F43F5E;--accent:#FFE4E6;--accent-soft:rgba(255,228,230,.36)}
.dashboard-pro .dash-card-grid .pro-card:nth-child(9){--card-a:#312E81;--card-b:#8B5CF6;--accent:#EDE9FE;--accent-soft:rgba(237,233,254,.36)}
.dashboard-pro .dash-card-grid .pro-card:before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.82;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 1px,transparent 1px 15px),
    repeating-radial-gradient(circle at 20% 18%,rgba(255,255,255,.18) 0 1px,transparent 1px 5px);
}
.dashboard-pro .dash-card-grid .pro-card:after{
  content:''!important;position:absolute!important;right:-30px!important;top:-34px!important;width:128px!important;height:128px!important;border-radius:50%!important;z-index:0!important;
  background:radial-gradient(circle,rgba(255,255,255,.40),rgba(255,255,255,.10) 45%,transparent 72%)!important;
}
.dashboard-pro .dash-card-grid .pro-card>*{position:relative;z-index:1}
.dashboard-pro .dash-card-grid .pro-card .pro-value,
.dashboard-pro .dash-card-grid .pro-card .pro-label,
.dashboard-pro .dash-card-grid .pro-card .pro-sub{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.13)}
.dashboard-pro .dash-card-grid .pro-card .pro-label{opacity:.92;letter-spacing:.085em}.dashboard-pro .dash-card-grid .pro-card .pro-sub{opacity:.86}
.dashboard-pro .dash-card-grid .pro-card .pro-icon{background:rgba(255,255,255,.20)!important;color:#fff!important;border:1px solid rgba(255,255,255,.24)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 26px rgba(0,0,0,.12)!important}
.dashboard-pro .dash-card-grid .pro-card svg{stroke:currentColor!important}.dashboard-pro .dash-card-grid .pro-card .pro-card-top>svg{color:rgba(255,255,255,.78)!important}

/* Mini-graphiques abstraits au bas des KPI */
.dashboard-pro .dash-card-grid .pro-card .pro-sub:after{
  content:'';display:block;height:24px;margin-top:13px;border-radius:999px;opacity:.72;
  background:
    linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.58),rgba(255,255,255,.18)),
    repeating-linear-gradient(90deg,transparent 0 13px,rgba(255,255,255,.32) 13px 16px,transparent 16px 24px);
  mask-image:linear-gradient(90deg,#000 0%,#000 62%,transparent 100%);
}

/* Panneaux : texture plus visible, mais les contenus restent lisibles. */
.dashboard-pro .pro-panel{
  border:1.5px solid rgba(91,45,201,.16)!important;
  background:
    radial-gradient(circle at 92% 7%,rgba(91,45,201,.10),transparent 24%),
    radial-gradient(circle at 6% 100%,rgba(12,175,109,.06),transparent 26%),
    repeating-radial-gradient(circle at 18% 12%,rgba(91,45,201,.04) 0 1px,transparent 1px 5px),
    linear-gradient(135deg,rgba(255,255,255,.97),rgba(248,247,255,.92))!important;
  box-shadow:0 22px 52px rgba(42,30,92,.10)!important;
}
.dashboard-pro .calendar-feature-grid{margin-top:0!important;margin-bottom:18px!important}.dashboard-pro .calendar-feature-main .rh-calendar-list{max-height:420px!important;overflow:auto!important;padding-right:4px!important}.dashboard-pro .calendar-feature-main .rh-calendar-list::-webkit-scrollbar{width:7px}.dashboard-pro .calendar-feature-main .rh-calendar-list::-webkit-scrollbar-thumb{background:rgba(91,45,201,.25);border-radius:999px}

/* États vides plus premium : ne pas afficher des barres vides interminables. */
.dashboard-pro .pro-bars:has(.pro-bar-fill[style*="0%"]) .pro-bar-track{background:linear-gradient(90deg,#F0EEFF,#F8F7FF)!important}

/* Espace employé : appliquer aussi la logique premium aux cartes côté employé. */
.employee-premium .emp-kpi,
.employee-premium .emp-action{
  color:#fff!important;border:1px solid rgba(255,255,255,.34)!important;overflow:hidden;position:relative;
  background:linear-gradient(135deg,var(--emp-a,#312E81),var(--emp-b,#7C3AED))!important;
  box-shadow:0 20px 46px rgba(30,20,80,.15),inset 0 1px 0 rgba(255,255,255,.24)!important;
}
.employee-premium .emp-kpi:before,.employee-premium .emp-action:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 1px,transparent 1px 15px),repeating-radial-gradient(circle at 22% 18%,rgba(255,255,255,.14) 0 1px,transparent 1px 5px);opacity:.72;pointer-events:none}.employee-premium .emp-kpi>* ,.employee-premium .emp-action>*{position:relative;z-index:1}.employee-premium .emp-kpi:nth-child(1){--emp-a:#0E3A78;--emp-b:#2F7BF0}.employee-premium .emp-kpi:nth-child(2){--emp-a:#064E3B;--emp-b:#11B981}.employee-premium .emp-kpi:nth-child(3){--emp-a:#3A1B8F;--emp-b:#7C3AED}.employee-premium .emp-kpi:nth-child(4){--emp-a:#7A3E00;--emp-b:#F59E0B}.employee-premium .emp-kpi-label,.employee-premium .emp-kpi-value{color:#fff!important}.employee-premium .emp-kpi-ico{background:rgba(255,255,255,.18)!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important}
.employee-premium .emp-action:nth-child(1){--emp-a:#3A1B8F;--emp-b:#7C3AED}.employee-premium .emp-action:nth-child(2){--emp-a:#0E3A78;--emp-b:#2F7BF0}.employee-premium .emp-action:nth-child(3){--emp-a:#064E3B;--emp-b:#11B981}.employee-premium .emp-action:nth-child(4){--emp-a:#7A3E00;--emp-b:#F59E0B}
