:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fb;color:#1f2937}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.hero-banner{position:relative;width:100%;min-height:clamp(200px,35vh,400px);background:linear-gradient(135deg,#0f172a,#1e3a8a);overflow:hidden}.hero-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a33,#0f172abf);display:flex;align-items:flex-end;justify-content:center;padding:clamp(20px,5vw,40px)}.hero-content{max-width:1100px;width:100%;color:#fff}.hero-banner h1{margin:0;color:#fff;font-size:clamp(1.6rem,5vw,2.8rem);line-height:1.1;font-weight:700}.hero-banner p{margin:12px 0 0;color:#dbeafe;max-width:100%;font-size:clamp(.9rem,2vw,1.1rem)}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(12px,3vw,20px);padding:clamp(12px,3vw,20px);max-width:1100px;margin:0 auto;width:100%;background:transparent;box-shadow:none;border-radius:0}.eyebrow{margin:0 0 8px;color:#2563eb;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(.65rem,1.5vw,.8rem)}.nav-buttons{display:flex;gap:clamp(8px,2vw,12px);flex-wrap:wrap}button{border:1px solid #cbd5e1;border-radius:10px;padding:clamp(10px,2vw,12px) clamp(14px,2vw,18px);cursor:pointer;font-size:clamp(.8rem,1.5vw,.95rem);background:#f8fafc;color:#0f172a;transition:transform .2s ease,background .2s ease,border-color .2s ease}button:hover{transform:translateY(-2px);background:#e0e7ff}button.active,button.active:hover{background:#2563eb;color:#fff;border-color:#2563eb}main{display:flex;flex-direction:column;gap:clamp(16px,4vw,24px);padding:clamp(16px,4vw,24px);max-width:1100px;margin:0 auto;width:100%;flex:1}.panel{background:#fff;border-radius:clamp(14px,3vw,20px);padding:clamp(18px,4vw,28px);box-shadow:0 4px 12px #0f172a0f}.panel h2{margin-top:0;margin-bottom:12px;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700}.panel p,.panel li{color:#475569;line-height:1.65;font-size:clamp(.85rem,1.5vw,1rem)}.panel ul{padding-left:clamp(16px,3vw,24px);margin:0}.about-section{padding:0;overflow:hidden}.about-section summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(18px,4vw,24px) clamp(20px,4vw,28px);color:#0f172a;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;cursor:pointer;list-style:none}.about-section summary::-webkit-details-marker{display:none}.about-section summary:after{content:"+";flex:0 0 auto;color:#2563eb;font-size:1.5rem;line-height:1}.about-section[open] summary:after{content:"-"}.about-section summary:hover{background:#f8fafc}.accordion-hint{margin-left:auto;color:#64748b;font-size:.78rem;font-weight:500}.accordion-content{padding:0 clamp(20px,4vw,28px) clamp(18px,4vw,28px);border-top:1px solid #e2e8f0}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}.form-grid{display:grid;gap:clamp(12px,3vw,18px)}.form-grid.two-col{grid-template-columns:1fr}@media (min-width: 680px){.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-grid label{display:block;font-weight:700;margin-bottom:6px;font-size:clamp(.85rem,1.5vw,.95rem)}input,textarea,select{width:100%;padding:clamp(10px,2.5vw,14px) clamp(12px,2vw,16px);border-radius:10px;border:1px solid #d1d5db;background:#f8fafc;color:#0f172a;font-size:clamp(.85rem,1.5vw,1rem)}input:focus,textarea:focus,select:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}textarea{min-height:clamp(100px,20vh,140px);resize:vertical}.actions{display:flex;gap:clamp(10px,2vw,14px);flex-wrap:wrap;margin-top:clamp(12px,3vw,18px)}.action-button{background:#2563eb;color:#fff;border:none;border-radius:10px;padding:clamp(11px,2vw,13px) clamp(18px,3vw,24px);font-size:clamp(.85rem,1.5vw,.95rem);font-weight:600}.action-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{background:transparent;border:1px solid #cbd5e1;color:#0f172a}.note,.alert,.success{border-left:4px solid #2563eb;background:#eff6ff;padding:clamp(12px,3vw,16px);border-radius:8px;margin-top:clamp(12px,3vw,16px);font-size:clamp(.85rem,1.5vw,.95rem)}.note p,.alert p,.success p{margin:0}.alert{border-left-color:#dc2626;background:#fee2e2}.success{border-left-color:#16a34a;background:#dcfce7}.next-step{margin-top:clamp(16px,4vw,24px);border-top:1px solid #e2e8f0;padding-top:clamp(16px,4vw,24px)}.progress-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:clamp(22px,4vw,30px)}.progress-step{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:clamp(.7rem,1.5vw,.85rem);font-weight:600}.step-number{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:2px solid #cbd5e1;border-radius:50%;background:#fff}.progress-step.active,.progress-step.complete{color:#1d4ed8}.progress-step.active .step-number,.progress-step.complete .step-number{border-color:#2563eb;background:#2563eb;color:#fff}.payment-section{border-top:0;padding-top:0}.payment-heading{margin-bottom:20px}.payment-heading .eyebrow{margin-bottom:6px}.payment-guide{display:grid;gap:16px;padding:0;margin:0;list-style:none}.payment-guide-card{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:clamp(16px,3vw,22px);border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}.guide-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#2563eb;color:#fff;font-weight:700}.payment-guide-card h3{margin:4px 0 6px;color:#0f172a;font-size:clamp(1rem,2vw,1.15rem)}.payment-guide-card p{margin:0 0 14px}.reference-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px dashed #60a5fa;border-radius:10px;background:#fff}.reference-box strong{color:#1d4ed8;font-size:clamp(1rem,3vw,1.25rem);overflow-wrap:anywhere}.reference-box.copied{border-color:#16a34a;background:#f0fdf4;box-shadow:0 0 0 3px #16a34a1a}.copy-button{flex:0 0 auto}.copy-button.copied,.copy-button.copied:hover{background:#15803d}.payment-guide-card .copy-success{margin:8px 0 0;color:#15803d;font-weight:700}.storage-warning{margin:14px 0;padding:12px 16px;border-left:4px solid #d97706;border-radius:8px;background:#fffbeb;color:#92400e;line-height:1.5}.empty-table{color:#64748b;text-align:center}.payment-summary{display:flex;flex-wrap:wrap;gap:10px}.payment-summary span{padding:8px 12px;border-radius:8px;background:#fff;color:#475569}.payment-submit{width:100%;margin-top:14px}.payment-guide-card .submit-note{margin:8px 0 0;color:#92400e;font-size:.82rem}.table-wrapper{overflow-x:auto;border-radius:8px;box-shadow:inset 0 1px 3px #0000000d}table{width:100%;border-collapse:collapse;margin-top:clamp(12px,3vw,18px);font-size:clamp(.75rem,1.2vw,.9rem)}table th,table td{padding:clamp(8px,2vw,12px);border-bottom:1px solid #e2e8f0;text-align:left}table th{background:#f1f5f9;font-weight:700;white-space:nowrap}table td{word-break:break-word}.registration-count{margin-top:18px;color:#334155}.registration-count strong{color:#0f172a;font-size:1.15rem}.admin-panel{width:min(1500px,calc(100vw - 32px));align-self:center}.admin-toolbar{display:grid;gap:14px;margin-top:18px;padding:16px;border:1px solid #dbe3ef;border-radius:14px;background:#f8fafc}.admin-toolbar label{display:block;margin-bottom:5px;color:#334155;font-size:.78rem;font-weight:800}.search-row{display:grid;grid-template-columns:minmax(180px,.4fr) minmax(240px,1fr);gap:10px}.admin-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px}.admin-toolbar input,.admin-toolbar select{padding:9px 11px;background:#fff;font-size:.88rem}.toolbar-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.view-toggle{display:inline-flex;overflow:hidden;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.view-toggle button{border:0;border-radius:0;padding:9px 14px}.view-toggle button+button{border-left:1px solid #cbd5e1}.clear-filters-button{padding:9px 14px}.results-summary{margin-top:14px;color:#475569;font-size:.88rem}.email-status-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 16px;border:1px solid #bbf7d0;border-left:5px solid #16a34a;border-radius:12px;background:#f0fdf4}.email-status-error{border-color:#fecaca;border-left-color:#dc2626;background:#fff7f7}.email-status-card h3,.email-status-card p{margin:0}.email-status-card h3{margin-bottom:3px;color:#0f172a;font-size:.95rem}.email-status-card p{font-size:.78rem;line-height:1.45}.email-status-card .email-status-label{color:#15803d;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.email-status-card .email-error-text{color:#b91c1c;font-weight:700}.empty-registrations{margin-top:20px;padding:28px;border:2px dashed #cbd5e1;border-radius:14px;text-align:center;background:#f8fafc}.empty-registrations h3,.empty-registrations p{margin:0}.registration-results{display:grid;gap:12px;margin-top:14px}.registration-grid{grid-template-columns:1fr}.registration-card{overflow:hidden;border:1px solid #dbe3ef;border-radius:12px;background:#fff;box-shadow:0 3px 10px #0f172a12}.registration-card-paid{border-top:5px solid #16a34a}.registration-card-pending{border-top:5px solid #d97706}.registration-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.registration-card-header h3{margin:2px 0;color:#0f172a;font-size:1rem}.registration-card-header .registration-number,.registration-card-header .submitted-date{margin:0;font-size:.68rem}.registration-number{color:#2563eb;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.registration-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:4px 12px}.registration-detail{min-width:0;padding:8px 6px 8px 0;border-bottom:1px solid #edf2f7}.registration-detail:nth-child(2n){padding-right:0;padding-left:6px}.registration-detail span{display:block;margin-bottom:3px;color:#64748b;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.registration-detail strong{display:block;overflow-wrap:anywhere;color:#0f172a;font-size:.76rem;line-height:1.3}.registration-card-actions{display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px 12px}.registration-card-actions button{flex:1 1 110px;padding:8px 10px;font-size:.75rem}.confirm-payment-button{flex-basis:100%!important;padding:10px 12px;font-size:.8rem}.danger-button{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.danger-button:hover{border-color:#ef4444;background:#fee2e2}.registration-edit-form{padding:14px}.edit-heading{margin-bottom:12px}.edit-heading h4,.edit-heading p{margin:0}.edit-heading h4{color:#0f172a;font-size:.95rem}.edit-heading p{margin-top:4px;font-size:.78rem}.registration-list{grid-template-columns:1fr}.registration-list .registration-card:not(.registration-card-editing){display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,2fr) minmax(180px,.65fr);align-items:stretch}.registration-list .registration-card-header{border-right:1px solid #e2e8f0;border-bottom:0}.registration-list .registration-details{grid-template-columns:repeat(4,minmax(0,1fr));align-content:center}.registration-list .registration-card-actions{align-content:center;border-left:1px solid #e2e8f0}.registration-list .registration-card-actions button{flex-basis:100%}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0;color:#475569}.pagination button{min-width:130px}@media (min-width: 600px){.registration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 900px){.registration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.registration-card-editing{grid-column:span 2}}@media (min-width: 1200px){.registration-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}table td input,table td select{min-width:150px;padding:8px}.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:190px}.table-actions .action-button,.table-actions .secondary-button{padding:8px 12px;white-space:nowrap}.status-pill{display:inline-block;padding:clamp(4px,1vw,6px) clamp(8px,1.5vw,10px);border-radius:999px;font-size:clamp(.7rem,1.1vw,.8rem);background:#e2e8f0;font-weight:500;white-space:nowrap}.status-awaiting{background:#fef3c7;color:#92400e}.status-paid{background:#dcfce7;color:#15803d}.full-width{grid-column:1 / -1}@media (max-width: 480px){.app-shell{min-height:100vh}.topbar{padding:10px}.hero-overlay{padding:16px}button{font-size:.8rem;padding:8px 12px}.accordion-hint{display:none}.progress-step{flex-direction:column;text-align:center}.payment-guide-card{grid-template-columns:1fr}.reference-box{align-items:stretch;flex-direction:column}.copy-button{width:100%}input,textarea,select{padding:10px 12px;font-size:16px}.registration-card-header{flex-direction:column}.search-row,.admin-filter-grid{grid-template-columns:1fr}.toolbar-footer,.pagination,.email-status-card{align-items:stretch;flex-direction:column}.view-toggle{display:grid;grid-template-columns:1fr 1fr}.pagination button{width:100%}.registration-details{grid-template-columns:1fr}.registration-detail,.registration-detail:nth-child(2n){padding-right:0;padding-left:0}}@media (max-width: 899px){.registration-list .registration-card:not(.registration-card-editing){display:block}.registration-list .registration-card-header,.registration-list .registration-card-actions{border-right:0;border-left:0}.registration-list .registration-card-header{border-bottom:1px solid #e2e8f0}}@media (min-width: 1200px){.hero-banner{min-height:350px}}
