/* ==========================================================================
   Thème « Crypto » — feuille de style unique de l'application.
   Identité sombre, sobre et lisible. Zéro dépendance externe.
   ========================================================================== */

:root{
  color-scheme: dark;

  /* Fonds */
  --bg:#0B0E13;
  --bg-soft:#0E131B;
  --surface:#131822;
  --surface-2:#171E2A;
  --surface-3:#1D2534;

  /* Lignes */
  --line:#232B3A;
  --line-soft:#1B2230;

  /* Texte */
  --txt:#E8EBF2;
  --txt-dim:#98A2B3;
  --txt-faint:#6B7688;

  /* Accents */
  --accent:#C8A96A;
  --accent-hi:#E0C892;
  --accent-ink:#161A21;
  --accent-soft:rgba(200,169,106,.13);
  --accent-line:rgba(200,169,106,.40);

  --up:#3FBF8F;
  --down:#F0616D;

  --radius:14px;
  --radius-sm:10px;
  --shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 20px 45px -20px rgba(0,0,0,.75);
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  min-height:100vh;
  background:radial-gradient(900px 420px at 50% -170px,rgba(200,169,106,.10),transparent 70%),var(--bg);
  background-attachment:fixed;
  color:var(--txt);
  font-family:var(--font);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.012em;line-height:1.25}
p{margin:0}
a{color:var(--accent);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--accent-hi)}
::selection{background:var(--accent-soft);color:#fff}
:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}

/* ---------- Mise en page ---------- */
.wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 22px}
.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:44px 22px}
.muted{color:var(--txt-dim)}
.faint{color:var(--txt-faint)}
.small{font-size:.85rem}
.num{font-variant-numeric:tabular-nums}

/* ---------- Marque ---------- */
.brand,.brand-lockup{display:inline-flex;align-items:center;gap:11px}
.brand{color:var(--txt);font-weight:600}
.brand:hover{color:var(--txt)}
.brand-lockup{margin-bottom:22px}
.brand-mark{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;
  color:var(--accent-ink);
  background:linear-gradient(160deg,var(--accent-hi),var(--accent) 55%,#A08040);
  box-shadow:0 6px 18px -8px rgba(200,169,106,.75)}
.brand-name{font-size:1.02rem;letter-spacing:.01em}

/* ---------- Barre d'en-tête ---------- */
.topbar{position:sticky;top:0;z-index:50;
  background:rgba(11,14,19,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}

/* ---------- Cartes ---------- */
.card{background:linear-gradient(180deg,var(--surface-2),var(--surface));
  border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:30px}
.card-narrow{width:100%;max-width:470px}
.card-head{margin-bottom:24px}
.page-title{font-size:1.4rem}
.page-sub{margin-top:6px;font-size:.9rem}
.foot{padding:26px 0;margin-top:56px;border-top:1px solid var(--line-soft);
  color:var(--txt-faint);font-size:.82rem;text-align:center}
.note{margin-top:22px;font-size:.8rem;color:var(--txt-faint);text-align:center}

/* ---------- Formulaires ---------- */
.field{margin-bottom:16px}
.label{display:block;margin-bottom:8px;font-size:.75rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--txt-dim)}
.input,
input[type="text"],input[type="number"],input[type="password"],input[type="date"],
input[type="email"],input[type="search"],input[type="tel"],select,textarea{
  width:100%;padding:11px 13px;
  font-family:inherit;font-size:.95rem;line-height:1.4;
  color:var(--txt);background:var(--bg-soft);
  border:1px solid var(--line);border-radius:var(--radius-sm);
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
.input:hover,input:hover,select:hover,textarea:hover{border-color:#2C3547}
.input:focus,input:focus,select:focus,textarea:focus{outline:none;
  border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft);background:#0D1219}
input::placeholder,textarea::placeholder{color:var(--txt-faint)}
input[type="number"]{font-variant-numeric:tabular-nums}
select{appearance:none;padding-right:36px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2398A2B3' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;border:1px solid transparent;border-radius:var(--radius-sm);
  font-family:inherit;font-size:.92rem;font-weight:600;line-height:1;cursor:pointer;
  text-decoration:none;white-space:nowrap;
  transition:background-color .15s ease,border-color .15s ease,filter .15s ease,transform .06s ease}
.btn:hover{text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn-block{width:100%}
.btn-sm{padding:8px 13px;font-size:.85rem}
.btn-primary{color:var(--accent-ink);border-color:#A98A4E;
  background:linear-gradient(180deg,var(--accent-hi),var(--accent) 60%,#BC9C5A)}
.btn-primary:hover{color:var(--accent-ink);filter:brightness(1.07)}
.btn-ghost{color:var(--txt);background:var(--surface-3);border-color:var(--line)}
.btn-ghost:hover{color:var(--txt);background:#242E3E;border-color:#313B4C}
.btn-danger{color:#FFE9EB;background:#7A2530;border-color:#93313D}
.btn-danger:hover{color:#fff;background:#8B2A36}

/* ---------- Barre d'actions ---------- */
.actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:26px}
.actions-split{justify-content:space-between}

/* ---------- Messages ---------- */
.alert{padding:12px 15px;margin-bottom:22px;font-size:.9rem;
  border:1px solid;border-radius:var(--radius-sm)}
.alert-error{color:#FFB7BD;background:rgba(240,97,109,.10);border-color:rgba(240,97,109,.35)}
.alert-ok{color:#9FE7CB;background:rgba(63,191,143,.10);border-color:rgba(63,191,143,.35)}

/* ---------- Tableaux ---------- */
table{width:100%;border-collapse:collapse;font-size:.92rem}
th{padding:12px 16px;text-align:left;font-size:.73rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--txt-faint);
  background:#111722;border-bottom:1px solid var(--line)}
td{padding:13px 16px;color:var(--txt);border-bottom:1px solid var(--line-soft)}
tr:last-child td{border-bottom:0}
tbody tr{transition:background-color .12s ease}
tbody tr:hover{background:#161D29}

/* ==========================================================================
   PONT TEMPORAIRE — dashboard.php s'appuie encore sur Tailwind (CDN).
   Ces règles alignent la page existante sur le thème sans toucher à son code.
   À retirer quand le tableau de bord aura été repris avec le thème natif.
   ========================================================================== */
body,button,input,select,textarea,table,th,td{font-family:var(--font)!important}
body{background-color:var(--bg)!important;color:var(--txt)!important}

[class*="bg-white"],[class*="bg-gray-50"],[class*="bg-gray-100"],
[class*="bg-gray-800"],[class*="bg-gray-900"]{background-color:var(--surface)!important;background-image:none!important}
[class*="bg-gray-700"],[class*="bg-gray-600"]{background-color:var(--bg-soft)!important;background-image:none!important}

[class*="text-white"],[class*="text-gray-900"],[class*="text-gray-800"],[class*="text-gray-100"]{color:var(--txt)!important}
[class*="text-gray-700"],[class*="text-gray-600"],[class*="text-gray-500"],
[class*="text-gray-400"],[class*="text-gray-300"]{color:var(--txt-dim)!important}
[class*="text-indigo-"]{color:var(--accent)!important}
[class*="text-emerald-"]{color:var(--up)!important}
[class*="text-rose-"],[class*="text-red-"]{color:var(--down)!important}

[class*="border-gray"],[class*="border-slate"]{border-color:var(--line)!important}
[class*="divide-"]>:not([hidden])~:not([hidden]){border-color:var(--line-soft)!important}
[class*="rounded"]{border-radius:var(--radius-sm)!important}
[class*="rounded-xl"],[class*="rounded-2xl"]{border-radius:var(--radius)!important}
[class*="rounded-full"]{border-radius:999px!important}
[class*="shadow"]{box-shadow:var(--shadow)!important}

[class*="bg-indigo-600"],[class*="bg-indigo-500"]{
  color:var(--accent-ink)!important;border-color:#A98A4E!important;
  background:linear-gradient(180deg,var(--accent-hi),var(--accent) 60%,#BC9C5A)!important}
[class*="bg-red-500"],[class*="bg-rose-500"]{background-color:#7A2530!important;color:#FFE9EB!important}
[class*="bg-emerald-"]{background-color:rgba(63,191,143,.14)!important;color:var(--up)!important}

[class*="hover:bg-indigo-"]:hover{filter:brightness(1.07)}
[class*="hover:bg-gray-"]:hover,[class*="hover:bg-slate-"]:hover{background-color:var(--surface-3)!important}
[class*="hover:text-gray-"]:hover{color:var(--txt)!important}
