.hop-app{--hop-ink:#253133;--hop-purple:#573b8b;--hop-line:#dfdce8;--hop-pale:#f7f5fa;max-width:980px;margin:24px auto;color:var(--hop-ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:left;box-sizing:border-box}.hop-app *{box-sizing:border-box}.hop-app h2,.hop-app h3,.hop-app p{margin:0 0 14px;color:inherit}.hop-app h2{font-size:clamp(27px,4.5vw,40px);line-height:1.16;font-weight:750;max-width:760px}.hop-app h3{font-size:21px;line-height:1.35}.hop-hero{background:var(--hop-purple);color:white;padding:36px;border-radius:20px;margin-bottom:24px}.hop-eyebrow{display:block;font-size:12px;letter-spacing:.12em;font-weight:700;margin-bottom:16px;color:#e5e8bc}.hop-app .hop-subtitle{font-size:17px;max-width:750px;margin-top:18px}.hop-app .hop-date{display:inline-block;border-radius:30px;background:#e7f29d;color:#26322c;padding:8px 16px;margin:8px 0 0;font-weight:650}.hop-form{padding:26px;border:1px solid var(--hop-line);border-radius:16px;background:white;margin:20px 0}.hop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.hop-field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;font-weight:600}.hop-app input:not([type=checkbox]),.hop-app select,.hop-app textarea{display:block;width:100%;min-height:48px;padding:10px 12px;font:inherit;font-weight:400;border:1px solid #bdb7ca;border-radius:8px;background:white;color:#253133;box-shadow:none}.hop-app textarea{resize:vertical;line-height:1.55}.hop-app input:focus-visible,.hop-app select:focus-visible,.hop-app textarea:focus-visible,.hop-app button:focus-visible,.hop-app a:focus-visible{outline:3px solid #917bc0;outline-offset:3px}.hop-child{border:1px solid var(--hop-line);border-radius:12px;padding:18px;margin:0 0 14px;background:var(--hop-pale);min-width:0}.hop-child legend{font-weight:700;padding:0 7px}.hop-child .hop-field:last-child{margin-bottom:0}.hop-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:9px;background:var(--hop-purple);color:#fff;font:600 15px/1.4 system-ui,sans-serif;text-decoration:none;cursor:pointer;margin:0 8px 12px 0;white-space:normal}.hop-button:hover{background:#442970;color:white}.hop-button:disabled{opacity:.55;cursor:wait}.hop-button.hop-secondary{background:#f1eef7;border-color:#d9d1e7;color:#483265}.hop-button.hop-danger{background:#fff1f0;border-color:#e7b8b4;color:#942d27}.hop-button.hop-enter{background:#26764d;color:#fff;width:100%;margin-top:10px}.hop-note{border:1px solid #d8d9b8;border-radius:10px;padding:14px 16px;background:#fcfbe9;margin:14px 0;white-space:pre-line}.hop-error{background:#fff0ef;border-color:#e7b8b4;color:#8e2721}.hop-success{background:#eef9f1;border-color:#b5d8bf;color:#245c39}.hop-info{background:var(--hop-pale);padding:24px;border-radius:14px;margin-top:24px}.hop-info p:last-child{margin-bottom:0}.hop-privacy{margin:22px 0;padding:18px;border:1px solid var(--hop-line);border-radius:10px}.hop-privacy summary{cursor:pointer;font-weight:600}.hop-privacy p{white-space:pre-line;margin-top:16px}.hop-honey{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.hop-card{border:1px solid var(--hop-line);background:#fff;border-radius:14px;padding:24px;margin:16px 0;overflow-wrap:anywhere}.hop-badge{display:inline-block;border-radius:20px;padding:4px 11px;background:#f6edcb;font-size:13px;font-weight:650;margin-bottom:12px}.hop-badge.checked_in{background:#dcefe1;color:#245c39}.hop-badge.cancelled{background:#f8dedc;color:#8e2721}.hop-app .hop-time{font-size:22px;font-weight:700;color:var(--hop-purple)}.hop-lines{white-space:pre-line}.hop-app .hop-meta{font-size:13px;color:#657174}.hop-check{display:flex;align-items:flex-start;gap:12px;margin:14px 0;cursor:pointer}.hop-check input{appearance:auto;flex:0 0 22px;width:22px;height:22px;margin:2px 0 0;accent-color:var(--hop-purple)}.hop-success-text{color:#26764d;font-weight:650}.hop-actions{display:flex;flex-wrap:wrap;gap:4px;border-top:1px solid var(--hop-line);padding-top:18px;margin-top:18px}.hop-tabs{display:flex;flex-wrap:wrap;gap:4px}.hop-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:0 14px;margin-top:18px}.hop-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.hop-button.hop-slot{display:block;width:100%;margin:0;background:#f1eef7;color:#483265;border-color:#d9d1e7;white-space:pre-line;font-size:13px}.hop-danger-zone{border:1px solid #e7b8b4;border-radius:14px;background:#fff9f8;padding:24px;margin:30px 0}.hop-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hop-cards .hop-card{margin:0}.hop-app a.hop-button{color:#fff}@media(max-width:640px){.hop-app{margin:16px 0;font-size:15px}.hop-hero{padding:26px 22px;border-radius:14px}.hop-form,.hop-card{padding:20px 16px}.hop-grid,.hop-toolbar,.hop-cards{grid-template-columns:1fr}.hop-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hop-button{min-height:48px}.hop-child{padding:14px 12px}.hop-info{padding:20px}.hop-app h3{font-size:20px}}

.hop-cards.hop-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--hop-line)}.hop-list .hop-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:24px;border:0;border-bottom:1px solid var(--hop-line);border-radius:0;padding:20px 4px;margin:0}.hop-list-identity h3{margin-bottom:6px}.hop-list-identity p{margin-bottom:6px}.hop-child-age{font-size:15px;font-weight:400;color:#657174}.hop-list-entry .hop-check{margin:8px 0}.hop-list-entry .hop-note{margin:0 0 12px}.hop-list-entry .hop-enter{margin-bottom:0}.hop-email-preview{border:1px solid var(--hop-line);border-radius:10px;padding:18px;margin:16px 0 24px}.hop-email-preview summary{font-weight:650;cursor:pointer}.hop-email-preview-body{background:white;border-top:1px solid var(--hop-line);padding-top:18px;margin-top:12px}.hop-email-preview>.hop-meta{margin-top:12px}@media(max-width:640px){.hop-list .hop-card{grid-template-columns:1fr;gap:12px;padding:18px 0}}
.hop-list .hop-actions{grid-column:1/-1}
.hop-tabs.hop-staff-header{align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.hop-staff-header h2{font-size:24px;margin:0}.hop-staff-header .hop-button{margin:0}
