:root{--accent:#c8a96b;--bg1:#0a0f1d;--bg2:#131b2f;--glass:rgba(255,255,255,.08);--text:#f6f7fb;--muted:rgba(255,255,255,.72);--border:rgba(255,255,255,.14)}
.seipro-shell{position:relative;min-height:100vh;padding:32px 16px;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:radial-gradient(circle at top left, rgba(255,255,255,.14), transparent 30%),linear-gradient(135deg,var(--bg1),var(--bg2));background-size:cover;background-position:center;overflow:hidden}
.seipro-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,18,.38),rgba(7,10,18,.85));backdrop-filter:blur(8px)}
.seipro-shell>*{position:relative;z-index:2}
.seipro-card,.seipro-stat{max-width:1120px;margin:0 auto 18px;background:var(--glass);border:1px solid var(--border);box-shadow:0 18px 60px rgba(0,0,0,.3);backdrop-filter:blur(22px);border-radius:28px;padding:24px}
.seipro-hero{padding:38px 28px;text-align:center;animation:seiproRise .9s ease both;position:relative}
.seipro-logo{max-width:82px;max-height:82px;object-fit:contain;margin:0 auto 16px;display:block}
.seipro-kicker{display:inline-block;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.seipro-title{font-size:clamp(2.2rem,6vw,4.2rem);line-height:1.03;margin:18px 0 10px}
.seipro-subtitle{font-size:1.08rem;color:var(--muted);max-width:760px;margin:0 auto 20px}
.seipro-welcome{font-size:1.2rem;margin:16px 0 24px;color:#fff}.seipro-welcome span{display:block;font-size:clamp(2rem,7vw,4.8rem);font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,#fff,var(--accent),#fff);-webkit-background-clip:text;background-clip:text;color:transparent;animation:seiproShimmer 6s linear infinite}
.seipro-meta,.seipro-countdown,.seipro-actions-card,.seipro-scanner-grid,.seipro-stats,.seipro-input-row,.seipro-scanner-toolbar,.seipro-scanner-controls,.seipro-result-chips{display:grid;gap:14px}
.seipro-meta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));text-align:left}.seipro-meta div,.seipro-countdown div,.seipro-result-chip{padding:18px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.seipro-meta strong,.seipro-countdown strong,.seipro-result-chip span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.seipro-meta span{font-size:1rem;color:#fff}
.seipro-countdown{grid-template-columns:repeat(4,1fr);margin-top:22px}.seipro-countdown strong{font-size:2rem;color:#fff;letter-spacing:-.04em}.seipro-countdown span{color:var(--muted)}
.seipro-rsvp-card h3{font-size:1.6rem;margin-top:0}.seipro-input-row{grid-template-columns:140px 1fr;align-items:center}
.seipro-input-row select,.seipro-form-grid input,.seipro-form-grid textarea,.seipro-form-grid select,.seipro-scanner-wrap textarea,.seipro-scanner-wrap select{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#111}
.seipro-shell .seipro-input-row select{color:#fff;background:rgba(255,255,255,.08)}
.seipro-btn,.seipro-upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 18px;border-radius:18px;border:none;text-decoration:none;font-weight:700;cursor:pointer;background:linear-gradient(135deg,var(--accent),#fff);color:#111;transition:transform .2s ease, box-shadow .2s ease;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.seipro-btn:hover,.seipro-upload-btn:hover{transform:translateY(-1px)}.seipro-btn.alt,.seipro-upload-btn{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12)}
.seipro-note{color:var(--muted)}
.seipro-msg{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.08);margin:14px 0}.seipro-msg.success{border:1px solid rgba(67,226,139,.45)}.seipro-msg.error{border:1px solid rgba(255,107,107,.45)}
.seipro-qr-card{display:none;text-align:center;padding-top:12px}.seipro-qr-card.is-visible{display:block}#seipro-qr{display:flex;justify-content:center;padding:22px;background:#fff;border-radius:28px;max-width:320px;margin:18px auto 10px;box-shadow:0 18px 60px rgba(0,0,0,.18)}#seipro-qr img{max-width:100%}.seipro-qr-copy{font-size:.95rem;color:var(--muted)}
.seipro-actions-card{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.theme-graduation{--bg1:#0b1020;--bg2:#17223d}.theme-wedding{--bg1:#241b24;--bg2:#4e3446}.theme-xv{--bg1:#28112e;--bg2:#431b4a}
@keyframes seiproRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes seiproShimmer{0%{filter:brightness(1)}50%{filter:brightness(1.2)}100%{filter:brightness(1)}}
.seipro-admin-wrap{padding-right:20px}.seipro-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:18px 0}.seipro-stat span{display:block;color:#5c6472;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.seipro-stat strong{font-size:2rem;display:block;margin-top:8px}
.seipro-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.seipro-form-grid label{display:grid;gap:8px;font-weight:600}.seipro-form-grid textarea{min-height:110px}
.seipro-scanner-wrap{color:#fff}.seipro-scanner-toolbar{grid-template-columns:1fr auto;align-items:center;margin-bottom:18px}.seipro-scanner-controls{grid-template-columns:1fr auto;align-items:center}
.seipro-scanner-grid{grid-template-columns:minmax(300px,460px) 1fr;align-items:start}.seipro-scan-result{min-height:280px;border-radius:24px;padding:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}.seipro-scan-result.ok{border-color:rgba(67,226,139,.5);box-shadow:inset 0 0 0 1px rgba(67,226,139,.18)}.seipro-scan-result.error{border-color:rgba(255,107,107,.5)}.seipro-scan-result.warn{border-color:rgba(255,193,7,.6)}.seipro-scan-result.security{border-color:rgba(255,87,34,.65)}
.seipro-result-state{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}.seipro-result-state.idle{background:rgba(255,255,255,.08);color:#fff}.seipro-result-state.ok{background:#dcfce7;color:#166534}.seipro-result-state.bad{background:#fee2e2;color:#991b1b}
.seipro-result-chips{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:16px 0}.seipro-result-chip strong{display:block;font-size:1.3rem;color:#fff}
.seipro-manual-box{margin-top:14px;padding:16px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.seipro-manual-box label{display:block;font-weight:700;margin-bottom:10px}.seipro-manual-box textarea{min-height:110px;color:#fff}
#reader__dashboard_section_csr button,#reader__camera_selection{color:#111}#seipro-reader{overflow:hidden;border-radius:28px;background:#111;min-height:280px}#seipro-reader video{border-radius:28px}
@media (max-width:780px){.seipro-countdown{grid-template-columns:repeat(2,1fr)}.seipro-input-row,.seipro-scanner-grid,.seipro-scanner-toolbar,.seipro-scanner-controls{grid-template-columns:1fr}.seipro-card,.seipro-stat{padding:20px;border-radius:22px}}
.seipro-btn.is-locked,.seipro-btn[disabled]{opacity:.65;cursor:not-allowed;filter:grayscale(.1)}#seipro-passes[disabled]{opacity:.7;cursor:not-allowed}
.seipro-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.seipro-badge.status-pending{background:#fff3cd;color:#6b4f00}.seipro-badge.status-confirmed{background:#dbeafe;color:#1d4ed8}.seipro-badge.status-checked_in{background:#dcfce7;color:#166534}
.seipro-admin-actions{display:flex;flex-wrap:wrap;gap:8px}.seipro-admin-actions .button{margin:2px 0}
.seipro-hero:before{content:'';position:absolute;inset:0;border-radius:28px;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,0));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

.seipro-pdf-pass{max-width:560px;margin:0 auto;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.14);border-radius:30px;padding:14px}
.seipro-pdf-inner{padding:22px;border-radius:24px;background:linear-gradient(180deg,rgba(12,16,27,.92),rgba(21,27,44,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.seipro-pdf-kicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.seipro-pdf-pass h2{font-size:1.8rem;margin:16px 0 8px;text-align:center}
.seipro-pdf-name{font-size:1.3rem;font-weight:800;text-align:center;margin:0 0 16px}
.seipro-pdf-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;color:var(--muted);font-size:.95rem;text-align:center;margin-bottom:8px}
.seipro-qr-actions{display:flex;justify-content:center;margin-top:14px}

.seipro-wallet-screen{padding-top:18px}
.seipro-wallet-topbar{position:relative;z-index:3;max-width:980px;margin:0 auto 18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
#seipro-wallet-install{display:none}
.seipro-wallet-card-wrap{position:relative;z-index:2;max-width:980px;margin:0 auto;display:grid;grid-template-columns:minmax(320px,520px) minmax(280px,1fr);gap:18px;align-items:start}
.seipro-wallet-card{position:relative;overflow:hidden;padding:26px;border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 80px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.12)}
.seipro-wallet-card:before{content:'';position:absolute;inset:-20%;background:radial-gradient(circle at top right, rgba(255,255,255,.22), transparent 35%), radial-gradient(circle at bottom left, color-mix(in srgb, var(--accent) 45%, transparent), transparent 40%);pointer-events:none}
.seipro-wallet-chip{width:54px;height:40px;border-radius:10px;background:linear-gradient(135deg,#f7e39a,#c8a96b);position:relative;z-index:1;margin-bottom:18px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.seipro-wallet-brand,.seipro-wallet-label,.seipro-wallet-name,.seipro-wallet-grid,.seipro-wallet-qr-shell,.seipro-wallet-footer{position:relative;z-index:1}
.seipro-wallet-brand{font-size:1.5rem;font-weight:800;line-height:1.1;margin-bottom:8px}
.seipro-wallet-label{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.seipro-wallet-name{font-size:2rem;font-weight:900;letter-spacing:-.03em;margin-bottom:18px}
.seipro-wallet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.seipro-wallet-grid div{padding:14px;border-radius:20px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.08)}.seipro-wallet-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}.seipro-wallet-grid strong{font-size:1rem;color:#fff}
.seipro-wallet-qr-shell{padding:18px;background:#fff;border-radius:28px;display:flex;justify-content:center;margin:10px 0 14px;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.seipro-wallet-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:.95rem;flex-wrap:wrap}.seipro-wallet-footer small{letter-spacing:.14em;text-transform:uppercase}
.seipro-wallet-help h3{margin-top:0;font-size:1.4rem}.seipro-wallet-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
@media (max-width:780px){.seipro-wallet-card-wrap{grid-template-columns:1fr}.seipro-wallet-grid{grid-template-columns:1fr 1fr}.seipro-wallet-card{padding:22px}.seipro-wallet-name{font-size:1.6rem}}
