/* Identité Gosu Conseils (gosuconseils.fr) : bleu nuit, dégradé orange → rose, Inter. Thème clair unique, comme le site. */
:root{
  --bg:#fffbfb; --surface:#fff; --ink:#252A4E; --body:#666A83; --muted:#8C8FA6;
  --line:rgba(37,42,78,.09); --line-strong:rgba(37,42,78,.16);
  --orange:#FFA835; --pink:#FA3DCC; --pink-ink:#B01E86; --grad:linear-gradient(90deg,#FFA835 0%,#FA3DCC 100%);
  --shadow:0 2px 16px rgba(0,0,0,.06); --radius:12px; --radius-btn:6px;
  --ok:#1D7A4E; --ok-bg:#E5F4EC; --warn:#935A00; --warn-bg:#FFF1DA; --bad:#B42318; --bad-bg:#FDECEA; --navy-bg:#EEF0F8; --pink-bg:#FDE9F7;
}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--bg);color:var(--body);font:15px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-underline-offset:3px}
h1,h2,h3{color:var(--ink);letter-spacing:.2px;text-wrap:balance;margin:0}
h1{font-size:1.85rem;line-height:1.2;font-weight:700}
h2{font-size:1.2rem;font-weight:700;margin:2.25rem 0 .9rem}
h3{font-size:1rem;font-weight:600;margin:0 0 .6rem}
p{margin:.4rem 0}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kicker{display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:.35rem}
.lead{max-width:68ch;margin:.5rem 0 0}

/* Barre du haut */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;padding:.7rem clamp(16px,4vw,40px);background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);font-weight:600}
.brand img{height:26px;width:auto;display:block}
.brand span{padding-left:.7rem;border-left:1px solid var(--line-strong);color:var(--body);font-weight:500}
.bar nav{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;font-size:.92rem}
.bar nav a{text-decoration:none;font-weight:500}.bar nav a:hover{text-decoration:underline}
.bar nav form{margin:0}
.who{color:var(--muted);max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.page{max-width:1180px;margin:0 auto;padding:2rem clamp(16px,4vw,40px) 4rem}
.page.narrowpage{max-width:900px}
.center{min-height:100vh;display:grid;place-items:center;padding:1.25rem}

/* Surfaces */
.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}
.card+.card{margin-top:1rem}
.narrow{width:100%;max-width:27rem}
.login-logo{height:34px;width:auto;display:block;margin-bottom:1.25rem}
.empty{padding:1.75rem;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface)}

/* Boutons */
button,.button{font:inherit;cursor:pointer}
.button,.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border:1px solid var(--ink);border-radius:var(--radius-btn);background:var(--ink);color:#fff;text-decoration:none;font-weight:500;line-height:1.2}
.button:hover,.btn:hover{background:#1b1f3d}
.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--navy-bg)}
.btn.small{padding:.4rem .8rem;font-size:.87rem}
button.link{background:none;border:0;padding:0;color:var(--ink);font-weight:500}
button.link:hover{text-decoration:underline}
button.danger,.danger{color:var(--bad)}
:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.google{display:flex;gap:.75rem;align-items:center;justify-content:center;margin-top:1.5rem;padding:.75rem 1rem;border:1px solid var(--line-strong);border-radius:var(--radius-btn);background:#fff;color:#1f1f1f;font-weight:500;text-decoration:none}
.google:hover{background:#f7f7f9}

/* Formulaires */
.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.1rem}
.field label,.legend{color:var(--ink);font-weight:600;font-size:.92rem}
.hint{font-size:.83rem;color:var(--muted)}
input[type=text],input[type=email],input[type=number],input[type=password],textarea,select{font:inherit;color:var(--ink);padding:.6rem .75rem;border:1px solid var(--line-strong);border-radius:var(--radius-btn);background:#fff;width:100%}
textarea{min-height:5.5rem;resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(250,61,204,.14)}
.countries{display:grid;gap:1rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));margin-top:.4rem}
.countries fieldset{border:0;padding:0;margin:0}
.countries legend{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:.35rem}
.check{display:flex;gap:.5rem;align-items:center;padding:.18rem 0;color:var(--ink);cursor:pointer}
.check input{accent-color:var(--pink);width:1rem;height:1rem}
.check .code{color:var(--muted);font-size:.8rem}
details.advanced{margin:.5rem 0 1.2rem}
details.advanced summary{cursor:pointer;color:var(--ink);font-weight:600}
.row3{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin-top:.8rem}
.alert{padding:.7rem .95rem;border-radius:8px;margin:0 0 1rem}
.alert.bad{background:var(--bad-bg);color:var(--bad)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.alert.ok{background:var(--ok-bg);color:var(--ok)}
.flash{padding:.6rem .9rem;border-radius:8px;background:var(--navy-bg);color:var(--ink)}

/* Pastilles */
.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.08rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.6;white-space:nowrap;background:var(--navy-bg);color:var(--ink)}
.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.bad{background:var(--bad-bg);color:var(--bad)}
.chip.paid{background:var(--pink-bg);color:var(--pink-ink)}.chip.seo{background:var(--navy-bg);color:var(--ink)}.chip.mixed{background:var(--warn-bg);color:var(--warn)}.chip.low{background:#F2F2F5;color:var(--muted)}
.chip.plain{background:#F2F2F5;color:var(--body);font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:.35rem}

/* Tableaux */
.tablewrap{overflow-x:auto;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}
.list{width:100%;border-collapse:collapse;font-size:.92rem}
.list th,.list td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.list th{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600;white-space:nowrap}
.list td.r,.list th.r{text-align:right}
.list tr:last-child td{border-bottom:0}
.list tbody tr:hover{background:#FFF7FB}
.list form{margin:0}
.dom{color:var(--ink);font-weight:600;text-decoration:none}.dom:hover{text-decoration:underline}
.sub{display:block;color:var(--muted);font-size:.83rem;max-width:34ch}
.strike{text-decoration:line-through;color:var(--muted);font-size:.85em;margin-left:.3rem}

/* Accueil des outils */
.tools{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr))}
.tools a{position:relative;display:flex;flex-direction:column;gap:.35rem;padding:1.35rem 1.4rem 1.3rem;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;color:var(--body);overflow:hidden}
.tools a::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad)}
.tools a strong{color:var(--ink);font-size:1.05rem}
.tools a:hover{box-shadow:0 4px 22px rgba(0,0,0,.1)}

/* Suivi d'une recherche */
.head{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;justify-content:space-between}
.meta-line{display:flex;flex-wrap:wrap;gap:.4rem .9rem;align-items:center;margin-top:.5rem;font-size:.9rem}
.progress{height:8px;border-radius:999px;background:#F3EEF3;overflow:hidden;margin:.6rem 0 .3rem}
.progress i{display:block;height:100%;background:var(--grad);border-radius:999px;transition:width .4s}
.stages{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.3rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));font-size:.88rem}
.stages li{display:flex;gap:.5rem;align-items:center}
.stages .dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--line-strong);flex:none}
.stages .done .dot{background:var(--ok)}.stages .now .dot{background:var(--pink);box-shadow:0 0 0 3px rgba(250,61,204,.18)}
.stages .now{color:var(--ink);font-weight:600}
.logbox{font-size:.82rem;max-height:14rem;overflow:auto;margin-top:.8rem;border-top:1px solid var(--line);padding-top:.6rem}
.logbox div{padding:.1rem 0}.logbox .warn{color:var(--warn)}.logbox .error{color:var(--bad)}
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.5rem 0 .2rem}
.tabs a{padding:.35rem .8rem;border-radius:999px;background:var(--surface);box-shadow:var(--shadow);text-decoration:none;font-weight:500;font-size:.9rem}
.tabs a.on{background:var(--ink);color:#fff}
.stats{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.9rem;margin:.3rem 0 .9rem}
.stats b{color:var(--ink)}

/* Fiche concurrent */
.grid2{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start}
.kv{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:.35rem 1rem;font-size:.92rem}
.kv dt{color:var(--muted)}.kv dd{margin:0;color:var(--ink)}
.args{margin:.2rem 0 0;padding-left:1.1rem}.args li{margin:.2rem 0;color:var(--ink)}
.shares{display:grid;gap:.35rem;margin-top:.6rem}
.share{display:grid;grid-template-columns:2.5rem 1fr 4.2rem;gap:.6rem;align-items:center;font-size:.85rem}
.share .num:last-child{text-align:right;white-space:nowrap}
.share .track{height:6px;border-radius:999px;background:#F3EEF3;overflow:hidden}.share .track i{display:block;height:100%;background:var(--grad)}
.score{font-size:2rem;font-weight:700;color:var(--ink);line-height:1}

/* Galerie de publicités */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;margin:1rem 0}
.filters .field{margin:0;min-width:11rem}
.ads{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}
.ad{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.ad .media{aspect-ratio:1/1;background:#F6F1F5;display:grid;place-items:center;overflow:hidden;position:relative}
.ad .media img{width:100%;height:100%;object-fit:cover;max-width:100%}
.ad .media .play{position:absolute;right:.5rem;bottom:.5rem}
.ad .body{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.45rem;font-size:.87rem}
.ad .who2{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}
.ad .who2 strong{color:var(--ink)}
.ad .text{white-space:pre-line;color:var(--ink);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.ad details summary{cursor:pointer;color:var(--muted);font-size:.8rem}
.ad details[open] + .text{-webkit-line-clamp:unset}
.ad .foot{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:.5rem;margin-top:auto;font-size:.8rem}
@media (prefers-reduced-motion:reduce){.progress i{transition:none}}
@media (max-width:600px){h1{font-size:1.5rem}.brand span{display:none}.kv{grid-template-columns:1fr}}
/* Page Accès */
.add{display:flex;flex-wrap:wrap;gap:.6rem .8rem;align-items:center;padding:1.1rem 1.25rem;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem}
.add label{font-size:.85rem;color:var(--muted)}
.add input{flex:1 1 16rem;width:auto}.add select{width:auto}
.add button{padding:.6rem 1.1rem;border:0;border-radius:var(--radius-btn);background:var(--ink);color:#fff;font-weight:500}

/* Coque d'un outil : menu à gauche, contenu à droite */
.shell{display:grid;grid-template-columns:15.5rem minmax(0,1fr);min-height:calc(100vh - 52px)}
.side{position:sticky;top:calc(52px + env(safe-area-inset-top,0px));align-self:start;height:calc(100vh - 52px);overflow-y:auto;background:var(--surface);border-right:1px solid var(--line);padding:1.5rem 1rem 1.5rem 1.25rem;display:flex;flex-direction:column}
.side-title{display:block;color:var(--ink);font-weight:700;font-size:1.02rem;line-height:1.3;text-decoration:none;margin-bottom:1.1rem}
.side-nav{display:flex;flex-direction:column;gap:.15rem;flex:1}
.side-nav a{display:block;padding:.5rem .7rem;border-radius:8px;color:var(--body);text-decoration:none;font-weight:500;font-size:.93rem}
.side-nav a:hover{background:#FBF4F8;color:var(--ink)}
.side-nav a.on{background:var(--navy-bg);color:var(--ink);font-weight:600}
.side-nav a.config{margin-top:auto;border-top:1px solid var(--line);border-radius:0 0 8px 8px;padding-top:.8rem}
.toolmain{padding:2rem clamp(16px,3.5vw,40px) 4rem;max-width:1240px;width:100%}
@media (max-width:880px){
  .shell{grid-template-columns:1fr}
  .side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:1rem 16px .6rem}
  .side-title{margin-bottom:.5rem}
  .side-nav{flex-direction:row;overflow-x:auto;gap:.3rem;padding-bottom:.3rem}
  .side-nav a{white-space:nowrap}
  .side-nav a.config{margin-top:0;border-top:0;border-radius:8px;padding-top:.5rem}
}
/* Configuration */
.cfg-key{display:grid;grid-template-columns:minmax(10rem,14rem) 1fr auto;gap:.6rem 1rem;align-items:start;padding:1rem 0;border-bottom:1px solid var(--line)}
.cfg-key:last-of-type{border-bottom:0}
.cfg-key .name{color:var(--ink);font-weight:600}
.cfg-key .state{font-size:.85rem;margin-top:.2rem}
.cfg-key .actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.cfg-row{display:grid;grid-template-columns:minmax(12rem,18rem) 1fr;gap:.4rem 1.25rem;padding:.9rem 0;border-bottom:1px solid var(--line);align-items:start}
.cfg-row:last-of-type{border-bottom:0}
.cfg-row .lbl{color:var(--ink);font-weight:600;font-size:.93rem}
.cfg-row input[type=number]{max-width:8rem}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem}
.section-head h2{margin:0}
.card h2{margin-top:0}
.pager{display:flex;gap:.5rem;align-items:center;margin-top:1.25rem}
@media (max-width:700px){.cfg-key,.cfg-row{grid-template-columns:1fr}}

::placeholder{color:#B3B5C6;opacity:1}
.signals{display:block;color:var(--muted);font-size:.78rem;margin-top:.3rem;min-width:11rem;max-width:15rem}
