:root{--bg:#071123;--panel:#101a36;--panel2:#0c1630;--text:#edf2ff;--muted:#b7c4ea;--accent:#d99066;--accent2:#f5c2a4;--border:rgba(217,144,102,.28);--border2:rgba(255,255,255,.12);--danger:#fecaca;--ok:#bbf7d0;--warning:#fde68a;--shadow:0 24px 60px rgba(0,0,0,.45)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;padding:24px;font-family:Inter,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top,rgba(217,144,102,.16),transparent 32%),linear-gradient(180deg,#060d1d 0%,#091327 100%)}
a{color:var(--accent2)}.wrap{width:min(100%,980px);margin:0 auto;min-height:calc(100vh - 48px);display:flex;align-items:center;justify-content:center}.wrap-wide{align-items:flex-start}.card{width:100%;padding:30px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015)),var(--panel);border:1px solid var(--border);box-shadow:var(--shadow)}
.eyebrow{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;border:1px solid rgba(217,144,102,.35);background:rgba(217,144,102,.08);color:var(--accent2);font-size:.92rem;font-weight:800;margin-bottom:16px}
.support-brand-wordmark-only{display:flex;align-items:center;justify-content:flex-start;margin-bottom:16px}.support-brand-wordmark-only-img{display:block;width:auto;height:clamp(34px,5vw,48px);max-width:min(56vw,230px);object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.25))}
.support-brand-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.support-brand-media{height:clamp(42px,7vw,62px);width:auto;display:block;flex:0 0 auto;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.25))}.support-brand-logo-video{border:1px solid rgba(217,144,102,.58);border-radius:14px;background:rgba(217,144,102,.08);box-shadow:inset 0 0 0 1px rgba(217,144,102,.16),0 14px 34px rgba(0,0,0,.28);padding:2px}.support-brand-wordmark-img{max-width:min(52vw,220px)}.muted{color:var(--muted)}
h1{margin:0 0 12px;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.08}h2{margin:0 0 12px;font-size:1.25rem}h3{margin:0 0 8px;font-size:1.05rem}p{margin:0;color:var(--muted);line-height:1.65;font-size:1.02rem}.lead{max-width:760px}.small{font-size:.92rem;color:#8fa0cd}.form{margin-top:24px;display:grid;gap:14px}.field label{display:block;margin-bottom:8px;font-weight:800;color:var(--text)}
input[type=text],input[type=password],input[type=email],textarea{width:100%;border-radius:14px;border:1px solid var(--border2);background:#081127;color:var(--text);padding:14px 15px;font-size:1rem;outline:none}input{min-height:52px}textarea{min-height:170px;resize:vertical;line-height:1.5}input:focus,textarea:focus{border-color:rgba(217,144,102,.78);box-shadow:0 0 0 4px rgba(217,144,102,.13)}
.actions{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}.btn,button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:14px;text-decoration:none;font-weight:900;border:0;cursor:pointer;background:linear-gradient(180deg,var(--accent2) 0%,var(--accent) 100%);color:#1e120b;box-shadow:0 14px 30px rgba(217,144,102,.22)}.btn-secondary{background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--border2);box-shadow:none}.btn-danger{background:linear-gradient(180deg,#fecaca 0%,#fca5a5 100%);color:#3b0a0a}.btn-small{min-height:38px;padding:0 12px;border-radius:10px;font-size:.9rem}.btn-disabled,button:disabled{opacity:.65;cursor:not-allowed;filter:saturate(.75)}
.notice{margin-top:22px;padding:16px 18px;border-radius:16px;border:1px solid var(--border2);background:rgba(255,255,255,.045);color:var(--muted);line-height:1.65}.notice strong{color:var(--text)}.error{border-color:rgba(254,202,202,.35);background:rgba(127,29,29,.18);color:#fee2e2}.ok{border-color:rgba(187,247,208,.35);background:rgba(20,83,45,.18);color:#dcfce7}.warning{border-color:rgba(217,144,102,.45);background:rgba(217,144,102,.10);color:#fde7d8}
.summary,.panel{margin-top:22px;padding:18px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--border2)}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meta-line{color:var(--muted);line-height:1.45}.meta-line strong{display:block;color:var(--text);font-size:.86rem;margin-bottom:2px}.pill{display:inline-flex;align-items:center;padding:.35rem .62rem;border-radius:999px;background:rgba(217,144,102,.10);border:1px solid rgba(217,144,102,.28);color:var(--accent2);font-size:.82rem;font-weight:900}.pill-green{background:rgba(20,83,45,.22);border-color:rgba(187,247,208,.35);color:#bbf7d0}.pill-red{background:rgba(127,29,29,.22);border-color:rgba(254,202,202,.35);color:#fecaca}
.ticket-list{margin-top:22px;display:grid;gap:12px}.ticket-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:16px;border-radius:16px;border:1px solid var(--border2);background:rgba(255,255,255,.04);text-decoration:none;color:var(--text)}.ticket-row:hover{border-color:rgba(217,144,102,.55)}.ticket-sub{margin-top:6px;color:var(--muted);font-size:.94rem}.thread{margin-top:24px;display:grid;gap:14px}.message{padding:16px;border-radius:18px;border:1px solid var(--border2);background:rgba(255,255,255,.04)}.message-admin{border-color:rgba(217,144,102,.38);background:rgba(217,144,102,.08)}.message-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;color:var(--muted);font-size:.92rem}.message-body{color:var(--text);line-height:1.65;overflow-wrap:anywhere}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.license-box{display:grid;gap:10px}.divider{height:1px;background:var(--border2);margin:22px 0}
@media(max-width:720px){body{padding:16px}.card{padding:22px}.summary-grid,.admin-grid{grid-template-columns:1fr}.ticket-row{grid-template-columns:1fr}.wrap{min-height:calc(100vh - 32px)}}

.meta-line-full{grid-column:1/-1}


body.support-key-entry::before{content:"";position:fixed;inset:0;background-image:linear-gradient(90deg,rgba(6,13,29,.32) 0%,rgba(6,13,29,.10) 28%,rgba(6,13,29,.04) 50%,rgba(6,13,29,.10) 72%,rgba(6,13,29,.32) 100%),url('/support/assets/scripts-html-avatar-support.webp');background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0;pointer-events:none}body.support-key-entry .wrap{position:relative;z-index:1}@media(max-width:720px){body.support-key-entry::before{display:none}}

/* Fond dynamique uniquement sur la page client "Votre ticket d’assistance".
   Reprise adaptée du fond de la bannière Scripts HTML : canvas particules + halos + grille. */
body.support-ticket-particles{
  background:linear-gradient(180deg,#0f1020 0%,#1b1d3a 100%);
  overflow-x:hidden;
}

body.support-ticket-particles::before,
body.support-ticket-particles::after{
  display:none !important;
  content:none !important;
}

.support-particles-bg{
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  min-height:100vh;
  overflow:hidden;
  isolation:isolate;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,#0f1020 0%,#1b1d3a 100%);
}

.support-particles-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  z-index:0;
}

.support-particles-gradient{
  position:absolute;
  inset:-10% -10% 0 -10%;
  background:
    radial-gradient(1200px 600px at 15% 20%, color-mix(in oklab, #00d4ff 22%, transparent), transparent 60%),
    radial-gradient(900px 500px at 85% 30%, color-mix(in oklab, #d99066 34%, transparent), transparent 65%);
  filter:saturate(120%);
  animation:supportFloatGlow 16s ease-in-out infinite alternate;
  z-index:1;
  pointer-events:none;
}

.support-particles-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(70% 60% at 50% 45%, black 60%, transparent 100%);
  z-index:2;
  pointer-events:none;
}

body.support-ticket-particles .wrap{
  position:relative;
  z-index:3;
}

body.support-ticket-particles .card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)),
    rgba(16,26,54,.92);
  backdrop-filter:blur(10px) saturate(115%);
}

@keyframes supportFloatGlow{
  0%{transform:translateY(0) scale(1);opacity:.9}
  100%{transform:translateY(-2%) scale(1.02);opacity:1}
}

@media(max-width:720px){
  .support-particles-gradient{opacity:.72}
  .support-particles-grid{background-size:48px 48px}
}


/* Grands cadres support avec contour cuivré renforcé. */
body.support-copper-card .card{
  position:relative;
  overflow:hidden;
  border:1.5px solid rgba(217,144,102,.62);
  box-shadow:
    0 24px 60px rgba(0,0,0,.45),
    0 0 0 1px rgba(217,144,102,.12),
    0 0 34px rgba(217,144,102,.16);
}
body.support-copper-card .card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(245,194,164,.10);
}
body.support-request-form.support-ticket-particles .card{
  background:rgba(16,26,54,.86);
}

/* Admin : logo image + cadre cuivre + ID licence stable. */
body.support-admin .support-brand-wordmark-only{
  margin-bottom:18px;
}
body.support-admin .support-brand-wordmark-only-img{
  height:clamp(34px,4vw,46px);
  max-width:min(52vw,220px);
}
body.support-admin.support-copper-card .card{
  border:1.5px solid rgba(217,144,102,.68);
  box-shadow:
    0 24px 60px rgba(0,0,0,.45),
    0 0 0 1px rgba(217,144,102,.14),
    0 0 38px rgba(217,144,102,.18);
}
.meta-line-license-id{
  grid-column:1 / -1;
  min-width:0;
  overflow:hidden;
}
.meta-value-nowrap{
  display:block;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
