/* ANSANM V0.14.6.2 — Administration bleu / blanc / rouge */

:root{
  --bg:#f6f6f6;
  --card:#fff;
  --text:#161616;
  --muted:#666;
  --line:#ddd;
  --navy:#000091;
  --navy2:#000091;
  --soft:#f6f6fe;
  --ok:#e3fdeb;
  --blue:#000091;
  --red:#e1000f;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
}

html,body{background:#f6f6f6}

body{
  color:var(--text);
  font-size:15px;
  line-height:1.55;
}

body::before{
  display:none!important;
}

body::after{
  content:""!important;
  display:block!important;
  position:fixed!important;
  right:-40px!important;
  bottom:18px!important;
  width:420px!important;
  height:280px!important;
  background:url("/static/brand/ansanm-people.webp") center/contain no-repeat!important;
  opacity:.035!important;
  filter:grayscale(.2)!important;
  pointer-events:none!important;
  z-index:0!important;
}

.topbar,
.shell,
.kiosk-shell,
.attestation-shell,
.verify-shell,
.public-shell{
  position:relative;
  z-index:1;
}

.topbar{
  height:70px;
  background:#fff;
  color:var(--blue);
  border:0;
  border-bottom:1px solid #d6d6d6;
  box-shadow:none;
  padding:0 max(22px,5vw);
  gap:18px;
  position:relative;
}

.topbar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:4px;
  background:linear-gradient(
    90deg,
    #000091 0 33.333%,
    #fff 33.333% 66.666%,
    #e1000f 66.666% 100%
  );
  box-shadow:0 1px 0 #ddd;
}

.brand{
  color:var(--blue);
  font-size:22px;
  font-weight:700;
  letter-spacing:.08em;
  display:flex;
  align-items:center;
  gap:10px;
}

.brand::before{
  content:""!important;
  display:block!important;
  width:8px!important;
  height:30px!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(
    90deg,
    #000091 0 33.333%,
    #fff 33.333% 66.666%,
    #e1000f 66.666% 100%
  )!important;
}

.tagline{
  color:#5f5f5f;
  opacity:1;
  font-size:13px;
}

.shell{
  width:min(1240px,calc(100% - 48px));
  margin:36px auto 72px;
}

.grid{
  gap:18px;
}

h1,h2,h3,h4{
  color:#161616;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
  font-weight:700;
  letter-spacing:-.01em;
}

.eyebrow{
  color:var(--blue);
  font-size:11px;
  font-weight:700;
  letter-spacing:.055em;
}

.muted{
  color:#6a6a6a;
}

.card{
  background:#fff;
  border:1px solid #dcdcdc;
  border-radius:4px;
  padding:24px;
  box-shadow:0 1px 3px rgba(0,0,0,.045);
  overflow:hidden;
}

.card::after{
  display:none!important;
}

label{
  color:#3a3a3a;
  font-size:13px;
  font-weight:600;
}

input,
select,
textarea{
  border:1px solid #b8b8b8;
  border-radius:3px;
  padding:10px 11px;
  background:#fff;
  color:#161616;
  box-shadow:none;
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 2px rgba(0,0,145,.12);
}

button,
.button-link{
  border-radius:3px;
  padding:10px 15px;
  font-weight:700;
  box-shadow:none;
  transform:none!important;
}

button{
  background:var(--blue);
  color:#fff;
}

button:hover{
  background:#00006f;
  filter:none;
}

button.secondary,
.secondary-link{
  background:#fff;
  color:var(--blue);
  border:1px solid var(--blue);
}

button.secondary:hover,
.secondary-link:hover{
  background:#f6f6fe;
}

.status-badge,
.state,
.pill{
  border-radius:3px;
  font-weight:700;
}

.status-badge{
  padding:5px 9px;
  border:1px solid #c8c8c8;
  background:#f5f5f5;
  color:#3a3a3a;
}

.status-badge[data-status="live"],
.status-badge[data-status="draft"]{
  background:#ececfe;
  color:var(--blue);
  border-color:#c7c7ef;
}

.status-badge[data-status="ended"],
.status-badge[data-status="final"],
.status-badge[data-status="archived"]{
  background:#f2f2f2;
  color:#555;
  border-color:#d8d8d8;
}

.state.ok{
  background:#eaf7ee;
  color:#18753c;
}

.state.pending{
  background:#ececfe;
  color:var(--blue);
}

.state.warn{
  background:#fff3cd;
  color:#6a4a00;
}

.org-item,
.meeting-item,
.org-edit-panel,
.meeting-type-step,
.meeting-type-summary,
.roster-box,
.training-create-panel,
.training-detail,
.live-info,
.stat{
  border-radius:3px!important;
}

.org-item{
  background:#f8f8f8;
  border:1px solid #e0e0e0;
}

.meeting-item{
  background:#fff;
  border:1px solid #dcdcdc;
}

.meeting-type-step,
.meeting-type-summary,
.roster-box,
.training-create-panel{
  background:#f7f7f7;
  border-color:#dcdcdc;
}

.step-number{
  border-radius:2px;
  background:var(--blue);
  font-weight:700;
}

.meeting-hero{
  min-height:124px;
  border-left:5px solid var(--blue);
  border-radius:3px;
  padding:26px 28px;
  position:relative;
}

.meeting-hero::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:5px;
  height:100%;
  background:var(--red);
}

.manager-logo-wrap{
  border-radius:2px;
  border-color:#d4d4d4;
}

.back-link{
  color:var(--blue);
  font-weight:700;
}

.stat{
  background:#f7f7f7;
  border:1px solid #ddd;
}

.stat strong{
  color:var(--blue);
  font-size:28px;
  font-weight:700;
}

.live-info{
  background:#f8f8f8;
  border:1px solid #ddd;
}

.live-dot{
  background:var(--blue);
  box-shadow:0 0 0 4px #ececfe;
}

.participants-table th{
  background:#f4f4f4;
  color:#3f3f3f;
  font-size:11px;
  font-weight:700;
  letter-spacing:.045em;
  border-bottom:2px solid #cfcfcf;
}

.participants-table td{
  border-bottom:1px solid #e3e3e3;
}

.qr-image{
  border-radius:2px;
  border-color:#cfcfcf;
  box-shadow:none;
}

.training-certification-card{
  border-left:5px solid var(--blue);
}

.report-content{
  position:relative;
  max-width:920px;
  margin:22px auto 4px!important;
  padding:46px 54px 52px;
  background:#fff;
  border:1px solid #d2d2d2;
  border-radius:0;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  color:#1e1e1e;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
}

.report-content::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(
    90deg,
    #000091 0 33.333%,
    #fff 33.333% 66.666%,
    #e1000f 66.666% 100%
  );
  border-bottom:1px solid #ddd;
}

.report-main-title{
  font-size:1.7rem;
  font-weight:700;
  color:var(--blue);
  border-bottom:1px solid #d4d4d4;
}

.report-section-title{
  font-size:1.1rem;
  font-weight:700;
  color:#161616;
}

.report-validation-note{
  border-radius:3px;
  background:#f6f6fe;
  border:1px solid #c7c7ef;
  color:#1e1e70;
  font-weight:700;
}

.kiosk-body,
.attestation-body,
.verify-body{
  background:#f6f6f6;
}

.kiosk-card,
.attestation-card,
.verify-card,
.certifier-card{
  border-radius:4px;
  border:1px solid #d6d6d6;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}

.toast{
  border-radius:3px;
  background:#161616;
}

@media(max-width:760px){

  body::after{
    width:300px!important;
    height:200px!important;
    right:-100px!important;
    opacity:.025!important;
  }

  .topbar{
    height:64px;
    padding:0 18px;
  }

  .shell{
    width:min(94vw,700px);
    margin-top:24px;
  }

  .card{
    padding:18px;
  }

  .meeting-hero{
    padding:20px 18px;
  }

  .report-content{
    padding:30px 20px 34px;
  }
}
