@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --navy:#192e4b;
  --navy-deep:#0f1c30;
  --gold:#f08619;
  --gold-light:#f6a84f;
  --red:#f08619;
  --bone:#f5f0e6;
  --success:#2e7d4f;
  --error:#a5313a;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;color-scheme:light only;}
body{
  font-family:'Inter',sans-serif;
  color:var(--navy-deep);
  background:var(--bone);
  background-image:
    radial-gradient(circle at 12% 8%, rgba(201,162,75,.16), transparent 40%),
    radial-gradient(circle at 88% 18%, rgba(140,31,40,.10), transparent 45%),
    radial-gradient(circle at 50% 92%, rgba(15,28,61,.10), transparent 45%);
  background-attachment:fixed;
  line-height:1.55;
}
h1,h2,h3,h4{font-family:'Oswald',sans-serif;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}

/* Filet de sécurité global : le texte tapé dans un champ doit toujours être lisible,
   même hors des classes .field / .admin-form (ex: pages de login) */
input, select, textarea{
  color:#000 !important;
  background-color:#fff;
  color-scheme:light;
  font-family:'Inter',sans-serif;
}

.btn{
  display:inline-block;padding:14px 30px;font-family:'Oswald';font-weight:600;
  letter-spacing:.04em;font-size:.9rem;text-transform:uppercase;border-radius:2px;
  border:1px solid transparent;cursor:pointer;transition:.2s;
}
.btn-primary{background:var(--red);color:var(--bone);border-color:var(--gold);}
.btn-primary:hover{background:#711920;}
.btn-ghost{background:transparent;color:var(--navy-deep);border-color:var(--navy);}
.btn-ghost:hover{background:var(--navy-deep);color:var(--bone);}
.btn-gold{background:var(--gold);color:var(--navy-deep);}
.btn-gold:hover{background:var(--gold-light);}
.btn-danger{background:var(--error);color:#fff;}
.btn-sm{padding:8px 16px;font-size:.75rem;}

.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-family:'Oswald';}
.badge-pending{background:#fff3cd;color:#8a6417;}
.badge-validated{background:#d4edda;color:var(--success);}
.badge-rejected{background:#f8d7da;color:var(--error);}
.badge-paid{background:#d4edda;color:var(--success);}
.badge-unpaid{background:#f8d7da;color:var(--error);}

.flash{padding:14px 20px;border-radius:4px;margin-bottom:16px;font-size:.92rem;}
.flash-error{background:#f8d7da;color:#7d232c;border:1px solid #eebfc3;}
.flash-success{background:#d4edda;color:#215c39;border:1px solid #b9e0c5;}

.logo-mark{
  width:52px;height:52px;object-fit:contain;flex-shrink:0;
}

/* ---------- Liquid Glass ---------- */
.glass{
  position:relative;
  background:linear-gradient(135deg, rgba(255,255,255,.55), rgba(255,255,255,.22));
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.5);
  border-radius:16px;
  box-shadow:
    0 8px 32px rgba(15,28,61,.12),
    inset 0 1px 0 rgba(255,255,255,.7),
    inset 0 0 0 1px rgba(255,255,255,.08);
}
.glass::before{
  content:'';
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg, rgba(255,255,255,.45) 0%, rgba(255,255,255,0) 30%, rgba(255,255,255,0) 70%, rgba(255,255,255,.15) 100%);
  mix-blend-mode:overlay;
}
.glass-dark{
  background:linear-gradient(135deg, rgba(15,28,61,.72), rgba(8,18,39,.55));
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  backdrop-filter:blur(20px) saturate(140%);
  border:1px solid rgba(201,162,75,.28);
  box-shadow:
    0 8px 32px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.08);
}
