/* ===== SenPub IA – dashboard admin ===== */
body[data-portal="admin"] { background: #03251a; font-family: 'DM Sans', sans-serif; }
.adm { display: grid; grid-template-columns: 268px minmax(0, 1fr); min-height: 100vh; background: #03251a; }
.ai { width: 20px; height: 20px; flex: none; }
.adm-side { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 6px; overflow: hidden; padding: 16px 14px; color: #fff; background: linear-gradient(180deg, #04301f, #021a12); }
.adm-side::after { position: absolute; right: -20px; bottom: 60px; left: -20px; height: 230px; background: linear-gradient(115deg, transparent 22%, #0b8a45 22% 42%, #f5c518 42% 62%, #d62b2b 62% 82%, transparent 82%); opacity: .85; -webkit-mask-image: linear-gradient(to bottom, transparent, #000 55%); mask-image: linear-gradient(to bottom, transparent, #000 55%); content: ''; pointer-events: none; }
.adm-brand { display: flex; align-items: center; gap: 10px; padding: 4px 6px 16px; color: #fff; text-decoration: none; }
.adm-flag { width: 46px; height: 46px; flex: none; }
.adm-wordmark b { display: block; font: 800 26px/1 Manrope, sans-serif; color: #f5c518; letter-spacing: -.02em; }
.adm-wordmark b i { color: #f5c518; font-style: normal; }
.adm-wordmark b u { color: #ef4136; text-decoration: none; }
.adm-wordmark small { display: block; margin-top: 4px; color: #d9e8de; font-size: 9px; }
.adm-nav { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 2px; overflow-y: auto; }
.adm-link { display: flex; align-items: center; gap: 14px; width: 100%; border: 1px solid transparent; border-radius: 12px; padding: 11px 14px; color: #fff; background: transparent; font-size: 15px; font-weight: 500; text-align: left; cursor: pointer; transition: background .15s; }
.adm-link:hover { background: rgba(255,255,255,.08); }
.adm-link.is-active { border-color: #d8e04a; background: linear-gradient(90deg, #0b8a45, #7a8f1d 80%, #c9b81f); font-weight: 700; }
.adm-badge { margin-left: auto; min-width: 26px; border-radius: 99px; padding: 2px 8px; color: #fff; background: #e53935; font: 700 12px 'DM Sans', sans-serif; text-align: center; font-style: normal; }
.adm-badge[hidden] { display: none; }
.adm-logout { position: relative; z-index: 1; display: flex; align-items: center; gap: 14px; margin-top: auto; border: 1px solid rgba(239,65,54,.5); border-radius: 12px; padding: 13px 16px; color: #ff5a4f; background: rgba(60,8,8,.55); font-size: 15px; font-weight: 700; cursor: pointer; }
.adm-right { display: flex; flex-direction: column; min-width: 0; }
.adm-top { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 16px; height: 76px; padding: 0 26px; color: #fff; background: linear-gradient(106deg, #07683a 0 58%, #0b8a45 58% 71%, #f5c518 71% 74%, #d62b2b 74% 80%, #0a5a30 80%); }
.adm-iconbtn { position: relative; display: grid; place-items: center; width: 42px; height: 42px; flex: none; border: 0; border-radius: 10px; color: #fff; background: transparent; cursor: pointer; }
.adm-iconbtn:hover { background: rgba(255,255,255,.12); }
#adm-menu { display: none; }
.adm-search { display: flex; align-items: center; gap: 10px; flex: 0 1 540px; height: 44px; border-radius: 12px; padding: 0 16px; color: #e8f4ec; background: rgba(0,40,22,.55); }
.adm-search input { flex: 1; min-width: 0; border: 0; outline: 0; color: #fff; background: transparent; font-size: 14px; }
.adm-search input::placeholder { color: #cfe3d6; }
.adm-bell { margin-left: auto; }
.adm-bell em { position: absolute; top: 2px; right: 2px; min-width: 20px; border-radius: 99px; padding: 1px 5px; background: #e53935; font: 700 11px 'DM Sans', sans-serif; font-style: normal; }
.adm-user { display: flex; align-items: center; gap: 12px; border-radius: 99px; padding: 5px 16px 5px 6px; background: rgba(0,40,22,.5); }
.adm-avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #0b8a45; font: 800 15px Manrope, sans-serif; }
.adm-user-txt strong { display: block; font-size: 14px; }
.adm-user-txt small { color: #cfe3d6; font-size: 12px; }
.adm-body { flex: 1; min-width: 0; margin-top: -2px; border-radius: 26px 0 0 0; padding: 22px 26px 34px; color: #173b2a; background: #f6f7f4; }
.adm-sec[hidden] { display: none; }
.adm-hello { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-bottom: 18px; }
.adm-hello > div:first-child { flex: 1 1 360px; }
.adm-hello h1 { margin: 0; font: 800 32px/1.15 Manrope, sans-serif; letter-spacing: -.02em; }
.adm-hello p { margin: 4px 0 0; font-size: 18px; }
.adm-hello p b { color: #0b8a45; }
.adm-quote { border-radius: 12px; padding: 12px 18px; color: #2a4a38; background: #e4efe6; font-size: 14px; }
.adm-period { display: flex; align-items: center; gap: 8px; border: 1px solid #dfe5da; border-radius: 12px; padding: 0 12px; background: #fff; }
.adm-period select { min-height: 44px; border: 0; outline: 0; background: transparent; font-size: 14px; color: #173b2a; }
.adm-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.adm-kpi { display: flex; align-items: center; gap: 16px; border-radius: 16px; padding: 20px 22px; color: #fff; box-shadow: 0 8px 22px rgba(10,50,30,.14); }
.adm-kpi.k1 { background: linear-gradient(135deg, #0d8a46, #065f33); }
.adm-kpi.k2 { color: #3a2a00; background: linear-gradient(135deg, #ffd93b, #f5a60b); }
.adm-kpi.k3 { background: linear-gradient(135deg, #ea3d3d, #b81c1c); }
.adm-kpi.k4 { background: linear-gradient(135deg, #0d8a46, #065f33); }
.adm-kpi-ic { display: grid; place-items: center; width: 62px; height: 62px; flex: none; border-radius: 50%; background: rgba(255,255,255,.2); }
.adm-kpi-ic .ai { width: 32px; height: 32px; }
.adm-kpi small { display: block; font-size: 14px; opacity: .92; }
.adm-kpi strong { display: block; margin: 2px 0; font: 800 30px/1.1 Manrope, sans-serif; white-space: nowrap; }
.adm-kpi .tr { margin-left: 8px; font: 700 13px 'DM Sans', sans-serif; }
.adm-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; margin-bottom: 18px; align-items: start; }
.adm-card { border: 1px solid #e6eadf; border-radius: 16px; padding: 18px 20px; background: #fff; box-shadow: 0 6px 20px rgba(10,50,30,.06); }
.adm-card h3 { margin: 0 0 12px; font: 800 18px Manrope, sans-serif; }
.adm-cardhead { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.adm-cardhead h3 { margin: 0; }
.adm-more { border: 0; color: #0b8a45; background: transparent; font-size: 14px; font-weight: 700; cursor: pointer; }
.adm-stack { display: grid; gap: 18px; }
#adm-line svg { display: block; width: 100%; height: auto; }
.adm-donut { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.adm-donut svg { width: 150px; height: 150px; flex: none; }
.adm-legend { flex: 1; min-width: 150px; display: grid; gap: 9px; font-size: 14px; }
.adm-legend div { display: flex; align-items: center; gap: 8px; }
.adm-legend i { width: 12px; height: 12px; border-radius: 50%; }
.adm-legend b { margin-left: auto; font-weight: 600; }
.adm-bar { display: grid; grid-template-columns: 110px 1fr 36px; align-items: center; gap: 10px; margin-bottom: 12px; font-size: 14px; }
.adm-bar i { display: block; height: 12px; border-radius: 99px; background: #e8ece4; overflow: hidden; }
.adm-bar i s { display: block; height: 100%; border-radius: 99px; }
.adm-bar b { text-align: right; }
.adm-tablewrap { overflow-x: auto; }
.adm-table { width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; }
.adm-table th { padding: 10px 10px; color: #4f6257; background: #f4f7f0; font-size: 13px; font-weight: 600; white-space: nowrap; }
.adm-table td { padding: 12px 10px; border-top: 1px solid #edf0e9; white-space: nowrap; }
.adm-table td.d { max-width: 190px; overflow: hidden; text-overflow: ellipsis; color: #55685c; }
.adm-pill { display: inline-block; border-radius: 6px; padding: 5px 12px; color: #fff; font-size: 13px; font-weight: 700; }
.adm-pill.wait { background: #e53935; } .adm-pill.done { background: #0b9a4c; }
.adm-voir { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #dfe5da; border-radius: 8px; padding: 6px 12px; background: #fff; font-size: 13px; font-weight: 600; cursor: pointer; }
.adm-voir .ai { width: 16px; height: 16px; }
.adm-actions { position: relative; display: flex; align-items: center; gap: 6px; }
.adm-dots { border: 0; background: transparent; font-size: 20px; line-height: 1; cursor: pointer; }
.adm-menu { position: absolute; z-index: 3; top: 100%; right: 0; display: grid; min-width: 150px; border: 1px solid #dfe5da; border-radius: 10px; padding: 4px; background: #fff; box-shadow: 0 10px 24px rgba(10,50,30,.16); }
.adm-menu button { border: 0; border-radius: 6px; padding: 9px 12px; background: transparent; font-size: 14px; text-align: left; cursor: pointer; }
.adm-menu button:hover { background: #f1f5ed; }
.adm-activity { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.adm-activity li { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.adm-activity .ic { display: grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: 9px; color: #fff; }
.adm-activity time { margin-left: auto; color: #8a968d; font-size: 13px; white-space: nowrap; }
.adm-empty { padding: 14px 0; color: #7b897f; font-size: 14px; }
.adm-sechead { margin-bottom: 16px; }
.adm-sechead h1 { margin: 0; font: 800 28px Manrope, sans-serif; letter-spacing: -.02em; }
.adm-sechead p { margin: 4px 0 0; color: #5f7166; }
.adm-pricegrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.adm-pricegrid h3 { margin: 12px 0 6px; }
.adm-price { display: block; font: 800 28px Manrope, sans-serif; color: #0b8a45; }
.adm-soon-price { color: #8a968d; }
.adm-pricegrid p { margin: 8px 0 0; color: #66786d; font-size: 14px; }
.adm-chip { display: inline-block; border-radius: 99px; padding: 4px 12px; font-size: 13px; font-weight: 700; }
.s-affiche { color: #1d6b3f; background: #e7f1e9; } .s-video { color: #b81c1c; background: #fbe6e6; } .s-logo { color: #2a53a6; background: #e8eefb; }
.adm-soonbox { max-width: 560px; margin: 40px auto; padding: 36px; text-align: center; }
.adm-soonmark { font-size: 38px; }
.adm-soonbox h1 { margin: 8px 0; font: 800 26px Manrope, sans-serif; }
.adm-soonbox p { margin: 0; color: #5f7166; line-height: 1.6; }
.adm-back { margin: 0 0 14px; border: 1px solid #dfe5da; border-radius: 10px; padding: 9px 14px; background: #fff; font-size: 14px; font-weight: 600; cursor: pointer; }
.adm-body .page-view { padding: 0; }
@media (max-width: 1180px) { .adm-grid { grid-template-columns: 1fr; } .adm-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .adm-pricegrid { grid-template-columns: 1fr; } }
@media (max-width: 900px) {
  .adm { display: block; }
  .adm-side { position: fixed; z-index: 20; top: 0; bottom: 0; left: 0; width: 280px; transform: translateX(-100%); transition: transform .25s ease; }
  body.adm-open .adm-side { transform: none; box-shadow: 0 0 0 100vmax rgba(0,0,0,.5); }
  #adm-menu { display: grid; }
  .adm-top { padding: 0 14px; gap: 8px; } .adm-user-txt { display: none; } .adm-user { padding: 4px; }
  .adm-body { border-radius: 22px 22px 0 0; padding: 18px 14px 30px; }
  .adm-hello h1 { font-size: 25px; } .adm-kpis { grid-template-columns: 1fr; }
}
.adm-body .admin-local-notice { margin: 0 0 16px; }

/* ===== Site client, même style ===== */
body[data-portal="client"] { background: #03251a; font-family: 'DM Sans', sans-serif; }
body[data-portal="client"] .adm-body { overflow: hidden; }
.adm-body .client-hero-banner { margin: -22px -26px 24px; }
.adm-cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; border: 0; border-radius: 99px; padding: 0 22px; color: #3a2a00; background: linear-gradient(135deg, #ffd93b, #f5a60b); font: 800 14px 'DM Sans', sans-serif; white-space: nowrap; cursor: pointer; box-shadow: 0 6px 16px rgba(245,166,11,.3); transition: transform .15s, box-shadow .15s; }
.adm-cta:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(245,166,11,.4); }
.adm-side .adm-side-cta { position: relative; z-index: 1; margin-top: auto; border-radius: 12px; }
.adm-tagline { border-radius: 99px; padding: 9px 16px; background: rgba(0,40,22,.5); font-size: 14px; font-weight: 600; }
.adm-spacer { flex: 1; }
.adm-top .language-switch { display: flex; align-items: center; gap: 8px; color: #e8f4ec; font-size: 13px; }
.adm-top .language-switch select { min-height: 40px; border: 0; border-radius: 10px; padding: 0 12px; color: #fff; background: rgba(0,40,22,.55); font-size: 14px; }
.adm-top .language-switch select option { color: #173b2a; }
.adm-body .page-footer { margin-top: 28px; }
@media (max-width: 900px) {
  .adm-body .client-hero-banner { margin: -18px -14px 18px; }
  .adm-tagline, .adm-top .language-switch span { display: none; }
  .adm-top .adm-cta { padding: 0 14px; min-height: 40px; font-size: 13px; }
}
