@keyframes gl-success-header-pop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1);opacity:1}80%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes gl-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gl-image-appear{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes gl-cinematic-scroll{0%{transform:translateY(100%)}to{transform:translateY(-100%)}}@keyframes gl-nebula-drift{0%{transform:translate(0) rotate(0) scale(1);opacity:.4}to{transform:translate(10vw,-15vh) rotate(30deg) scale(1.2);opacity:.6}}@keyframes gl-parallax-move{0%{transform:translateY(0)}to{transform:translateY(-100px)}}@keyframes gl-deep-star-twinkle{0%{opacity:var(--start-opacity)}to{opacity:calc(var(--start-opacity) * 1.5)}}@keyframes gl-star-shake{0%,to{transform:translate(0)}25%{transform:translate(.5px,-.5px)}50%{transform:translate(-.5px,.5px)}75%{transform:translate(.5px,.5px)}}@keyframes gl-twinkle{0%,to{opacity:1;transform:scale(1) translate(var(--target-x),var(--target-y))}50%{opacity:.6;transform:scale(.8) translate(var(--target-x),var(--target-y))}}@keyframes gl-rise-up{0%{transform:translate(var(--start-x)) scale(.5);opacity:.9}to{transform:translate(calc(var(--start-x) * .5),-50vh) scale(1.2);opacity:0}}@keyframes gl-firefly-swirl-rise{0%{transform:translateY(0) translate(0);opacity:0}10%,90%{opacity:1}25%{transform:translateY(-8.33vh) translate(var(--swirl-intensity))}50%{transform:translateY(-16.67vh) translate(0)}75%{transform:translateY(-25vh) translate(calc(var(--swirl-intensity) * -1))}to{transform:translateY(-33.33vh) translate(0);opacity:0}}@keyframes gl-animate-wave{0%{transform:translate(0)}to{transform:translate(50%)}}@keyframes gl-fireworks-text-fade{0%,to{opacity:0;transform:translate(-50%) scale(.8)}15%,85%{opacity:1;transform:translate(-50%) scale(1)}}@keyframes gl-card-fade-in{0%{opacity:0;transform:translate(-50%,-45%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes gl-text-reveal{to{opacity:1;transform:translateY(0)}}@keyframes gl-spin{to{transform:rotate(360deg)}}@keyframes gl-drop{0%{transform:translateY(0) rotate(var(--start-rot));opacity:1}to{transform:translateY(105vh) translate(var(--x-drift)) rotate(calc(var(--start-rot) + 720deg));opacity:0}}@keyframes gl-pending-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@keyframes gl-fade-in-out{0%,to{opacity:0;transform:translate(-50%,-20px)}10%,90%{opacity:1;transform:translate(-50%)}}:root{--primary-color: #AD82D9;--primary-color-dark: #9368c0;--secondary-color: #F2B6E2;--accent-color: #F291A3;--text-color: #3C304A;--text-light: #736881;--bg-color: #FFFFFF;--bg-app: #F5F3F9;--border-color: #E6E0F0;--border-radius: 16px;--shadow: 0 6px 20px rgba(173, 130, 217, .15);--font-family: "Nunito", sans-serif;--error-color: #d32f2f;--error-bg-color: #ffebee;--success-color: #2e7d32;--success-bg-color: #e8f5e9}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;flex-direction:column}.app-container{width:100%;max-width:500px;margin:2rem auto;padding:1.5rem;background-color:var(--bg-color);border-radius:var(--border-radius);box-shadow:var(--shadow);flex-grow:1}.header{text-align:center;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.header h1{font-size:2rem;font-weight:800;color:var(--primary-color);background:linear-gradient(45deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;cursor:pointer}.header-store-icon,.header-placeholder{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.header-action-button{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-light);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,color .2s;width:32px;height:32px}.header-action-button:hover{background-color:var(--border-color);color:var(--primary-color)}.header-store-icon{font-size:1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .2s cubic-bezier(.25,1,.5,1)}.header-store-icon:hover{transform:scale(1.15)}.header-store-icon:active{transform:scale(.95)}.section-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.title-badge{font-size:.8rem;font-weight:600;background-color:var(--secondary-color);color:var(--primary-color);padding:.25rem .6rem;border-radius:20px}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.template-card{border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;cursor:pointer;transition:all .2s ease-in-out;background-color:var(--bg-color);position:relative;box-shadow:var(--shadow)}.template-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #ad82d933}.template-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--secondary-color)}.template-card .check-icon{position:absolute;top:8px;right:8px;width:24px;height:24px;background-color:var(--primary-color);color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:1rem;transform:scale(0);transition:transform .2s ease-out}.template-card.selected .check-icon{transform:scale(1)}.template-card img{width:100%;height:120px;object-fit:cover;display:block}.template-info{padding:.75rem}.template-info h3{font-size:1rem;font-weight:700;margin-bottom:.25rem}.template-info p{font-size:.9rem;font-weight:600;color:var(--primary-color)}.form-section{background-color:var(--bg-color);border-radius:var(--border-radius);padding:1rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.form-section-title{font-size:1.1rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group .label-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.label-with-action label{margin-bottom:0}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.9rem}.btn-text{background:none;border:none;color:var(--text-light);font-size:.85rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background-color .2s,color .2s}.btn-text:hover{background-color:var(--border-color);color:var(--primary-color)}.btn-text-clear{background:none;border:1px solid var(--border-color);color:var(--text-light);font-size:.85rem;font-weight:600;cursor:pointer;padding:.5rem .75rem;border-radius:8px;transition:all .2s;display:block;margin-top:.75rem;width:100%}.btn-text-clear:hover{background-color:var(--bg-app);color:var(--accent-color);border-color:var(--secondary-color)}.input-group{display:flex;gap:.5rem}.form-control{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:var(--font-family);transition:border-color .2s,box-shadow .2s;background-color:#fdfcff;color:var(--text-color)}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--secondary-color)}textarea.form-control{min-height:120px;resize:vertical}.btn{padding:.75rem 1rem;border-radius:8px;border:none;font-size:1rem;font-weight:700;font-family:var(--font-family);cursor:pointer;transition:all .2s}.btn-primary{background-color:var(--primary-color);color:#fff;width:100%;padding:1rem;border-radius:var(--border-radius);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.btn-primary:hover:not(:disabled){background-color:var(--primary-color-dark);transform:translateY(-2px);box-shadow:0 4px 10px #0000001a}.btn:disabled,.btn-primary:disabled{opacity:.9;cursor:wait;transform:none;box-shadow:none;background-color:var(--primary-color-dark)}.btn-secondary{background-color:var(--secondary-color);color:var(--primary-color);flex-shrink:0}.btn-secondary:hover:not(:disabled){background-color:var(--accent-color);color:#fff}.checkbox-group{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background-color:var(--bg-app);border-radius:8px;border:1px solid var(--border-color)}.checkbox-group label{display:flex;align-items:center;cursor:pointer;margin:0}.checkbox-group input[type=checkbox]{width:20px;height:20px;margin-right:.75rem;accent-color:var(--primary-color)}.checkbox-group .price{font-weight:600;color:var(--text-color)}.image-preview-container{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:.75rem;background-color:var(--bg-app);border-radius:8px;border:1px solid var(--border-color);margin-bottom:.75rem}.image-preview-item-wrapper{position:relative;flex-shrink:0}.image-preview-thumbnail{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;border-radius:6px;border:2px solid var(--border-color)}.delete-image-btn{position:absolute;top:-8px;right:-8px;width:22px;height:22px;background-color:var(--accent-color);color:#fff;border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);opacity:0;transform:scale(.5)}.image-preview-item-wrapper:hover .delete-image-btn{opacity:1;transform:scale(1)}.delete-image-btn:hover{transform:scale(1.1) rotate(90deg)}.image-upload-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1rem}.btn-delete-all{padding:.5rem 1rem;border-radius:20px;border:1px solid var(--accent-color);background-color:transparent;color:var(--accent-color);font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s ease;margin-right:auto}.btn-delete-all:hover{background-color:var(--accent-color);color:#fff}.image-upload-actions .custom-file-upload-small{width:60px;height:60px;flex-shrink:0;border:2px dashed var(--border-color);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:2rem;color:var(--text-light);transition:all .2s ease}.image-upload-actions .custom-file-upload-small:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:#ede9f6}.image-content-editor-wrapper{margin-top:1rem}.ai-suggestion-box{background-color:var(--bg-app);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.text-suggestion-box{margin-top:1rem;margin-bottom:0}.ai-suggestion-box p{font-weight:600;font-size:.9rem;margin-bottom:.75rem}.suggestion-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.btn-suggestion{padding:.5rem 1rem;border-radius:20px;border:1px solid var(--secondary-color);background-color:#fff;color:var(--primary-color);font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.btn-suggestion:hover:not(:disabled){background-color:var(--secondary-color);border-color:var(--primary-color);transform:translateY(-1px)}.btn-suggestion:disabled{opacity:.7;cursor:not-allowed}.spinner-small{width:14px;height:14px;border:2px solid var(--primary-color);border-radius:50%;border-top-color:transparent;animation:gl-spin 1s ease-in-out infinite}.custom-file-upload{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;text-align:center;transition:all .2s ease-in-out;background-color:var(--bg-app)}.custom-file-upload:hover{border-color:var(--primary-color);background-color:#ede9f6;transform:translateY(-2px);box-shadow:var(--shadow)}.upload-icon{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem}.upload-text{font-weight:700;color:var(--primary-color);font-size:1rem}.upload-hint{font-size:.8rem;color:var(--text-light);margin-top:.25rem}.file-input-container input[type=file]{display:none}.file-preview-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.file-preview-item{display:flex;align-items:center;gap:.75rem;font-size:.9rem;background-color:var(--bg-app);padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border-color);color:var(--text-light)}.file-preview-item .file-icon{color:var(--primary-color);font-size:1.2rem}.collapsible-section summary{font-weight:700;font-size:1rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;background-color:var(--bg-app);border-radius:8px;border:1px solid var(--border-color);transition:background-color .2s}.collapsible-section summary:hover{background-color:#ede9f6}.collapsible-section summary::marker,.collapsible-section summary::-webkit-details-marker{display:none}.collapsible-section .arrow-down{transition:transform .2s ease-in-out}.collapsible-section[open]>summary .arrow-down{transform:rotate(180deg)}.image-content-editor{display:flex;flex-direction:column;gap:1rem;max-height:250px;overflow-y:auto;padding-right:.5rem}.image-content-group{display:flex;align-items:center;gap:.75rem}.image-content-group .btn-text{flex-shrink:0}.image-content-thumbnail{width:50px;height:50px;object-fit:cover;border-radius:4px;flex-shrink:0}.image-content-group textarea.form-control{min-height:50px;resize:vertical}.success-container{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1rem 0;position:relative;overflow:hidden}.success-container.animate h2{animation:gl-success-header-pop .8s cubic-bezier(.25,1,.5,1) .2s forwards;opacity:0}.success-container h2{font-size:1.75rem;margin-bottom:1rem;color:var(--primary-color)}.success-container p{font-size:1rem;color:var(--text-light);margin-bottom:1.5rem;max-width:95%}.success-container .btn{margin-top:.75rem;width:100%}.share-link-container{display:flex;width:100%;margin-top:1rem;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background-color:var(--bg-app);align-items:center;padding:.25rem .25rem .25rem .75rem}.share-link-text{flex-grow:1;font-size:.9rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:monospace}.copy-button{background-color:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-light);transition:background-color .2s,color .2s;flex-shrink:0}.copy-button:hover{background-color:var(--border-color);color:var(--primary-color)}.copy-button svg{transition:transform .2s ease-in-out}.copy-button:active svg{transform:scale(.9)}.qr-code{width:180px;height:180px;border-radius:var(--border-radius);border:4px solid white;box-shadow:0 4px 15px #ad82d933;margin-bottom:1rem}.qr-code-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.qr-code-wrapper .qr-code{margin-bottom:0}.qr-download-btn{margin-top:.5rem;background-color:transparent;color:var(--text-light);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,transform .2s,color .2s}.qr-download-btn:hover{background-color:var(--border-color);color:var(--primary-color);transform:scale(1.1)}.qr-download-btn svg{width:24px;height:24px}.back-button{background:none;border:none;color:var(--text-light);font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem}.animation-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;overflow:hidden;display:flex;justify-content:center;align-items:center;perspective:1000px}.animation-back-button{position:absolute;top:20px;left:20px;z-index:1000;background:#ffffff1a;border:1px solid rgba(255,255,255,.5);color:#fff;padding:8px 16px;border-radius:20px;cursor:pointer;font-family:var(--font-family);font-size:1rem;font-weight:600;transition:background-color .2s,transform .2s}.animation-back-button:hover{background:#fff3;transform:scale(1.05)}.play-music-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;cursor:pointer;animation:gl-fade-in .5s ease-out}.play-music-button{width:100px;height:100px;background:#ffffff1a;border:2px solid rgba(255,255,255,.8);border-radius:50%;display:flex;justify-content:center;align-items:center;transition:transform .2s ease-out,background-color .2s}.play-music-overlay:hover .play-music-button{transform:scale(1.1);background:#fff3}.play-music-button svg{width:50px;height:50px;margin-left:8px}.play-music-text{color:#fff;font-size:1.2rem;margin-top:1.5rem;font-weight:600;text-shadow:0 1px 5px rgba(0,0,0,.5)}.content-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:90%;max-width:450px;opacity:0;transition:opacity 1s ease-in-out;max-height:85vh}.content-wrapper.visible{opacity:1}.centered-image{max-width:40vw;max-height:35vh;object-fit:contain;border-radius:12px;box-shadow:0 0 25px #fff9;border:3px solid white;margin-bottom:20px;flex-shrink:0}.content-wrapper.visible .centered-image{animation:gl-image-appear 1.2s cubic-bezier(.25,1,.5,1) forwards}.text-container{width:80%;overflow:hidden;flex-shrink:1;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%)}.centered-text{color:#fff;font-size:1.5rem;text-shadow:0 0 10px rgba(233,30,99,.9);text-align:center;width:100%;font-weight:700}.content-wrapper.visible .centered-text{animation:gl-cinematic-scroll linear infinite}.text-line{display:block;margin-bottom:.3em}.nebula-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}.nebula{position:absolute;border-radius:50%;filter:blur(80px);mix-blend-mode:screen;opacity:.5;animation:gl-nebula-drift 60s infinite alternate ease-in-out}.nebula-1{width:80vmax;height:80vmax;top:-20%;left:-20%;background:radial-gradient(circle,#5a0066,transparent 60%);animation-duration:55s}.nebula-2{width:70vmax;height:70vmax;bottom:-30%;right:-25%;background:radial-gradient(circle,#002b6b,transparent 60%);animation-duration:65s;animation-delay:-10s}.nebula-3{width:60vmax;height:60vmax;top:10%;right:-15%;background:radial-gradient(circle,#7e0031,transparent 60%);animation-duration:70s;animation-delay:-5s}.parallax-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}.parallax-layer{position:absolute;top:0;left:0;width:100%;height:100%;animation:gl-parallax-move linear infinite}.parallax-layer-far{animation-duration:240s}.parallax-layer-medium{animation-duration:180s}.parallax-layer-near{animation-duration:120s}.deep-space-star{position:absolute;background-color:#fff;border-radius:50%;box-shadow:0 0 4px #fff,0 0 2px #fff}.heart-canvas{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);width:1px;height:1px;z-index:10}.heart-particle{position:absolute;left:0;top:0;width:var(--particle-size);height:var(--particle-size);background:#e91e63;border-radius:50%;will-change:transform,opacity;opacity:1;box-shadow:0 0 8px #e91e63,0 0 12px #e91e63,0 0 16px #c2185b;transform:translate(var(--target-x),var(--target-y));animation:gl-twinkle 3s ease-in-out var(--twinkle-delay) infinite}.rising-particles-container{position:absolute;bottom:10%;left:50%;width:1px;height:1px;z-index:5}.rising-particle{position:absolute;will-change:transform,opacity;opacity:0;text-shadow:0 0 6px currentColor;animation:gl-rise-up var(--duration) ease-out infinite}.fireflies-container{position:absolute;bottom:0;left:0;width:100%;height:33.33%;z-index:3;pointer-events:none;overflow:hidden}.firefly{position:absolute;bottom:-5%;width:var(--particle-size);height:var(--particle-size);background:#7afcff;border-radius:50%;box-shadow:0 0 6px #7afcff,0 0 10px #7afcff,0 0 14px #00e1ff;animation:gl-firefly-swirl-rise linear infinite;opacity:0}.glowing-wave-container{position:absolute;bottom:0;left:0;width:100%;height:5vh;z-index:5;pointer-events:none;overflow:hidden}.wave{position:absolute;left:-100%;width:200%;height:150px;background:#7afcff1a;border-radius:50%;animation:gl-animate-wave linear infinite;box-shadow:0 0 15px #7afcff80,0 0 25px #00f2ff66}.wave.wave1{animation-duration:12s;opacity:1;bottom:0}.wave.wave2{animation-duration:18s;opacity:.6;bottom:10px}.wave.wave3{animation-duration:25s;opacity:.3;bottom:15px}.grand-fireworks-text-overlay{position:absolute;top:25%;left:50%;transform:translate(-50%);color:#fff;font-size:2.5rem;font-weight:800;text-align:center;width:90%;text-shadow:0 0 15px rgba(255,255,255,.8),0 0 25px rgba(233,30,99,.7);animation:gl-fireworks-text-fade 4s ease-in-out;pointer-events:none;z-index:10}.interaction-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;width:90%;max-width:350px;background:#0a0a14d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius);padding:1.25rem;color:#fff;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 8px 32px #0000005e;animation:gl-card-fade-in .5s cubic-bezier(.165,.84,.44,1)}.interaction-card img{width:100%;max-height:50vh;object-fit:contain;border-radius:8px}.interaction-card p{font-size:1.1rem;text-align:center;line-height:1.5;text-shadow:0 1px 4px rgba(0,0,0,.5)}.interaction-card button{background:#ffffff1a;border:1px solid rgba(255,255,255,.5);color:#fff;padding:8px 16px;border-radius:20px;cursor:pointer;font-family:var(--font-family);font-size:1rem;font-weight:600;transition:background-color .2s}.interaction-card button:hover{background:#fff3}.interaction-card p.animated-text{white-space:pre-wrap;word-break:break-word}.interaction-card p.animated-text span{display:inline-block;opacity:0;transform:translateY(1em);animation:gl-text-reveal .6s forwards cubic-bezier(.2,.8,.2,1)}.spinner-container{display:flex;align-items:center;justify-content:center;gap:.75rem}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:gl-spin 1s ease-in-out infinite}.progress-bar-container{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0000001a;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius)}.progress-bar{position:absolute;top:0;left:0;height:100%;background-color:var(--secondary-color);transition:width .2s ease-out;border-radius:var(--border-radius)}.progress-text{position:relative;z-index:1;color:var(--primary-color);font-weight:700;text-shadow:0 1px 1px rgba(255,255,255,.5)}.confirm-container{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1rem 0}.confirm-container h2{font-size:1.75rem;margin-bottom:1rem;color:var(--primary-color)}.confirm-container p{font-size:1rem;color:var(--text-light);margin-bottom:2rem;max-width:350px}.confirm-actions{width:100%;display:flex;flex-direction:column;gap:.75rem}.confirm-actions .btn{margin:0}.edit-btn{background-color:var(--bg-app);color:var(--text-color);border:1px solid var(--border-color)}.edit-btn:hover:not(:disabled){background-color:var(--border-color);color:var(--text-color)}.payment-container{display:flex;flex-direction:column;align-items:center;text-align:center}.payment-container .qr-code{margin-top:1rem}.countdown-timer{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin:1rem 0;background-color:var(--bg-app);padding:.5rem 1rem;border-radius:8px}.payment-instructions{background-color:var(--error-bg-color);border:1px solid var(--error-color);color:var(--error-color);padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:left}.payment-instructions strong{color:var(--error-color)}.payment-form{width:100%}.processing-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1rem;gap:1rem}.gear-spinner{width:80px;height:80px;border:5px solid var(--secondary-color);border-top-color:var(--primary-color);border-radius:50%;animation:gl-spin 1.5s linear infinite}.processing-container h3{font-size:1.5rem;color:var(--primary-color)}.processing-container p{color:var(--text-light)}.social-links{margin-top:2rem;display:flex;gap:1.5rem;align-items:center}.social-links a{display:block;transition:transform .2s ease-out}.social-links a:hover{transform:scale(1.1)}.social-links img{width:40px;height:40px}.zalo-btn{display:flex;align-items:center;gap:.75rem;padding-left:1rem!important;padding-right:1rem!important}.zalo-btn img{width:24px;height:24px}.pending-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;gap:1rem;background-color:var(--bg-color);position:fixed;top:0;left:0;width:100%;height:100%;z-index:100}.pending-icon{font-size:4rem;animation:gl-pending-bounce 2s infinite ease-in-out}.pending-container h2{font-size:1.75rem;color:var(--primary-color)}.pending-container p{color:var(--text-light);max-width:350px;margin-bottom:1rem}.admin-view-wrapper{background-color:var(--bg-app);min-height:100vh;padding-bottom:2rem}.admin-login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.admin-login-container h2{font-size:2rem;color:var(--primary-color);margin-bottom:1rem}.admin-container{max-width:700px;margin:0 auto;padding:0 1rem}.admin-sticky-header{background-color:#f5f3f9d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:1rem;position:sticky;top:0;z-index:10;margin:0 -1rem;border-bottom:1px solid var(--border-color)}.admin-header-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-header-controls h2{font-size:1.5rem;color:var(--primary-color)}.btn-icon{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-light)}.admin-search-form{display:flex;gap:.5rem}.admin-search-form .btn-text{height:auto}.error-message-inline{color:var(--error-color);font-size:.9rem;margin-top:.5rem;text-align:center}.admin-section{margin-top:1.5rem}.admin-section-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:var(--text-color)}.admin-gift-list{display:grid;gap:1rem}.admin-gift-card{background-color:var(--bg-color);border-radius:var(--border-radius);padding:1rem;box-shadow:0 2px 8px #0000000d;border:1px solid var(--border-color)}.gift-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;font-size:.9rem;margin-bottom:1rem}.gift-card-grid-item{display:flex;flex-direction:column;word-break:break-word}.gift-card-grid-item.full-width{grid-column:1 / -1}.gift-card-grid-item strong{font-weight:600;color:var(--text-light);margin-bottom:.25rem;font-size:.8rem;text-transform:uppercase}.admin-card-footer{border-top:1px solid var(--border-color);padding-top:1rem;display:flex;justify-content:space-between;align-items:center}.status-toggle{display:flex;align-items:center;gap:.75rem}.status-text{font-weight:700;font-size:.9rem}.status-text.paid{color:var(--success-color)}.status-text.not-paid{color:var(--error-color)}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--success-color)}input:checked+.slider:before{transform:translate(20px)}.admin-card-actions{display:flex;gap:.5rem}.btn-admin-action{background:var(--bg-app);border:1px solid var(--border-color);border-radius:6px;padding:.5rem;color:var(--text-light);cursor:pointer;display:flex;align-items:center;gap:.4rem;font-size:.8rem;transition:all .2s ease}.btn-admin-action:hover{background:var(--border-color);color:var(--primary-color)}.btn-admin-action.delete:hover{background-color:var(--error-bg-color);color:var(--error-color);border-color:var(--error-color)}.admin-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background-color:var(--success-color);color:#fff;padding:.75rem 1.5rem;border-radius:8px;box-shadow:var(--shadow);z-index:1000;animation:gl-fade-in-out 3s ease-in-out}.confirm-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.confirm-modal-content{background:var(--bg-color);padding:1.5rem;border-radius:var(--border-radius);width:90%;max-width:400px;text-align:center}.confirm-modal-content h3{margin-bottom:.75rem;color:var(--text-color)}.confirm-modal-content p{color:var(--text-light);margin-bottom:1.5rem}.confirm-modal-actions{display:flex;gap:1rem;justify-content:center}.btn-danger{background-color:var(--error-color)}.btn-danger:hover:not(:disabled){background-color:#c62828}.footer{text-align:center;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color);font-size:.9rem;color:var(--text-light)}.footer a{color:var(--primary-color);text-decoration:none;font-weight:600}.footer a:hover{text-decoration:underline}
