/* Event Registration — Frontend Design System */
:root{
  --er-accent:#FFCD05;
  --er-accent-hover:#e6b804;
  --er-black:#000;
  --er-danger:#dc2626;
  --er-success:#16a34a;
  --er-bg:#f8fafc;
  --er-surface:#fff;
  --er-border:#e2e8f0;
  --er-border-strong:#cbd5e1;
  --er-text:#0f172a;
  --er-muted:#64748b;
  --er-shadow-sm:0 1px 2px rgba(15,23,42,.05);
  --er-shadow:0 4px 12px -2px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.04);
  --er-shadow-lg:0 12px 24px -4px rgba(15,23,42,.1),0 4px 8px -2px rgba(15,23,42,.06);
  --er-shadow-xl:0 20px 40px -8px rgba(15,23,42,.12),0 8px 16px -4px rgba(15,23,42,.08);
  --er-radius:12px;
  --er-radius-lg:16px;
  --er-radius-xl:20px;
  --er-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --er-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --er-transition:all .2s cubic-bezier(.4,0,.2,1);
}

/* ===== Base ===== */
.er-cabinet,.er-auth,.er-checkin{font-family:var(--er-font);color:var(--er-text);-webkit-font-smoothing:antialiased}
.er-cabinet *,.er-auth *,.er-checkin *{box-sizing:border-box}

/* ===== Layout ===== */
.er-cabinet{display:grid !important;grid-template-columns:20% 1fr !important;gap:32px;margin:34px 0;align-items:start}
.er-cabinet__content{min-width:0;padding:0}

/* ===== Nav ===== */
.er-cabinet__nav{position:sticky;top:100px;background:var(--er-surface);border:1px solid var(--er-border);border-radius:var(--er-radius-lg);box-shadow:var(--er-shadow);padding:14px 12px}
.er-cabinet__nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.er-cabinet__nav a{display:block;padding:12px 16px;border-radius:8px;color:var(--er-text);font-weight:500;font-size:15px;text-decoration:none;transition:var(--er-transition)}
.er-cabinet__nav a:hover{background:var(--er-accent);color:#000}
.er-cabinet__nav li.is-active a{background:#f1f5f9;color:var(--er-text);font-weight:600}
.er-cabinet__nav li.er-nav-logout a{color:var(--er-danger)}
.er-cabinet__nav li.er-nav-logout a:hover{background:var(--er-danger);color:#fff}

/* ===== Section Headers ===== */
.er-admin-header{display:flex;flex-direction:column;gap:4px;padding:0 0 20px;border-bottom:1px solid var(--er-border);margin-bottom:24px}
.er-admin-header h2{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em;color:var(--er-text);line-height:1.2}
.er-admin-header p{margin:0;color:var(--er-muted);font-size:14px}

/* ===== Stat Cards ===== */
.er-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px}
.er-stat-card{background:var(--er-surface);border:1px solid var(--er-border);border-radius:var(--er-radius);padding:20px;box-shadow:var(--er-shadow-sm);transition:var(--er-transition);position:relative;overflow:hidden;display:grid;gap:4px}
.er-stat-card:hover{box-shadow:var(--er-shadow);transform:translateY(-2px)}
.er-stat-card::after{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--er-accent)}
.er-stat-card--success::after{background:var(--er-success)}
.er-stat-card--dark::after{background:#000}
.er-stat-card__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--er-muted)}
.er-stat-card__value{font-size:32px;font-weight:800;color:var(--er-text);line-height:1}
.er-stat-card__hint{font-size:12px;color:var(--er-muted);line-height:1.3}

/* ===== Buttons ===== */
.er-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border:0;border-radius:8px;background:#000;color:#fff;font:inherit;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;box-shadow:var(--er-shadow-sm);transition:var(--er-transition);white-space:nowrap}
.er-button:hover{background:var(--er-accent);color:#000;transform:translateY(-1px)}
.er-button:active{transform:translateY(0)}
.er-button:focus-visible{outline:2px solid #000;outline-offset:2px}
.er-button--full{width:100%;margin: 5px 0px 5px 0px}
.er-button--outline{background:transparent;color:#000;border:1px solid var(--er-border-strong);box-shadow:none;width:100%;min-height:38px;padding:0 10px;font-size:13px}
.er-button--outline:hover{background:#000;color:#fff;border-color:#000}
.er-button--soft{background:#f1f5f9;color:#000;border:1px solid var(--er-border-strong);width:100%;min-height:38px;padding:0 10px;font-size:13px}
  .er-join-form .er-select{height:38px;font-size:13px;min-width:0;width:100%}
.er-button--soft:hover{background:var(--er-accent);color:#000;border-color:var(--er-accent)}
.er-button--danger{background:var(--er-danger)}
.er-button--danger:hover{background:#b91c1c;color:#fff}
.er-button--small{min-height:36px;padding:0 16px;font-size:13px}

/* ===== Badges ===== */
.er-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--er-accent);color:#000;font-weight:600;font-size:13px;white-space:nowrap}
.er-badge--success{background:var(--er-accent);color:#000}
.er-badge--muted{background:#f1f5f9;color:var(--er-muted)}
.er-badge--format{background:var(--er-accent);color:#000}

/* ===== Alerts ===== */
.er-alert{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:var(--er-radius);border:1px solid #fde68a;background:#fffbeb;margin:0 0 24px;box-shadow:var(--er-shadow-sm)}
.er-alert__icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;background:var(--er-accent);color:#000;font-weight:700;font-size:15px;flex-shrink:0;margin-top:2px}
.er-alert--error{background:#fef2f2;border-color:#fecaca}
.er-alert strong{display:block;margin-bottom:4px;color:var(--er-text);font-size:16px}
.er-alert p{margin:0 0 10px;color:var(--er-muted);font-size:14px}
.er-alert a{color:#000;font-weight:600;text-decoration:none;font-size:14px}
.er-alert a:hover{text-decoration:underline}

/* ===== Forms ===== */
.er-form{display:grid;gap:16px}
.er-form--card{padding:28px;max-width:640px}
.er-form label{display:grid;gap:6px;font-weight:600;font-size:14px;color:var(--er-text)}
.er-form input,.er-select{height:46px;padding:0 16px;border:1px solid var(--er-border-strong);border-radius:8px;font:inherit;font-size:15px;background:var(--er-surface);box-shadow:var(--er-shadow-sm);transition:var(--er-transition);width:100%}
.er-form input:focus,.er-select:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px rgba(255,205,5,.4)}
.er-form input::placeholder{color:var(--er-muted)}
.er-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.er-consents{display:grid;gap:12px;padding:16px;border-radius:var(--er-radius);background:var(--er-bg);border:1px solid var(--er-border)}
.er-checkbox{display:flex!important;align-items:flex-start;gap:10px;font-weight:500!important;font-size:14px;cursor:pointer}
.er-checkbox input{width:18px;height:18px;margin-top:2px;accent-color:#000;flex-shrink:0}
.er-checkbox span{color:var(--er-muted);line-height:1.4}

/* ===== Dashboard ===== */
.er-dashboard{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:stretch}
.er-qr{background:var(--er-surface);border:1px solid var(--er-border);border-radius:var(--er-radius-lg);box-shadow:var(--er-shadow);padding:20px 24px;display:flex;flex-direction:column;align-items:center;gap:14px}
.er-qr__label{font-weight:800;font-size:13px;color:#000;text-transform:uppercase;letter-spacing:.06em}
.er-qr-image{width:220px;height:220px;border-radius:8px;border:1px solid var(--er-border)}
.er-qr__code{font-family:var(--er-mono);font-size:28px;font-weight:700;letter-spacing:.12em;color:var(--er-text)}
.er-qr-fallback{display:flex;width:220px;height:220px;align-items:center;justify-content:center;border:1px dashed var(--er-border-strong);border-radius:8px;color:var(--er-muted)}
.er-next-event{background:var(--er-surface);border:1px solid var(--er-border);border-radius:var(--er-radius-lg);box-shadow:var(--er-shadow);padding:28px;display:flex;flex-direction:column;gap:16px}
.er-next-event__label{font-weight:800;font-size:13px;color:#000;text-transform:uppercase;letter-spacing:.06em}
.er-next-event h3{margin:0;font-size:24px;line-height:1.3;color:var(--er-text);font-weight:700}
.er-next-event__date{margin:0;font-size:17px;font-weight:600;color:var(--er-muted)}
.er-next-event__meta{display:flex;gap:10px}
.er-next-event a.er-button{margin-top:auto;align-self:flex-start}

/* ===== Empty ===== */
.er-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center}
.er-empty__icon{font-size:40px;opacity:.6}
.er-empty p{margin:0;color:var(--er-text);font-weight:600;font-size:17px}
.er-empty__hint{color:var(--er-muted)!important;font-weight:400!important;font-size:14px!important}
.er-empty a{margin-top:8px}
.er-empty--sm{padding:24px}
.er-empty--sm p{font-size:15px;color:var(--er-muted)}

/* ===== Events ===== */
.er-events{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.er-event-card{background:var(--er-surface);border:1px solid var(--er-border);border-radius:var(--er-radius-lg);box-shadow:var(--er-shadow-sm);display:flex;flex-direction:column;overflow:hidden;height:100%;transition:var(--er-transition)}
.er-event-card:hover{box-shadow:var(--er-shadow-lg);transform:translateY(-3px)}
.er-event-card.is-participating{border-color:var(--er-accent);box-shadow:0 0 0 3px rgba(255,205,5,.25),var(--er-shadow)}
.er-event-card__image{width:300px;max-width:100%;margin:0 auto;background:var(--er-bg);overflow:hidden;flex-shrink:0}
.er-event-card__image img{width:300px;max-width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.er-event-card:hover .er-event-card__image img{transform:scale(1.04)}
.er-event-card__body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}
.er-event-card__date{margin:0;font-size:12px;font-weight:700;color:#000;text-transform:uppercase;letter-spacing:.08em}
.er-event-card h3{margin:0;font-size:16px;line-height:1.4;color:var(--er-text);font-weight:700;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:67px}
.er-event-card__actions{display:grid;gap:8px;margin-top:auto}
.er-join-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}
.er-join-form .er-button{min-height:38px;padding:0 10px;font-size:13px}
.er-show-more-wrap{display:flex;justify-content:center;margin:28px 0 0}

/* ===== Rows ===== */
.er-rows{display:grid;gap:14px;margin-bottom:24px}
.er-row{background:var(--er-surface);border:1px solid var(--er-border);border-radius:var(--er-radius);box-shadow:var(--er-shadow-sm);display:flex;align-items:center;gap:16px;justify-content:space-between;padding:20px 22px}
.er-row__info{display:grid;gap:4px;min-width:0}
.er-row__info strong{color:var(--er-text);font-size:17px;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.er-row__info span{color:var(--er-muted);font-size:14px}

/* ===== Auth ===== */
.er-auth{max-width:480px;margin:48px auto;background:var(--er-surface);border-radius:var(--er-radius-xl);box-shadow:var(--er-shadow-xl);overflow:hidden}
.er-auth__header{height:140px;background:linear-gradient(135deg,#fffbeb,#fef3c7);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--er-border)}
.er-auth__logo{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#000,#1a1a1a);display:flex;align-items:center;justify-content:center;box-shadow:var(--er-shadow)}
.er-auth__body{padding:36px}
.er-auth__body h1{margin:0 0 6px;font-size:26px;font-weight:800;color:var(--er-text);text-align:center}
.er-auth__subtitle{margin:0 0 28px;text-align:center;color:var(--er-muted);font-size:15px}
.er-auth__body form{display:grid;gap:16px}
.er-auth__body label{display:grid;gap:6px;font-weight:600;font-size:14px}
.er-auth__body input{height:48px;padding:0 16px;border:1px solid var(--er-border-strong);border-radius:8px;font:inherit;font-size:15px;box-shadow:var(--er-shadow-sm);transition:var(--er-transition)}
.er-auth__body input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px rgba(255,205,5,.3)}
.er-auth__body input::placeholder{color:var(--er-muted)}
.er-auth__switch{text-align:center;margin:20px 0 0;font-size:14px;color:var(--er-muted)}
.er-auth__switch a{color:#000;font-weight:600}

/* ===== Checkin ===== */
.er-checkin{margin:34px 0}
.er-participant-card{background:var(--er-surface);border:1px solid var(--er-border);border-radius:var(--er-radius-lg);box-shadow:var(--er-shadow);padding:28px;margin-bottom:28px;display:grid;gap:24px}
.er-participant-card__main{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.er-participant-card__name h2{margin:0;font-size:26px;font-weight:800;color:var(--er-text)}
.er-participant-card__name code{font-family:var(--er-mono);background:var(--er-accent);color:#000;padding:6px 12px;border-radius:8px;font-size:22px;font-weight:700;letter-spacing:.1em}
.er-participant-card__fields{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.er-field{display:grid;gap:4px;padding:10px 12px;background:var(--er-bg);border-radius:8px;border:1px solid var(--er-border)}
.er-field__label{font-size:12px;font-weight:700;color:var(--er-muted);text-transform:uppercase;letter-spacing:.05em}
.er-field__value{font-size:15px;color:var(--er-text);font-weight:500;word-break:break-word}

/* ===== Section divider ===== */
.er-section-divider{height:1px;background:var(--er-border);margin:36px 0}
.er-page-header--sub{margin:0 0 18px}
.er-page-header--sub h3{margin:0 0 2px;font-size:22px;font-weight:700;color:var(--er-text)}

/* ===== Responsive ===== */
@media(max-width:900px){
  .er-cabinet{grid-template-columns:1fr !important;gap:20px;margin:20px 0}
  .er-cabinet__nav{position:static;padding:10px}
  .er-cabinet__nav ul{display:flex;flex-wrap:wrap;gap:4px}
  .er-cabinet__nav a{padding:10px 14px;font-size:14px}
  .er-dashboard{grid-template-columns:1fr}
  .er-events{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .er-events{grid-template-columns:1fr}
  .er-auth{margin:24px 0}
  .er-auth__body{padding:26px 22px}
  .er-auth__header{height:100px}
  .er-form__row{grid-template-columns:1fr}
  .er-row{flex-direction:column;align-items:flex-start}
  .er-participant-card{padding:20px}
  .er-participant-card__fields{grid-template-columns:1fr}
  .er-participant-card__main{flex-direction:column;align-items:flex-start}
  .er-admin-header h2{font-size:24px}
  .er-stat-grid{grid-template-columns:1fr 1fr;gap:12px}
  .er-stat-card{padding:16px}
  .er-stat-card__value{font-size:26px}
  .er-qr{padding:18px 20px}
  .er-qr-image{width:180px;height:180px}
  .er-qr__code{font-size:22px}
  .er-dashboard{gap:16px}
  .er-next-event{padding:22px}
  .er-next-event h3{font-size:20px}
  .er-event-card__body{padding:16px}
  .er-event-card h3{font-size:15px;min-height:63px}
  .er-button{min-height:42px;padding:0 18px;font-size:14px}
  .er-button--small{min-height:34px;padding:0 14px;font-size:12px}
  .er-join-form .er-select{height:36px;min-width:90px;font-size:12px}
  .er-form--card{padding:20px}
  .er-form input,.er-select{height:44px}
  .er-row{padding:16px}
  .er-empty{padding:32px 16px}
  .er-checkbox span{font-size:13px}
  .er-consents{padding:12px}
}
@media(max-width:480px){
  .er-stat-grid{grid-template-columns:1fr}
  .er-events{gap:16px}
  .er-auth__body{padding:22px 16px}
  .er-auth__body h1{font-size:22px}
  .er-qr-image{width:160px;height:160px}
  .er-qr__code{font-size:20px}
  .er-show-more-wrap{margin:20px 0 0}
  .er-cabinet__nav a{padding:9px 12px;font-size:13px}
}

/* ===== Fixes ===== */
.er-badge--participating{display:inline-flex;align-items:center;justify-content:center;text-align:center;margin:0 auto}
.er-event-card__actions{display:grid;gap:8px}
.er-event-card__actions .er-join-form{margin:0}

/* Participations row: button 20% */
.er-row--participation{display:flex;align-items:center;gap:20px;justify-content:space-between}
.er-row--participation .er-row__info{flex:1;min-width:0}
.er-row--participation .er-button--row{width:20%;min-width:120px;min-height:42px;font-size:14px;flex-shrink:0}
@media(max-width:720px){
  .er-row--participation{flex-direction:column;align-items:stretch;gap:12px}
  .er-row--participation .er-button--row{width:100%;min-height:44px}
  .er-join-form{gap:6px}
  .er-button--soft,.er-button--outline,.er-join-form .er-button{min-height:40px;font-size:14px}
}

/* ===== Sidebar and dashboard tweaks ===== */
.er-cabinet__nav li.is-active a{background:#000;color:#fff;font-weight:600}
.er-cabinet__nav a:hover{background:var(--er-accent);color:#000}
.er-cabinet__nav li.is-active a:hover{background:#000;color:#fff}
.er-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin-left:8px;padding:0 6px;border-radius:50%;background:var(--er-accent);color:#000;font-size:13px;font-weight:700;line-height:1;vertical-align:middle}
.er-cabinet__nav li.is-active a:hover .er-nav-badge,.er-cabinet__nav li.is-active .er-nav-badge{background:var(--er-accent);color:#000}
.er-cabinet__nav a{display:flex;align-items:center;justify-content:space-between;gap:8px}
.er-cabinet__nav a span.er-nav-badge{flex-shrink:0}
.er-next-event .er-button{background:#000;color:#fff}
.er-next-event .er-button:hover{background:var(--er-accent);color:#000}
.er-dashboard{align-items:stretch}
@media(max-width:720px){.er-nav-badge{min-width:20px;height:20px;font-size:12px}}
/* ===== Dashboard polish ===== */
.er-next-event__footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.er-next-event__footer .er-button{margin-top:0;align-self:auto}
.er-next-event{min-height:0}

/* ===== Profile form validation and layout ===== */
.er-form label.er-invalid input{border-color:var(--er-danger);box-shadow:0 0 0 3px rgba(220,38,38,.12)}



.er-form__row--pair{grid-template-columns:2fr 3fr}
@media(max-width:720px){.er-form__row--pair{grid-template-columns:1fr}}



.er-form .er-form__row--pair label{margin:0!important}






/* ===== Event card join controls ===== */
.er-event-card__actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:auto;width:100%;align-items:stretch}
.er-event-card__actions > *{width:100%}
.er-join-form{display:grid !important;gap:8px;width:100%;grid-template-columns:1fr}
.er-join-form--cancel{grid-template-columns:1fr}
.er-join-form--format{grid-template-columns:1fr 1fr}
.er-join-form--format .er-select,.er-join-form--format .er-button{width:100%;min-width:0}
.er-join-form--cancel .er-button{width:100%}
.er-join-form.er-join-form--join.er-join-form--both{grid-template-columns:1fr 1fr}
.er-join-form.er-join-form--both .er-button{width:100%;min-width:0}
.er-join-form:not(.er-join-form--format):not(.er-join-form--cancel):not(.er-join-form--both){grid-template-columns:1fr}
.er-join-form:not(.er-join-form--format):not(.er-join-form--cancel):not(.er-join-form--both) .er-button{width:100%}
.er-event-card__actions .er-badge--participating{width:100%;justify-content:center}
.er-event-card__actions .er-badge{width:100%;justify-content:center}
.er-event-card__actions .er-button,.er-event-card__actions .er-select{width:100%;min-width:0}
.er-event-card__actions a.er-button--outline{width:100%}


/* ===== Label print ===== */
.er-participant-card__name-row{display:flex;align-items:center;gap:8px}
.er-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--er-border);background:#fff;color:#333;border-radius:8px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.er-icon-button:hover{background:var(--er-accent);color:#000;border-color:var(--er-accent)}
.er-icon-button:disabled{opacity:.5;cursor:wait}


/* ===== OTP ===== */\n.er-otp-input{font-size:28px !important;text-align:center;letter-spacing:10px;font-family:var(--er-mono)}\n.er-otp-form{margin-top:8px}\n.er-otp-resend{margin-top:10px;text-align:center} .smart-captcha{min-height:100px;margin:2px 0}
/* ===== Event image fixed size ===== */
@media(max-width:768px){
  .er-event-card__image,.er-event-card__image img{width:220px;height:132px}
}
@media(max-width:480px){
  .er-event-card__image,.er-event-card__image img{width:180px;height:108px}
}

/* ===== Check-in page ===== */
.er-checkin{width:100%;max-width:none;min-width:0;margin:24px 0}
.er-checkin .er-page-header{
  display:block;margin:0 0 20px;padding:0 0 16px;
  border-bottom:1px solid var(--er-border);
}
.er-checkin .er-page-header h1{
  margin:0 0 6px;padding:0;font-size:32px;line-height:1.2;
  font-weight:800;letter-spacing:-.01em;color:var(--er-text);
}
.er-checkin .er-page-header p{margin:0;color:var(--er-muted);font-size:15px;line-height:1.5}
.er-checkin .er-page-header--sub{
  margin:0 0 16px;padding:0;border:0;
}
.er-checkin .er-page-header--sub h2{
  margin:0;font-size:22px;line-height:1.3;font-weight:800;color:var(--er-text);
}
.er-checkin .er-participant-card__main{align-items:stretch}
.er-checkin .er-participant-card__fields{width:100%;min-width:0}

.er-checkin-notice{margin:0 0 20px}
.er-checkin-notice p{margin:0}
.er-alert--success{background:#ecfdf5;border-color:#a7f3d0}
.er-alert--success .er-alert__icon{background:var(--er-success);color:#fff}
.er-alert--success strong{color:#14532d}
.er-alert--success p{color:#166534}
.er-alert--info{background:#eff6ff;border-color:#bfdbfe}
.er-alert--info .er-alert__icon{background:#2563eb;color:#fff}
.er-alert--info strong{color:#1e3a8a}
.er-alert--info p{color:#1d4ed8}

.er-row--checkin{gap:18px}
.er-row--checkin .er-row__info{flex:1;min-width:0}
.er-row--checkin .er-row__info strong{line-height:1.35;overflow-wrap:anywhere}
.er-row--checkin.is-present{background:#f0fdf4;border-color:#bbf7d0}
.er-row--checkin.is-present .er-row__info strong{color:#14532d}
.er-attendance-action{
  display:flex;flex-direction:column;align-items:flex-end;gap:6px;
  flex-shrink:0;max-width:250px;
}
.er-attendance-form{display:flex;width:100%;margin:0}
.er-attendance-form .er-button{
  width:100%;white-space:normal;text-align:center;line-height:1.25;
  padding:0 18px;
}
.er-button--attend{background:var(--er-black);color:#fff}
.er-button--attend:hover{background:var(--er-accent);color:#000}
.er-button--present{background:var(--er-success);color:#fff;border:1px solid #15803d}
.er-button--present:hover{background:#15803d;color:#fff;border-color:#166534}
.er-attendance-check{flex-shrink:0}
.er-attendance-hint{font-size:12px;line-height:1.35;color:#166534;text-align:right}

@media(max-width:720px){
  .er-checkin{margin:18px 0}
  .er-checkin .er-page-header h1{font-size:28px}
  .er-checkin .er-page-header p{font-size:14px}
  .er-participant-card{padding:18px;gap:18px;border-radius:14px}
  .er-participant-card__main{align-items:stretch}
  .er-participant-card__name h2{font-size:22px;line-height:1.3;overflow-wrap:anywhere}
  .er-participant-card__name-row{flex-wrap:wrap}
  .er-participant-card__name code{font-size:19px;letter-spacing:.08em}
  .er-participant-card__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .er-field{padding:9px 11px;min-width:0}
  .er-field__value{font-size:14px}
  .er-row--checkin{flex-direction:column;align-items:stretch;gap:14px;padding:16px}
  .er-attendance-action{width:100%;max-width:none;align-items:stretch}
  .er-attendance-form .er-button{width:100%;min-height:44px;font-size:14px}
  .er-attendance-hint{text-align:left}
  .er-checkin-notice{padding:14px 16px}
  .er-checkin-notice strong{font-size:15px}
}

@media(max-width:480px){
  .er-checkin{margin:12px 0}
  .er-checkin .er-page-header h1{font-size:26px}
  .er-checkin .er-page-header--sub h2{font-size:20px}
  .er-participant-card{padding:16px}
  .er-participant-card__fields{grid-template-columns:1fr}
  .er-participant-card__name h2{font-size:21px}
  .er-row--checkin{padding:14px}
  .er-checkin-notice{gap:10px;padding:13px 14px}
  .er-checkin-notice .er-alert__icon{width:26px;height:26px}
}
