/* LicGest — thème CGI-CONSULTING : anthracite & cyan, contenu blanc */
:root{
  --page:#ffffff; --ink:#152229; --ink2:#48606b; --muted:#8b93ab; --line:#e4e8f2;
  --navy:#16232b; --navy2:#1d2a32; --brand:#0e8aa5; --brand-soft:#e2f4f8;
  --gold:#26c2d8; --gold-dark:#0c7e99;
  --crit:#dc2626; --warn:#d97706; --ok:#059669;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--page);color:var(--ink);min-height:100vh;font-size:14px;display:flex;flex-direction:column}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}

/* ===== Bandeau marine ===== */
.topzone{background:linear-gradient(115deg,#101619 0%,var(--navy2) 60%,#283a45 100%);position:relative;overflow:hidden;color:#fff;border-bottom:3px solid var(--gold)}
.topzone::before{content:"";position:absolute;inset:0 0 0 38%;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64'><path d='M14 12l20 20-20 20' stroke='rgba(255,255,255,0.028)' stroke-width='7' fill='none' stroke-linecap='round' stroke-linejoin='round'/><path d='M34 12l20 20-20 20' stroke='rgba(38,194,216,0.05)' stroke-width='7' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
.topzone::after{content:"";position:absolute;right:-90px;top:-140px;width:430px;height:430px;
  background:radial-gradient(circle,rgba(38,194,216,.16),transparent 62%)}
.head-int{position:relative;z-index:2;padding:24px 28px 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.surtitre{font-size:16px;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:650}
.head-int h1{font-size:22px;font-weight:650;letter-spacing:-.3px;color:#fff}
.head-int p{font-size:13px;color:#a9bfc7;margin-top:4px}
.kpirow{display:flex;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:14px;overflow:hidden;backdrop-filter:blur(4px)}
.kpi{padding:11px 20px;min-width:126px;border-right:1px solid rgba(255,255,255,.10)}
.kpi:last-child{border-right:none}
.kpi .v{font-size:20px;font-weight:650;letter-spacing:-.3px;color:#fff}
.kpi .v .u{font-size:12px;font-weight:500;color:#9db4bd}
.kpi .l{font-size:11px;color:#9db4bd;margin-top:2px}
.kpi .d{font-size:10.5px;margin-top:4px;color:#8ad8ab}
.kpi .d.or{color:var(--gold)}
.kpi .d.neu{color:#9db4bd}
.kpi.hot .v{color:var(--gold)}
@media(max-width:1100px){.kpirow{display:none}}

/* Barre de navigation (sous le bandeau titre) */
header.navbar{display:flex;align-items:center;gap:22px;padding:0 28px;height:54px;position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.08)}
nav.menu{display:flex;gap:4px;flex-wrap:wrap}
nav.menu a{color:#a9bfc7;text-decoration:none;font-size:13.5px;font-weight:500;padding:8px 13px;border-radius:9px}
nav.menu a:hover{color:#fff;text-decoration:none}
nav.menu a.active{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 -2.5px 0 var(--gold)}
.nav-right{margin-left:auto;display:flex;gap:11px;align-items:center}
.bell{position:relative;font-size:16px;text-decoration:none}
.bell:hover{text-decoration:none}
.bell .n{position:absolute;top:-7px;right:-9px;background:var(--gold);color:var(--navy);font-size:10px;font-weight:700;border-radius:99px;padding:1px 5px}

/* ===== Boutons ===== */
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 15px;font-size:13px;font-weight:600;color:var(--ink2);cursor:pointer;text-decoration:none}
.btn:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.primary:hover{background:#0b7188;color:#fff}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.btn.gold:hover{background:#dda416;color:var(--navy)}
.btn.ghost-inv{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}
.btn.ghost-inv:hover{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.4)}
.btn.danger{color:#b91c1c;border-color:#f0caca}
.btn.danger:hover{background:#fdf0f0;color:#b91c1c;border-color:#e5a5a5}
.btn.sm{padding:5px 11px;font-size:12px;border-radius:7px}

/* ===== Contenu ===== */
main{padding:22px 28px;max-width:1280px;margin:0 auto;width:100%;flex:1}
.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}

/* Messages flash */
.flash{padding:11px 16px;border-radius:10px;margin-bottom:16px;font-size:13.5px;font-weight:500}
.flash.ok{background:#e0f4ea;color:#046c43;border:1px solid #b5e3cd}
.flash.err{background:#fde8e8;color:#b91c1c;border:1px solid #f3c4c4}

/* Cartes */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px;box-shadow:0 1px 2px rgba(20,28,63,.04)}
.card h2{font-size:14.5px;font-weight:650;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.card h2 .more{font-size:12.5px;color:var(--brand);font-weight:600}
.grid2{display:grid;grid-template-columns:1.7fr 1fr;gap:16px}
@media(max-width:980px){.grid2{grid-template-columns:1fr}}
.colgap{display:flex;flex-direction:column;gap:0}

/* Tableaux */
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;color:var(--muted);font-weight:600;font-size:11.5px;padding:8px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
td{padding:11px 8px;border-bottom:1px solid #eef1f8;vertical-align:middle}
tr:last-child td{border-bottom:none}
tbody tr:hover{background:#f8faff}
.client-nom{font-weight:600}
.type-sub{font-size:12.5px;color:var(--ink2)}
.jrs{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.num{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}
.vide{color:var(--muted);font-size:13.5px;padding:20px 0;text-align:center}
.mini{font-size:12px;color:var(--muted)}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:99px;white-space:nowrap}
.b-crit{background:#fde8e8;color:#b91c1c}
.b-warn{background:#fdf1da;color:#92600a}
.b-ok{background:#e0f4ea;color:#046c43}
.b-neutre{background:#eef1f8;color:var(--ink2)}
.b-type{background:var(--brand-soft);color:var(--brand)}
.b-or{background:#fdf3d7;color:var(--gold-dark)}

/* Répartition */
.rep{display:flex;flex-direction:column;gap:12px}
.rep .row{display:flex;align-items:center;gap:10px;font-size:13px}
.rep .name{width:110px;color:var(--ink2)}
.rep .bar{flex:1;height:12px;background:#eef1f8;border-radius:4px;overflow:hidden}
.rep .fill{height:100%;border-radius:4px}
.rep .n{width:34px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.legendnote{font-size:12px;color:var(--muted);margin-top:10px}

/* Alertes */
.alerts{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.alert-item{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.alert-item .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.alert-item b{font-size:13.5px;font-weight:600}
.alert-item p{font-size:12.5px;color:var(--ink2);margin-top:2px}
.alert-item .btns{margin-left:auto;display:flex;gap:6px;flex-shrink:0}

/* Formulaires */
form.fiche{max-width:680px}
.champ{margin-bottom:15px}
.champ label{display:block;font-size:12.5px;font-weight:600;color:var(--ink2);margin-bottom:5px}
.champ input[type=text],.champ input[type=email],.champ input[type=date],.champ input[type=number],
.champ input[type=password],.champ input[type=url],.champ input[type=file],.champ select,.champ textarea{
  width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:13.5px;
  font-family:inherit;background:#fff;color:var(--ink)}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}
.champ textarea{min-height:80px;resize:vertical}
.champ .aide{font-size:12px;color:var(--muted);margin-top:4px}
.ligne{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ligne3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:700px){.ligne,.ligne3{grid-template-columns:1fr}}
.case{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink2);font-weight:500}
.case input{width:16px;height:16px}
.form-actions{display:flex;gap:10px;margin-top:20px;align-items:center}

/* Filtres de liste */
.filtres{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}
.filtres input[type=text],.filtres select{border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-size:13px;background:#fff;font-family:inherit;color:var(--ink)}
.filtres input[type=text]{min-width:240px}
.fchip{font-size:12px;font-weight:500;border:1px solid var(--line);border-radius:99px;padding:6px 13px;color:var(--ink2);cursor:pointer;text-decoration:none;background:#fff}
.fchip:hover{text-decoration:none;border-color:var(--brand);color:var(--brand)}
.fchip.on{background:var(--brand-soft);border-color:#b9c6f2;color:var(--brand)}

/* Import : onglets */
.tabs-import{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.tabs-import button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 18px;font-size:13px;font-weight:600;color:var(--ink2);cursor:pointer;font-family:inherit}
.tabs-import button.actif{background:var(--navy);border-color:var(--navy);color:#fff}
.panneau{display:none}
.panneau.actif{display:block}
table.apercu{font-size:12.5px}
table.apercu th{background:#f6f8fc}
table.apercu td,table.apercu th{border:1px solid var(--line);padding:6px 9px}
.map-select{width:100%;border:1px solid var(--brand);border-radius:7px;padding:5px;font-size:12px;background:var(--brand-soft);font-family:inherit;color:var(--ink)}

/* ===== Pipeline (kanban) ===== */
.vues{display:flex;gap:6px;background:#eef1f8;padding:4px;border-radius:10px}
.vues span{font-size:12.5px;font-weight:500;padding:6px 15px;border-radius:8px;color:var(--ink2);cursor:pointer}
.vues span.on{background:var(--navy);color:#fff}
.board{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}
@media(max-width:1050px){.board{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.board{grid-template-columns:1fr}}
.col{border-radius:15px;padding:11px;border:1px solid var(--line);background:#fafbfe}
.col.c1{background:linear-gradient(#fef2f2 0,#fafbfe 90px)}
.col.c2{background:linear-gradient(#fff8ec 0,#fafbfe 90px)}
.col.c3{background:linear-gradient(#eefaf4 0,#fafbfe 90px)}
.col.c4{background:linear-gradient(#eef1f8 0,#fafbfe 90px)}
.col-head{display:flex;align-items:center;gap:9px;padding:6px 6px 12px;font-size:13px;font-weight:650}
.ch-ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:13px}
.col-head .n{background:#fff;border:1px solid var(--line);border-radius:99px;font-size:11.5px;padding:1px 8px;color:var(--ink2);font-weight:500}
.col-head .somme{margin-left:auto;font-size:12px;color:var(--gold-dark);font-weight:650}
.kcard{background:#fff;border-radius:12px;padding:13px 14px;margin-bottom:10px;border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(20,28,63,.05);transition:transform .12s,box-shadow .12s}
.kcard:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(20,28,63,.13);border-color:#c4cef2}
.krow{display:flex;align-items:center;gap:10px}
.kcard .clik{font-weight:600;font-size:13.5px}
.kcard .tit{font-size:12.5px;color:var(--ink2);margin-top:1px}
.jbadge{margin-left:auto;font-size:11.5px;font-weight:600;border-radius:99px;padding:3px 10px;flex-shrink:0;white-space:nowrap}
.vie{height:5px;background:#eef1f8;border-radius:99px;margin-top:11px;overflow:hidden}
.vie i{display:block;height:100%;border-radius:99px}
.kfoot{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}
.tag{background:#eef1f8;border-radius:6px;padding:2px 8px;font-weight:500;color:var(--ink2);font-size:11px}
.kfoot .euro{margin-left:auto;font-weight:600;color:var(--ink)}
.rap{font-size:10.5px;font-weight:500;color:var(--ok)}
.videcol{font-size:12.5px;color:var(--muted);text-align:center;padding:14px 6px}

/* ===== Bandeau bas (même style que le haut) ===== */
footer.botzone{margin-top:auto;background:linear-gradient(115deg,#101619 0%,var(--navy2) 60%,#283a45 100%);
  border-top:3px solid var(--gold);color:#a9bfc7;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 28px;height:28px;font-size:10.5px}
footer.botzone::before{content:"";position:absolute;inset:0 38% 0 0;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64'><path d='M14 12l20 20-20 20' stroke='rgba(255,255,255,0.028)' stroke-width='7' fill='none' stroke-linecap='round' stroke-linejoin='round'/><path d='M34 12l20 20-20 20' stroke='rgba(38,194,216,0.05)' stroke-width='7' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") repeat;
  -webkit-mask-image:linear-gradient(90deg,#000 40%,transparent);mask-image:linear-gradient(90deg,#000 40%,transparent)}
footer.botzone > *{position:relative;z-index:2}
footer.botzone .marque{color:var(--gold);font-weight:650;letter-spacing:2px;text-transform:uppercase;font-size:11px}
footer.botzone .copy{color:#a9bfc7}
footer.botzone .copy b{color:#fff;font-weight:600}
footer.botzone .liens{display:flex;align-items:center;gap:14px}
footer.botzone a{color:#a9bfc7;text-decoration:none}
footer.botzone a:hover{color:#fff;text-decoration:none}
footer.botzone .ver{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);
  border-radius:99px;padding:1px 9px;font-size:9.5px;color:#d5daf0}
