:root{--ink:#101b3d;--muted:#68758b;--line:#dce4f1;--coral:#ff7869;--pale:#fff8f7;--lime:#b9f227}*{box-sizing:border-box}body{margin:0;background:#f6f8fc;color:var(--ink);font:14px Inter,system-ui,sans-serif}.shell{max-width:1120px;margin:auto;padding:36px 24px}.brand{color:var(--coral);font-size:22px;font-weight:900;text-decoration:none;letter-spacing:-1px}.login{max-width:390px;margin:8vh auto;padding:34px;border:1px solid var(--line);border-radius:20px;background:white;box-shadow:0 18px 44px #182a5212}.login h1{font-size:28px;margin:28px 0 8px}.login p,.hint,.events p,small{color:var(--muted);line-height:1.5}.login small{display:block;margin-top:18px;font-size:11px}form{display:grid;gap:14px;margin-top:24px}label{display:grid;gap:6px;font-weight:750;font-size:12px}input,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:inherit}button{border:0;border-radius:8px;padding:12px 16px;background:var(--coral);color:white;font:inherit;font-weight:850;cursor:pointer}.dashboard header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.dashboard header p{margin:5px 0 0;color:var(--muted)}.logout{padding:9px 13px;background:#fff0ee;color:#b44d43}.summary{display:flex;gap:12px;margin-bottom:22px}.summary div{min-width:160px;padding:16px;border:1px solid #ffd0cb;border-radius:12px;background:var(--pale)}.summary b{display:block;font-size:24px}.summary span{color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:minmax(300px,.9fr) 1.1fr;gap:18px}.card{padding:24px;border:1px solid var(--line);border-radius:16px;background:white}.card h2{margin:0;font-size:19px}.card h3{margin:10px 0 0;font-size:14px}.card p{margin:6px 0 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}em{font-weight:500;color:var(--muted)}.card-title{display:flex;justify-content:space-between;gap:12px;align-items:start}.card-title input{width:150px}.event-row{padding:15px 0;border-bottom:1px solid var(--line)}.event-row:last-child{border:0}.event-row b{display:block;font-size:15px}.event-row span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.badge{display:inline-block;margin-top:8px;padding:4px 7px;border-radius:5px;background:#eff9d7;color:#477d17;font-size:10px;font-weight:850}@media(max-width:760px){.shell{padding:22px 16px}.grid{grid-template-columns:1fr}.card-title{display:block}.card-title input{margin-top:14px;width:100%}.summary div{flex:1;min-width:0}}

[hidden]{display:none!important}
.admin-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;border-bottom:1px solid var(--line)}
.admin-tab{background:transparent;color:var(--muted);border-radius:0;padding:12px 16px;border-bottom:3px solid transparent}
.admin-tab.active{color:var(--ink);border-bottom-color:var(--coral)}
.text-action{margin-top:10px;padding:7px 0;background:transparent;color:#bd5149;font-size:12px}
.material-fields{display:grid;gap:6px;padding:14px;border:1px solid #ffd8d1;border-radius:10px;background:var(--pale)}
.material-fields small{margin:0}
#eventMessage,#attractionMessage,#loginMessage{font-size:12px;color:#247651}
#laterMaterialMessage{font-size:12px;color:#247651}
.later-material{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.auth-link{display:inline-block;margin-top:16px;padding:0;background:transparent;color:#b44d43;font-size:13px;font-weight:700;text-decoration:none}.auth-link:hover{text-decoration:underline}.login[hidden],.login form[hidden]{display:none!important}.login .error-message{color:#a6342b}
.branding-card{max-width:640px}.branding-card textarea{width:100%;resize:vertical;padding:11px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit}.branding-card input[type=color]{height:46px;padding:4px}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:13px}.checkbox-label input{width:auto}.branding-link{margin-top:18px!important}.branding-link a{color:#b44d43;font-weight:800}.event-row-logo{display:block;max-width:110px;max-height:52px;object-fit:contain;margin:0 0 8px}fieldset{min-width:0;margin:0;padding:13px;border:1px solid var(--line);border-radius:10px}legend{padding:0 5px;font-size:12px;font-weight:800}fieldset .two{row-gap:12px}input[type=file]{font-size:12px}
.later-material h3{margin:0;font-size:15px}
.error-message{color:#c23b45!important}
button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:480px){.two{grid-template-columns:1fr}.admin-tab{flex:1;padding:12px 8px}.card{padding:18px}}
.management-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.back-to-app{display:inline-flex;align-items:center;padding:9px 13px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font-weight:750;text-decoration:none}.back-to-app:hover{background:var(--pale);border-color:var(--coral)}.back-to-app:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media(max-width:480px){.dashboard header{gap:14px;flex-wrap:wrap}.management-actions{justify-content:flex-start}}
.account-actions{display:grid;gap:12px;margin-top:24px}.account-home,.account-exit{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;width:100%;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:800;text-decoration:none;transition:background .15s,border-color .15s}.account-home{background:var(--coral);color:var(--ink);border:1px solid var(--coral)}.account-home:hover{background:#ff9488;border-color:#ff9488}.account-exit{background:white;border:1px solid var(--line);color:var(--muted)}.account-exit:hover{background:var(--pale);border-color:#ffb7ae;color:#a6342b}.account-actions span{font-size:20px;line-height:1}.account-actions a:focus-visible,.account-actions button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#participantLogout[hidden]{display:none!important}
.participant-page{background-color:#fff;background-image:url("assets/account-pattern.svg");background-size:240px 240px}.participant-page .login{background:rgba(255,255,255,.97)}.account-brand{text-align:center}.account-brand .brand{font-size:30px}.account-brand .account-tagline{margin:10px 0 0;font-size:13px;color:var(--muted);line-height:1.5}.creating-account .account-actions{display:none}.participant-page #accountToggle{display:block;width:90%;min-height:42px;margin:14px auto 0;padding:10px 14px;background:#eef0ff;color:#51428e;border:1px solid #dcd6f4;border-radius:9px;font-size:12px;text-decoration:none}.participant-page #accountToggle:hover{background:#e4e3fc}.participant-page #accountToggle[hidden]{display:none!important}.participant-page #accountToggle:focus-visible{outline:2px solid #51428e;outline-offset:3px}
#profilePanel[hidden]{display:none!important}.participant-page .login:has(#profilePanel:not([hidden])){max-width:480px}.profile-portrait{width:84px;height:84px;margin:22px auto 0;border:3px solid #ffd0cb;border-radius:50%;background:#fff0ee;display:grid;place-items:center;overflow:hidden;color:#a6342b;font-size:24px;font-weight:800}.profile-portrait img{width:100%;height:100%;object-fit:cover}.profile-portrait [hidden]{display:none!important}#profileForm textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--ink);resize:vertical}#profileEmail{background:#f6f8fc;color:var(--muted)}.profile-sharing{margin-top:24px;padding:18px;border:1px solid #ffd0cb;border-radius:12px;background:var(--pale)}.profile-sharing h2{font-size:17px;margin:0}.profile-sharing p,.profile-sharing small{font-size:12px}.participant-page .account-actions{margin-bottom:22px}
.participant-page .account-actions{display:none}.participant-page .login:has(#profilePanel:not([hidden])) .account-actions{display:grid}
.participant-page .login{background-color:#fff;background-image:url("assets/account-pattern.svg");background-size:240px 240px}.participant-page input,.participant-page textarea{background:#fff}
#eventForm fieldset{display:grid;gap:12px}
.participant-row [hidden],#editMaterialPicker[hidden]{display:none!important}.participant-row .participant-photo{min-width:0}#editMaterialPicker{margin-bottom:10px}
#attractionForm fieldset{display:grid;gap:12px}#sessionDescription{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--ink);resize:vertical}.participant-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:12px}.participant-row label{min-width:0}.participant-row button{grid-column:1/-1;justify-self:start;background:#fff0ee;color:#a6342b;padding:8px 12px;font-size:12px}#addAttractionParticipant{justify-self:start;background:#eef0ff;color:#27245c;padding:9px 13px;font-size:12px}@media(max-width:360px){.participant-row{grid-template-columns:minmax(0,1fr)}}
.event-row-controls{display:flex;gap:6px;flex-shrink:0}.event-row-controls .edit-event{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;background:#e9f0ff;color:#3458a5}.event-row-controls .edit-event:hover{background:#dbe7ff}.event-row-controls .edit-event:focus-visible{outline:2px solid #3458a5;outline-offset:3px}
#addEventSpace{justify-self:start;width:auto;padding:9px 13px;background:#eef0ff;color:#27245c;font-size:12px}.event-space-row{display:flex;gap:8px;align-items:end;margin-bottom:10px}.event-space-row label{flex:1;min-width:0}.event-space-row button{padding:10px;background:#fff0ee;color:#a6342b;font-size:12px}#eventSpaces{min-width:0}.event-space-row input{min-width:0}@media(max-width:360px){.event-space-row{flex-direction:column;align-items:stretch}.event-space-row button{align-self:start}}
.event-row-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.event-row-heading b{min-width:0;overflow-wrap:anywhere}.event-row-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.event-row-heading .delete-event{flex-shrink:0;display:inline-grid;place-items:center;width:40px;height:40px;background:#fff0ee;color:#a6342b;padding:0}.event-row-heading .delete-event:hover{background:#ffe0db}.event-row-heading .delete-event:focus-visible{outline:2px solid #a6342b;outline-offset:3px}
#eventDays,.event-day-row,.event-day-row label{min-width:0;max-width:100%}
.event-day-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end;margin-bottom:14px}
.event-day-row>label:first-child{grid-column:1/-1}
.event-day-row input{min-width:0;max-width:100%;width:100%}
.event-day-row button,#addEventDay{background:#eef0ff;color:#27245c;font-size:12px}
.event-day-row button{grid-column:1/-1;justify-self:start;width:auto;padding:8px 12px}
#addEventDay{justify-self:start;width:auto;max-width:100%;padding:9px 13px}
.event-day-row [hidden],#eventForm [hidden]{display:none!important}
@media(max-width:360px){.event-day-row{grid-template-columns:minmax(0,1fr)}}
.sponsor-live-preview{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:112px;padding:18px;border-radius:13px;background:#052c43;background-size:cover;background-position:center;color:#fff;overflow-wrap:anywhere}
.sponsor-preview-label{font-size:10px;color:var(--muted);margin:0 0 4px!important}
.sponsor-text-colors{display:flex;flex-wrap:wrap;gap:10px 18px}
.sponsor-text-colors input[type=color]{appearance:auto;width:48px;height:34px;padding:2px;cursor:pointer}
.sponsor-live-preview strong{font-size:20px;line-height:1.2;color:#fff}
.sponsor-live-preview p{margin:0;font-size:12px;color:#fff}
.sponsor-live-preview b{font-size:12px;color:#ffc20b}
.specialty-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px;max-height:210px;overflow:auto;padding:4px}
.specialty-checks .checkbox-label{font-size:12px;align-items:flex-start}
@media(max-width:350px){.specialty-checks{grid-template-columns:1fr}}

#organizerApplicationsList{display:grid;gap:16px;margin-top:16px}
.organizer-application{padding:18px;border:1px solid var(--line);border-radius:12px;min-width:0}
.organizer-application h3{margin:0;font-size:17px;overflow-wrap:anywhere}
.organizer-application .organizer-status{color:var(--muted);font-size:13px}
.organizer-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px 22px;margin:16px 0}
.organizer-details dt{font-weight:750;font-size:12px;color:var(--muted)}
.organizer-details dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.organizer-application .organizer-acceptance{padding:12px;background:#f6f8fc;border-radius:8px}
.organizer-review{margin-top:16px}
.organizer-review textarea{width:100%;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit}
.organizer-review button:disabled{opacity:.55;cursor:default}
