*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{min-height:100vh}.wrapper{box-sizing:border-box;min-height:100vh;padding:80px 20px;position:relative}.bg-video{object-fit:cover;z-index:0;width:100%;height:100%;position:fixed;inset:0}.shell{z-index:1;max-width:960px;margin:0 auto;position:relative}.container{background:#fff;border-radius:10px;padding:35px 58px;box-shadow:0 4px 24px #00000014}.header-block{text-align:center;margin-bottom:8px}.logo{width:auto;height:60px}.title{letter-spacing:.34px;color:#004e96;margin:16px 0 0;font-size:22px;font-weight:500;line-height:1.35}.form{margin-top:24px}.form-banner{color:#a8071a;text-align:left;background:#fff2f0;border:1px solid #ffccc7;border-radius:8px;margin-bottom:20px;padding:12px 14px;font-size:14px;line-height:1.45}.grid{grid-template-columns:1fr 1fr;gap:24px 32px;display:grid}@media (width<=720px){.grid{grid-template-columns:1fr}}.field{text-align:left;flex-direction:column;display:flex}.field.full{margin-top:20px}.field label,.label-text{letter-spacing:.34px;color:#7f8ca1;margin-bottom:14px;font-size:14px;font-weight:500;line-height:18px}.label-text{display:block}.input{box-sizing:border-box;color:#1a1a1a;background:#fff;border:1px solid #d9d9d9;border-radius:4px;width:100%;height:40px;padding:8px 12px;font-size:16px}.input:focus{border-color:#004e96;outline:none;box-shadow:0 0 0 2px #004e961f}.input-error{border-color:#ff4d4f}.error{color:#ff4d4f;margin-top:6px;font-size:13px}.readonly{color:#5e6064;background:#f8fafc;border:1px solid #e4e7eb;border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.5}.status-panel{text-align:center;margin-top:28px;padding:24px 16px}.status-message{color:#5e6064;margin:0 0 12px;font-size:15px;line-height:1.55}.status-sub{color:#7f8ca1;margin:0;font-size:14px;line-height:1.5}.empty-events .status-message{color:#004e96;font-weight:500}.btn-inline{max-width:200px;margin-top:8px}.venue-fieldset{text-align:left;border:none;margin:24px 0 0;padding:0}.venue-fieldset-error .venue-option{border-color:#ffccc7}.venue-options{flex-direction:column;gap:12px;display:flex}.venue-option{cursor:pointer;text-align:left;background:#f8fafc;border:1px solid #e4e7eb;border-radius:8px;align-items:flex-start;gap:12px;margin:0;padding:14px 16px;display:flex}.venue-option:hover{border-color:#004e96}.venue-option-selected{background:#f0f7fc;border-color:#004e96;box-shadow:0 0 0 2px #004e961f}.venue-radio{accent-color:#004e96;flex-shrink:0;margin-top:3px}.venue-option-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.venue-option-title{color:#004e96;font-size:15px;font-weight:600;line-height:1.35}.venue-option-address{color:#5e6064;word-break:break-word;white-space:normal;font-size:14px;line-height:1.5}.venue-option-time{color:#7f8ca1;font-size:13px;font-weight:500;line-height:1.4}.actions{justify-content:center;margin-top:28px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#004e96;border:none;border-radius:4px;width:100%;max-width:420px;height:40px;font-size:16px;font-weight:600}.btn-primary:hover:not(:disabled){background:#003d78}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.success-panel{text-align:left;margin-top:16px}.success-summary{background:#f8fafc;border:1px solid #e4e7eb;border-radius:8px;margin-bottom:24px;padding:16px 18px;font-size:14px;line-height:1.55}.summary-row{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:12px;display:flex}.summary-row:last-child{margin-bottom:0}.summary-label{color:#004e96;flex-shrink:0;font-weight:600}.summary-value{color:#5e6064;word-break:break-word;flex:1;min-width:0}.success-lead,.success-sub,.success-close{color:#5e6064;margin:0 0 16px;font-size:15px;line-height:1.6}.success-sub{color:#004e96;margin-bottom:8px;font-weight:600}.success-list{color:#5e6064;margin:0 0 20px 20px;padding:0;font-size:15px;line-height:1.65}.success-list li{margin-bottom:6px}.success-close{margin-bottom:0}@media (width<=900px){.wrapper{padding:20px 16px}.container{padding:30px 24px}.title{font-size:18px}}@media (width<=480px){.logo{height:50px}}
