:root{--primary-pink:#ff66b3;--light-pink:#ffcce6;--medium-pink:#f9c;--dark-pink:#c06;--purple-accent:#c6f;--light-purple:#f0e6ff;--yellow-accent:#ffdf80;--mint-green:#b3ffcc}.birthday-theme-container{background-color:var(--light-pink);background-image:radial-gradient(circle,var(--light-purple) 10%,transparent 10%),radial-gradient(circle,var(--light-purple) 10%,transparent 10%);background-position:0 0,15px 15px;background-size:30px 30px;min-height:100vh;overflow:hidden;position:relative;width:100%}.birthday-theme-content{background-color:#fff;border:4px solid var(--medium-pink);border-radius:20px;box-shadow:0 10px 25px rgba(255,102,179,.3);margin:20px auto;max-width:1000px;padding:30px;position:relative;z-index:10}.birthday-header{margin-bottom:30px;padding:20px;position:relative;text-align:center}.birthday-title{background:linear-gradient(to right,var(--primary-pink),var(--purple-accent),var(--primary-pink));-webkit-background-clip:text;background-clip:text;color:var(--primary-pink);font-family:Comic Sans MS,cursive,sans-serif;font-size:3.5rem;font-weight:700;letter-spacing:2px;margin:0;text-shadow:3px 3px 0 var(--light-purple),-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff;-webkit-text-fill-color:transparent;transform:rotate(-2deg)}.birthday-title,.title-container{display:inline-block;position:relative}.title-container{margin:30px 0}.crown-decoration{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 60'%3E%3Cpath fill='%23ffdf80' stroke='%23fb3' stroke-width='2' d='m10 50 20-40 20 30 20-30 20 40z'/%3E%3Ccircle cx='30' cy='10' r='5' fill='%23ff66b3'/%3E%3Ccircle cx='50' cy='40' r='5' fill='%23c6f'/%3E%3Ccircle cx='70' cy='10' r='5' fill='%23ff66b3'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;height:80px;left:50%;position:absolute;top:-75px;transform:translateX(-50%);width:120px}.birthday-description{background-color:var(--light-purple);border:2px dashed var(--primary-pink);border-radius:15px;color:#333;font-family:Arial Rounded MT Bold,Arial,sans-serif;font-size:1.2rem;line-height:1.6;margin:20px auto;max-width:800px;padding:20px}.ribbon-decoration{background-image:repeating-linear-gradient(45deg,var(--medium-pink),var(--medium-pink) 10px,var(--light-pink) 10px,var(--light-pink) 20px);border-radius:5px;height:30px;margin:30px 0;position:relative}.ribbon-decoration:after,.ribbon-decoration:before{background-color:var(--primary-pink);border-radius:50%;content:"";height:20px;position:absolute;top:50%;transform:translateY(-50%);width:20px}.ribbon-decoration:before{left:-10px}.ribbon-decoration:after{right:-10px}.birthday-body{background-color:#fff;border-radius:15px;padding:20px;position:relative}.birthday-footer{margin-top:40px;padding:20px;position:relative;text-align:center}.floating-balloons{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 200'%3E%3Ccircle cx='30' cy='30' r='20' fill='%23ff66b3'/%3E%3Cpath stroke='%23999' stroke-width='2' d='M30 50v50'/%3E%3Ccircle cx='60' cy='40' r='20' fill='%23c6f'/%3E%3Cpath stroke='%23999' stroke-width='2' d='m60 60-10 50'/%3E%3Ccircle cx='40' cy='80' r='20' fill='%23ffdf80'/%3E%3Cpath stroke='%23999' stroke-width='2' d='M40 100v50'/%3E%3C/svg%3E");background-repeat:repeat-y;background-size:contain;height:400px;position:absolute;width:200px;z-index:1}.left-balloons{animation:float 15s ease-in-out infinite;left:0;top:100px}.right-balloons{animation:float 20s ease-in-out infinite reverse;right:0;top:200px}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-50px) rotate(5deg)}}.confetti-overlay{background-image:radial-gradient(circle,var(--primary-pink) 1px,transparent 1px),radial-gradient(circle,var(--purple-accent) 1px,transparent 1px),radial-gradient(circle,var(--yellow-accent) 1px,transparent 1px),radial-gradient(circle,var(--mint-green) 1px,transparent 1px);background-position:0 0,15px 15px,5px 10px,20px 5px;background-size:30px 30px;bottom:0;left:0;opacity:.4;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.unicorn-decoration{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23fff' stroke='%23f9c' stroke-width='2' d='M70 50q10-10 0-20-20-20-30 0-10 10 0 20Z'/%3E%3Cpath stroke='%23ffdf80' stroke-width='3' d='M40 30 20 10'/%3E%3Ccircle cx='55' cy='35' r='3'/%3E%3Cpath fill='none' stroke='%23000' d='M45 45q5 5 10 0'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;bottom:10px;height:80px;position:absolute;right:20px;width:80px}.birthday-theme-container .participant-form{background-color:#fff;border:2px solid var(--light-pink);border-radius:15px;box-shadow:0 5px 15px rgba(255,102,179,.2);padding:25px}.birthday-theme-container .form-group label{color:var(--dark-pink);font-family:Arial Rounded MT Bold,Arial,sans-serif;font-weight:700}.birthday-theme-container .form-control{border:2px solid var(--light-pink);border-radius:10px;padding:10px 15px;transition:all .3s}.birthday-theme-container .form-control:focus{border-color:var(--primary-pink);box-shadow:0 0 0 3px rgba(255,102,179,.25)}.birthday-theme-container .submit-button{background:linear-gradient(to right,var(--primary-pink),var(--purple-accent));border:none;border-radius:30px;box-shadow:0 4px 10px rgba(255,102,179,.3);color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px 25px;transition:all .3s}.birthday-theme-container .submit-button:hover{box-shadow:0 6px 14px rgba(255,102,179,.4);transform:translateY(-2px)}.birthday-theme-container .success-message{background-color:var(--mint-green);border:2px dashed var(--primary-pink);border-radius:15px;padding:20px}.birthday-theme-container .participant-counter{background-color:var(--light-purple);border:2px dashed var(--primary-pink);border-radius:15px;margin-bottom:25px;padding:15px;text-align:center}.birthday-theme-container .counter-text{font-family:Arial Rounded MT Bold,Arial,sans-serif;font-size:1.2rem;margin:0}.birthday-theme-container .counter-number{color:var(--primary-pink);display:inline-block;font-size:2.5rem;font-weight:700;margin:0 5px}.birthday-theme-container .map-section{background-color:#fffbfd;border:2px solid var(--light-pink);border-radius:15px;box-shadow:0 5px 15px rgba(255,102,179,.1);margin-bottom:25px;padding:20px}.birthday-theme-container .map-section h3{color:var(--primary-pink);font-family:Comic Sans MS,cursive,sans-serif;font-size:1.5rem;margin-bottom:15px;text-align:center}.birthday-theme-container .registration-section{background-color:#fffbfd;border:2px solid var(--light-pink);border-radius:15px;box-shadow:0 5px 15px rgba(255,102,179,.1);padding:25px}.birthday-theme-container .registration-section h2{color:var(--primary-pink);font-family:Comic Sans MS,cursive,sans-serif;font-size:1.8rem;margin-bottom:20px;text-align:center}@media (max-width:768px){.birthday-title{font-size:2.5rem}.birthday-theme-content{margin:10px;padding:15px}.floating-balloons{width:100px}.crown-decoration{height:50px;top:-50px;width:80px}.birthday-description{font-size:1rem;padding:15px}}.birthday-description p{white-space:pre-wrap;word-wrap:break-word;max-width:100%;overflow-wrap:break-word}.stars-decoration{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23ffdf80' stroke='%23f9c' d='m50 10 5 20h20L60 40l5 20-15-10-15 10 5-20-15-10h20Z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;bottom:10px;height:80px;left:20px;position:absolute;width:80px}.birthday-footer-copyright{background-color:var(--light-purple);border:1px dashed var(--medium-pink);border-radius:10px;color:var(--primary-pink);font-size:.9rem;margin-top:40px;padding:10px;text-align:center}.birthday-footer-copyright p{margin:5px 0}.birthday-footer-copyright sup{font-size:.6rem;vertical-align:super}.map-directions{align-items:center;display:flex;flex-direction:column}.directions-button{align-items:center;background-color:#4285f4;border:none;border-radius:4px;color:#fff;display:inline-flex;font-weight:500;justify-content:center;margin-top:10px;padding:10px 15px;text-decoration:none;transition:background-color .2s}.directions-button:hover{background-color:#3367d6;color:#fff;text-decoration:none}.directions-icon{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="3 11 22 2 13 21 11 13 3 11"></polygon></svg>') no-repeat 50%;display:inline-block;height:16px;margin-right:8px;width:16px}.event-template{box-shadow:0 2px 4px rgba(0,0,0,.1);padding:2rem}.event-logo{margin-bottom:1rem;max-height:100px;max-width:200px}.event-header{margin-bottom:2rem;text-align:center}.event-title{font-size:2.5rem;margin-bottom:1rem}.event-description{font-size:1.2rem;margin:0 auto;max-width:800px}.event-content{flex-grow:1;margin:0 auto;max-width:800px;padding:2rem;width:100%}.registration-section{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.participant-counter{background-color:#f0f8ff;border-radius:8px;margin-bottom:2rem;padding:1rem;text-align:center}.counter-text{font-size:1.2rem;margin:0}.counter-number{color:#06c;font-size:2rem;font-weight:700}.submit-button{border-radius:4px;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.submit-button:disabled{background-color:#ccc}.error-message{color:#dc3545;margin-bottom:1rem}.success-message{margin-bottom:1.5rem;padding:1.5rem}.register-again-button,.success-message{border-radius:4px}.error-container,.loading{font-size:1.2rem;padding:2rem;text-align:center}.map-section{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05);margin-bottom:2rem;padding:1.5rem}.map-title{color:#333;font-size:1.5rem;margin-bottom:1rem}.map-description{color:#666;font-size:1rem;margin-top:1rem}.required-field{color:#dc3545}.required-alternative{color:#fd7e14}.contact-fields-group{background-color:#f8f9fa;border-left:3px solid #fd7e14;border-radius:5px;padding:15px}.contact-group-header{margin-bottom:10px}.contact-instruction{color:#495057;font-weight:500;margin:0 0 10px}.highlight-contact{border-color:#fd7e14}.submit-button:disabled:not(.loading){background-color:#ccc;cursor:not-allowed}@media (max-width:768px){.contact-fields-group{padding:10px}}.success-message{background-color:#d4edda;border-radius:5px}.confirmation-details{border-radius:5px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin:20px 0;padding:15px}.confirmation-icon{display:inline-block;height:16px;margin-right:8px;vertical-align:middle;width:16px}.email-confirmation,.sms-confirmation{font-size:.95rem;margin:8px 0}.email-icon{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%2328a745" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>') no-repeat 50%}.sms-icon{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%2328a745" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg>') no-repeat 50%}.calendar-download{margin:20px 0}.calendar-button{background-color:#0056b3;border-radius:4px;font-weight:500;margin-top:10px;padding:10px 15px;transition:background-color .2s}.calendar-button:hover{background-color:#004494}.calendar-icon{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>') no-repeat 50%;display:inline-block;height:16px;margin-right:8px;width:16px}.register-again-button{margin-top:20px}.event-home-page{display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:100vh;padding:0 15px;width:100%}.registration-section{background-color:#fff;border:2px solid #ffcce6;border-radius:16px;box-shadow:0 4px 16px rgba(255,105,180,.15);margin-top:2rem;padding:2rem}.registration-section h2{color:#ff66b3;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.participant-form{margin-top:1.5rem}.form-group label{color:#ff66b3;font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.required-field{color:#ff4081;margin-left:3px}.form-control{background-color:#fff;border:2px solid #ffcce6;border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.05);padding:1rem;transition:all .3s ease;width:100%}.form-control:focus{border-color:#ff66b3;box-shadow:0 0 0 3px rgba(255,102,179,.25)}.contact-fields-group{background-color:#fff8fc;border-left:4px solid #f96;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.contact-group-header{margin-bottom:1rem}.contact-instruction{color:#f96;font-size:1rem;font-weight:600;margin:0 0 1rem}.required-alternative{color:#f96;margin-left:3px}.highlight-contact{background-color:#fff8f0;border-color:#f96}.submit-button{background:linear-gradient(90deg,#ff66b3,#f96);border-radius:50px;box-shadow:0 4px 8px rgba(255,102,179,.3);cursor:pointer;display:block;font-size:1.1rem;font-weight:700;margin:0 auto;max-width:320px;padding:1rem 2rem;text-align:center;transition:all .3s ease;width:100%}.submit-button:hover{background:linear-gradient(90deg,#ff5caa,#ff8c59);box-shadow:0 6px 12px rgba(255,102,179,.4);transform:translateY(-2px)}.submit-button:disabled{background:linear-gradient(90deg,#ffcce6,#ffd6cc);box-shadow:none;transform:none}.error-message{background-color:#ffebf3;border-left:4px solid #ff4081;border-radius:8px;color:#ff4081;font-weight:500}.success-message{background-color:#e8f8f0;border:2px dashed #28a745;border-radius:12px;margin-bottom:2rem;padding:2rem;text-align:center}.success-message h3{color:#28a745;font-size:1.5rem;margin-bottom:1.5rem}.confirmation-details{background-color:#fff;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.08);margin:1.5rem 0;padding:1.5rem;text-align:left}.calendar-button{align-items:center;background-color:#06c;border:none;border-radius:50px;color:#fff;display:inline-flex;font-weight:600;justify-content:center;margin-top:1rem;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .2s ease}.calendar-button:hover{background-color:#0056b3;color:#fff;text-decoration:none}.register-again-button{background-color:#28a745;border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.register-again-button:hover{background-color:#218838;transform:translateY(-2px)}@media (max-width:991px){.registration-section{padding:1.5rem}.registration-section h2{font-size:1.6rem}}@media (max-width:768px){.event-home-page{padding:0 10px}.registration-section{border-radius:12px;padding:1.25rem}.registration-section h2{font-size:1.4rem;margin-bottom:1.25rem}.form-group label{font-size:1rem;margin-bottom:.5rem}.form-control{border-radius:10px;font-size:.95rem;padding:.875rem}.contact-fields-group{padding:1.25rem}.submit-button{font-size:1rem;padding:.875rem 1.75rem}.success-message{padding:1.5rem}.confirmation-details{padding:1.25rem}}@media (max-width:576px){.registration-section{margin-top:1.5rem;padding:1rem}.registration-section h2{font-size:1.3rem;margin-bottom:1rem}.form-group{margin-bottom:1.25rem}.form-control{font-size:.9rem;padding:.75rem}.contact-fields-group{margin-bottom:1.25rem;padding:1rem}.contact-instruction{font-size:.9rem}.submit-button{font-size:.95rem;max-width:100%;padding:.75rem 1.5rem}.error-message{font-size:.9rem;padding:.75rem}.success-message{padding:1.25rem}.success-message h3{font-size:1.3rem;margin-bottom:1rem}.confirmation-details{margin:1rem 0;padding:1rem}.calendar-button,.register-again-button{font-size:.9rem;margin-top:.75rem;padding:.7rem 1.25rem;width:100%}}@media (max-width:375px){.registration-section h2{font-size:1.2rem}.form-group label{font-size:.9rem}.form-control{padding:.7rem}.contact-instruction,.form-control{font-size:.85rem}.submit-button{font-size:.9rem;padding:.7rem 1.25rem}}.birthday-description p,.event-description,.preview-description{white-space:pre-wrap;word-wrap:break-word;box-sizing:border-box;max-width:100%;overflow-wrap:break-word}.birthday-description,.event-template,.registration-section{height:auto;min-height:fit-content}.event-list-container{margin:0 auto;max-width:1200px;padding:2rem}.event-list-header{margin-bottom:2rem;text-align:center}.event-list-header h1{color:#333;font-size:2.5rem;margin-bottom:.5rem}.event-list-header p{color:#666;font-size:1.2rem}.create-event-section{display:flex;justify-content:flex-end;margin-bottom:2rem}.create-event-button{background-color:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .2s}.create-event-button:hover{background-color:#0056b3}.events-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.event-card{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden;transition:transform .2s,box-shadow .2s}.event-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-5px)}.event-card-header{padding:1.5rem;text-align:center}.event-card-header h2{font-size:1.5rem;margin:0}.event-card-body{background-color:#fff;padding:1.5rem}.event-card-description{color:#666;font-size:.9rem;margin-top:1rem}.event-card-footer{background-color:#f8f9fa;padding:1rem;text-align:center}.view-event-button{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:.9rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s}.view-event-button:hover{background-color:#218838}.no-events{background-color:#f8f9fa;border-radius:8px;color:#666;grid-column:1/-1;padding:3rem;text-align:center}.error-container,.loading{font-size:1.2rem;padding:3rem;text-align:center}.error-container{color:#dc3545}.event-creation-container{margin:0 auto;max-width:900px;padding:2rem}.event-creation-header{margin-bottom:2rem;text-align:center}.event-creation-header h1{color:#333;font-size:2.5rem;margin-bottom:.5rem}.event-creation-header p{color:#666;font-size:1.2rem}.event-creation-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden}.form-section{border-bottom:1px solid #eee;padding:2rem}.form-section h2{color:#333;font-size:1.5rem}.form-group,.form-section h2{margin-bottom:1.5rem}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-control{border:1px solid #ced4da;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .2s;width:95%}.form-control:focus{border-color:#06c;outline:none}.color-pickers{display:flex;gap:2rem}.color-picker-container{align-items:center;display:flex;gap:1rem}.color-picker{border:1px solid #ced4da;border-radius:4px;cursor:pointer;height:40px;padding:0;width:50px}.color-text-input{width:100px}.preview-section{border-bottom:1px solid #eee;padding:2rem}.template-preview{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:2rem}.preview-logo-container{margin-bottom:1.5rem;text-align:center}.preview-logo{max-height:100px;max-width:200px}.preview-title{font-size:2rem;margin-bottom:1rem;text-align:center}.preview-description{font-size:1.1rem;line-height:1.5}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding:2rem}.cancel-button,.submit-button{border-radius:4px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.cancel-button{background-color:#f8f9fa;border:1px solid #ced4da;color:#333}.cancel-button:hover{background-color:#e9ecef}.submit-button{background-color:#06c;border:none;color:#fff}.submit-button:hover{background-color:#0056b3}.submit-button:disabled{background-color:#77a7d9;cursor:not-allowed}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:1.5rem;padding:1rem}.preview-description{white-space:pre-wrap;word-wrap:break-word;max-width:100%;overflow-wrap:break-word}.template-preview{height:auto;min-height:200px}body{background-color:#d3d3d3}.app-container{min-height:100vh;width:100%}