*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100vh}.App{width:100%;height:100%}:root{--violet: #6d45d7;--deep: #201240;--lavender: #f5f2ff;--ink: #261d39;--muted: #756b87;--line: #e7e1f3;--pink: #ec5a91}.dedication-page{min-height:100vh;padding:40px 20px 64px;background:radial-gradient(circle at 10% 0%,#f1ecff,transparent 36rem),#fbfaff;color:var(--ink)}.dedication-shell{width:min(100%,780px);margin:0 auto}.dedication-header{display:flex;gap:14px;align-items:center;margin-bottom:28px}.brand-mark,.success-icon{display:grid;place-items:center;background:linear-gradient(135deg,var(--violet),#9a75ff);color:#fff;border-radius:18px;font-size:30px;width:54px;height:54px;box-shadow:0 10px 24px #7650c640}.eyebrow,.mini-label{letter-spacing:.11em;font-size:11px;font-weight:800;color:var(--violet)}.dedication-header h1{font-size:25px;margin:3px 0 0}.stepper{display:flex;justify-content:space-between;position:relative;margin:0 8px 28px}.stepper:before{content:"";height:2px;background:var(--line);position:absolute;top:16px;left:12%;right:12%;z-index:0}.step{display:grid;gap:7px;justify-items:center;color:#9b91aa;font-size:11px;font-weight:700;z-index:1}.step span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid var(--line);font-style:normal}.step.active{color:var(--violet)}.step.active span{background:var(--violet);color:#fff;border-color:var(--violet)}.step.complete span{background:#31a979;border-color:#31a979}.step em{font-style:normal}.flow-card{background:#fff;border:1px solid var(--line);padding:36px;border-radius:24px;box-shadow:0 14px 40px #2f205410}.flow-section{display:grid;gap:16px}.section-icon{color:var(--pink);font-weight:700;font-size:22px}.flow-section h2{font-size:28px;line-height:1.12}.section-copy{margin-top:-8px;color:var(--muted);line-height:1.5}label{display:grid;gap:7px;font-weight:700;font-size:14px;color:#423653}input,textarea{width:100%;border:1px solid #d9d1e6;background:#fff;color:var(--ink);padding:13px 14px;border-radius:12px;font:inherit;outline:none}input:focus,textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px #6d45d71a}textarea{min-height:105px;resize:vertical}.counter{justify-self:end;margin-top:-3px;color:var(--muted);font-size:12px;font-weight:500}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.primary-button,.secondary-button,.back-button{border:0;cursor:pointer;border-radius:12px;padding:13px 20px;font-size:15px;font-weight:800}.primary-button{background:var(--violet);color:#fff;box-shadow:0 8px 16px #6d45d72b}.primary-button:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}.secondary-button,.back-button{background:var(--lavender);color:var(--violet)}.song-preview,.live-preview,.summary-card{background:var(--lavender);border:1px solid #e5ddff;border-radius:16px;padding:14px}.song-preview{display:grid;grid-template-columns:138px 1fr;gap:16px;align-items:center}.song-preview img{width:138px;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.song-preview h3,.live-preview h3{font-size:17px;margin:4px 0}.song-preview p,.live-preview p{color:var(--muted);line-height:1.5}.song-preview a{display:inline-block;margin-top:9px;color:var(--violet);font-size:13px;font-weight:800}.live-preview{margin-top:4px}.schedule-toggle{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-toggle button,.slots button,.listing-options button{cursor:pointer;text-align:left;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:14px;padding:14px;font:inherit}.schedule-toggle button{display:grid;gap:3px;font-weight:800}.schedule-toggle button small,.slots small,.listing-options small{color:var(--muted);font-size:12px;font-weight:500}.schedule-toggle button.selected,.slots button.selected,.listing-options button.selected{border-color:var(--violet);background:#f8f6ff;box-shadow:0 0 0 2px #6d45d71c}.slot-heading{font-size:15px;margin-top:3px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slots button{display:grid;gap:4px;text-align:center;padding:11px 8px;font-weight:800;font-size:13px}.slots button:disabled{cursor:not-allowed;opacity:.55;background:#faf9fb;text-decoration:line-through}.listing-options{display:grid;gap:12px}.listing-options button{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.listing-options strong,.listing-options small{display:block}.listing-options strong{margin-bottom:4px}.listing-options b{color:var(--violet)}.option-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--lavender);color:var(--violet);font-size:20px}.listing-options .priority .option-icon{background:#fff1c9;color:#b87b00}.prototype-note{text-align:center;color:var(--muted);font-size:13px}.validation{margin-top:18px;border-radius:10px;padding:11px 13px;color:#ad2446;background:#fff1f4;font-size:14px}.flow-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}.success-screen{text-align:center;padding:56px 32px}.success-icon{margin:0 auto 18px;background:linear-gradient(135deg,#24a777,#55c99d)}.success-screen h1{margin:7px 0;font-size:30px}.lead{color:var(--muted)}.summary-card{display:grid;text-align:left;gap:17px;margin:30px 0;padding:22px}.summary-card div{display:grid;gap:3px}.summary-card span{color:var(--muted);font-size:12px;font-weight:700}.summary-card small{color:var(--muted)}.message-summary{font-weight:500;line-height:1.45}@media(max-width:600px){.dedication-page{padding:24px 14px 40px}.dedication-header{margin-bottom:22px}.stepper{margin:0 0 22px}.step em{font-size:9px;max-width:59px;text-align:center}.flow-card{padding:24px 18px;border-radius:18px}.flow-section h2{font-size:24px}.form-grid,.schedule-toggle{grid-template-columns:1fr}.slots{grid-template-columns:repeat(2,1fr)}.song-preview{grid-template-columns:1fr}.song-preview img{width:100%}.success-screen{padding:42px 20px}}.App{min-height:100vh;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}main{display:flex;justify-content:center;padding:20px}svg{max-width:100%;height:auto}select{font-family:inherit}button{font-family:inherit;transition:all .2s ease}button:hover{opacity:.9;transform:translateY(-1px)}button:active{transform:translateY(0)}
