.template-preview-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.template-preview-modal-container{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.template-preview-modal-header{align-items:center;background:#fff;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:20px 24px}.template-preview-modal-title{color:#161617;flex:1 1;font-size:20px;font-weight:600;margin:0}.template-preview-modal-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.template-preview-modal-close:hover{background:#f5f5f5;color:#161617}.template-preview-modal-content{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:24px}.template-preview-area{align-items:center;background:#f5f5f5;display:flex;justify-content:center;max-height:500px;min-height:400px}.template-preview-iframe{display:block;height:100%;width:100%}.template-preview-image-wrapper{background:#f0f0f0;padding:0}.template-preview-image{border-radius:8px;box-shadow:0 4px 12px #0000001a}.template-preview-empty{font-size:16px;height:100%}.template-preview-error,.template-preview-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.template-preview-spinner{border:4px solid #f0f0f0;height:40px;width:40px}.template-preview-retry-btn{background:#e91e63;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.template-preview-retry-btn:hover{background:#c2185b;transform:translateY(-1px)}.template-preview-split-layout{display:flex;gap:40px;height:100%}.template-preview-left-col{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;flex:1 1;justify-content:center;max-width:450px;overflow:hidden;position:relative}.template-preview-right-col{display:flex;flex:1 1;flex-direction:column;gap:24px}.template-stats-bar{display:flex;gap:16px;justify-content:flex-end;margin-bottom:8px}.template-stat-item{align-items:center;border-radius:20px;color:#fff;display:flex;font-size:14px;font-weight:500;gap:6px;padding:6px 16px}.template-stat-item.likes{background:#ff4d6d}.template-stat-item.views{background:#2196f3}.stat-icon{font-size:16px}.template-features-list{color:#333;display:flex;flex-direction:column;gap:16px;margin-top:10px}.feature-item{font-size:15px;line-height:1.5}.feature-item strong{color:#111;font-weight:600}.template-action-buttons{display:flex;gap:16px;margin-top:24px}.preview-btn-outline{background:#fff;border:1px solid #ddd;border-radius:25px;color:#333;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s}.preview-btn-outline:hover{background:#f5f5f5;border-color:#ccc}.preview-btn-primary{background:#2196f3;border:none;border-radius:25px;box-shadow:0 4px 12px #2196f34d;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.preview-btn-primary:hover{background:#1976d2}.template-qr-section{align-items:center;display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-top:20px}.qr-code-wrapper{background:#fff;border-radius:8px;padding:8px}.qr-img{display:block;height:140px;width:140px}.qr-instruction{color:#888;font-size:14px}.template-preview-area{background:#f0f0f0;border-radius:12px;height:100%;min-height:550px;overflow:hidden;position:relative;width:100%}.template-favorite-btn{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#ff4d6d;cursor:pointer;display:flex;height:40px;justify-content:center;left:16px;position:absolute;top:16px;width:40px;z-index:10}.template-favorite-btn:hover{transform:scale(1.1)}.template-preview-modal-container{height:85vh;max-width:1000px}@media (max-width:900px){.template-preview-split-layout{flex-direction:column;overflow-y:auto}.template-preview-left-col{max-width:100%;min-height:400px}.template-preview-modal-container{height:95vh}}.home-header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #fff9;border-radius:0 0 24px 24px;box-shadow:0 4px 24px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1)}.home-logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e91e63,#ff6b35);-webkit-background-clip:text;filter:drop-shadow(0 2px 4px rgba(233,30,99,.1));font-size:28px;font-weight:800}.nav-link.active:after{border-radius:1px}.home-header-right{gap:12px}.header-dashboard-btn{background:linear-gradient(135deg,#e91e63,#ff6b35)}.header-dashboard-btn,.header-login-btn{font-size:14px;padding:8px 16px;transition:all .2s ease}.header-login-btn{border:1px solid #1616171a;border-radius:8px}.header-login-btn:hover{background:#f5f5f5;border-color:#e91e63}.header-signup-btn{background:linear-gradient(135deg,#e91e63,#ff6b35);font-size:14px;padding:8px 16px;transition:all .2s ease}.mobile-menu-toggle{background:none;padding:8px}.mobile-menu{flex-direction:column;gap:0;padding:16px 40px}.mobile-menu.open{display:flex}.mobile-nav-link{border-bottom:1px solid #1616170d;font-size:15px;padding:12px 0}.mobile-login-btn,.mobile-signup-btn{border-radius:8px;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;font-weight:600;margin-top:12px;padding:12px 24px}.mobile-login-btn{border:1px solid #1616171a}.mobile-signup-btn{background:linear-gradient(135deg,#e91e63,#ff6b35)}@media (max-width:768px){.home-header{border-radius:0;margin:0}.home-header-container{padding:12px 20px}.home-header-nav{display:none}.home-header-right{gap:8px}.header-dashboard-btn,.header-login-btn,.header-signup-btn{display:none}.mobile-menu-toggle{display:block}.mobile-menu{display:none}.mobile-menu.open{display:flex}}.home-page{background:linear-gradient(180deg,#fff5f8,#fafafa);min-height:100vh;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}body:has(.home-page){height:auto!important;overflow-y:auto!important}#root:has(.home-page){height:auto!important;overflow-y:auto!important}.home-header{background:#fff;border-radius:0 0 16px 16px;box-shadow:0 2px 8px #0000000d;margin:20px 20px 0;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:1000}.home-header.scrolled{border-radius:0;box-shadow:0 4px 16px #0000001a;margin-top:0}.home-header-container{align-items:center;display:flex;gap:32px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:16px 40px;position:relative}.home-header-left{align-items:center;display:flex;flex-shrink:0}.language-selector{margin-left:12px;position:relative}.language-btn{align-items:center;background:#0000;border:1px solid #1616171a;border-radius:6px;color:#161617;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:11px;font-weight:500;gap:4px;line-height:1;padding:4px 8px;transition:all .2s ease}.language-btn:hover{background:#f5f5f5;border-color:#e91e63;color:#e91e63}.language-code{font-size:11px;font-weight:600;min-width:20px;text-align:center}.language-menu{animation:slideDown .2s ease-out;background:#fff;border:1px solid #1616171a;border-radius:8px;box-shadow:0 4px 16px #0000001a;min-width:140px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:1001}.language-option{align-items:center;background:#0000;border:none;color:#161617;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px;gap:10px;padding:10px 14px;text-align:left;transition:all .2s ease;width:100%}.language-option:hover{background:#f5f5f5}.language-option.active{background:#fff5f8;color:#e91e63;font-weight:600}.language-option span:first-child{font-size:18px}.home-logo{align-items:center;cursor:pointer;display:flex;gap:12px;text-decoration:none;transition:transform .2s ease}.home-logo:hover{transform:scale(1.05)}.home-logo-image{height:110px;transition:transform .2s ease;width:110px}.home-logo:hover .home-logo-image{transform:scale(1.05)}.home-logo-text{color:#e91e63;font-family:Brush Script MT,Lucida Handwriting,cursive;font-size:24px;font-weight:600;letter-spacing:-.5px}.home-header-nav{align-items:center;display:flex;flex:1 1;gap:32px;justify-content:center}.nav-link{color:#161617;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;font-weight:500;position:relative;text-decoration:none;transition:color .3s ease;white-space:nowrap}.nav-link:hover{color:#e91e63}.nav-link.active{color:#e91e63;font-weight:600}.nav-link.active:after{background:#e91e63;border-radius:2px;bottom:-4px;content:"";height:2px;left:0;position:absolute;right:0}.home-header-right{align-items:center;display:flex;flex-shrink:0;gap:16px}.header-login-btn{background:#0000;border:none;color:#161617;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;font-weight:500;padding:8px 20px;transition:color .3s ease}.header-login-btn:hover{color:#e91e63}.header-signup-btn{background:#e91e63;border:none;border-radius:8px;box-shadow:0 2px 8px #e91e6333;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;font-weight:600;padding:10px 24px;transition:all .3s ease}.header-signup-btn:hover{background:#c2185b;box-shadow:0 4px 12px #e91e634d;transform:translateY(-1px)}.header-dashboard-btn{align-items:center;background:var(--gradient-pink);border:none;border-radius:8px;box-shadow:0 2px 8px #e91e6333;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.header-dashboard-btn:hover{background:#c2185b;box-shadow:0 4px 12px #e91e634d;transform:translateY(-1px)}.mobile-menu-toggle{align-items:center;background:#0000;border:none;border-radius:8px;color:#161617;cursor:pointer;display:none;height:40px;justify-content:center;transition:background .3s ease;width:40px}.mobile-menu-toggle:hover{background:#f5f5f5}.mobile-menu{background:#fff;border-top:1px solid #1616171a;box-shadow:0 4px 16px #0000001a;display:none;left:0;max-height:0;overflow:hidden;position:absolute;right:0;top:100%;transition:max-height .3s ease}.mobile-menu.open{max-height:600px}.mobile-nav{display:flex;flex-direction:column;gap:12px;padding:16px 20px}.mobile-nav-link{border-radius:8px;color:#161617;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;font-weight:500;padding:12px 16px;text-decoration:none;transition:all .3s ease}.mobile-nav-link.active,.mobile-nav-link:hover{background:#f5f5f5;color:#e91e63}.mobile-auth{border-top:1px solid #1616171a;display:flex;flex-direction:column;gap:12px;margin-top:8px;padding-top:16px}.mobile-login-btn{background:#0000;border:1px solid #16161733;border-radius:8px;color:#161617;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;font-weight:500;padding:12px 20px;transition:all .3s ease}.mobile-login-btn:hover{background:#f5f5f5;border-color:#e91e63;color:#e91e63}.mobile-signup-btn{background:#e91e63;border:none;border-radius:8px;box-shadow:0 2px 8px #e91e6333;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;font-weight:600;padding:12px 20px;transition:all .3s ease}.mobile-signup-btn:hover{background:#c2185b;box-shadow:0 4px 12px #e91e634d}.mobile-dashboard-btn{align-items:center;background:#e91e63;border:none;border-radius:8px;box-shadow:0 2px 8px #e91e6333;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .3s ease}.mobile-dashboard-btn:hover{background:#c2185b;box-shadow:0 4px 12px #e91e634d}.header-separator{background:#2196f3;border-radius:0 0 16px 16px;height:3px;width:100%}@media (max-width:1024px){.home-header-nav{gap:24px}.nav-link{font-size:14px}}@media (max-width:768px){.home-header{border-radius:0;margin:0}.home-header-container{padding:12px 20px}.home-header-nav,.home-header-right{display:none}.mobile-menu-toggle{display:flex}.mobile-menu{display:block}.home-logo-text{font-size:20px}.home-logo-icon{height:32px;width:32px}.language-btn{font-size:10px;gap:3px;padding:4px 6px}.language-code{font-size:10px;min-width:18px}.language-menu{min-width:120px;right:0}.language-option{font-size:12px;gap:8px;padding:8px 12px}.language-option span:first-child{font-size:16px}}@media (max-width:480px){.home-header-container{padding:10px 16px}.home-logo-text{font-size:18px}}.home-hero{align-items:center;background:#fff;display:flex;justify-content:center;min-height:700px;overflow:hidden;padding:100px 0 120px;position:relative;width:100%}.hero-content{grid-gap:80px;align-items:center;border-radius:10px;display:grid;gap:80px;grid-template-columns:1fr 1fr;height:584px;left:320px;position:absolute;right:320px;top:82px;z-index:2}.hero-left{display:flex;flex-direction:column;gap:32px;position:relative;z-index:10}.hero-left:before{background:radial-gradient(circle at center,#e91e630d 0,#ffffff80 50%,#fff0 70%);border-radius:50%;bottom:-50px;content:"";filter:blur(40px);left:-50px;opacity:1;position:absolute;right:-50px;top:-50px;z-index:-1}.hero-title{color:#161617;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:34px;font-weight:700;letter-spacing:-.68px;line-height:42px;margin:0 0 24px}.hero-title-accent{color:#e91e63;font-weight:700}.hero-description{color:#161617;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;font-weight:400;line-height:22px;margin:0 0 32px;max-width:100%}.hero-actions{align-items:center;display:flex;gap:16px;margin-top:8px}.hero-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:17px;font-weight:600;gap:10px;justify-content:center;padding:16px 32px;transition:all .3s ease}.hero-btn .btn-icon{display:inline-block;flex-shrink:0;font-size:20px;line-height:1}.hero-btn-primary{background:#e91e63;border:2px solid #0000;box-shadow:0 4px 16px #e91e6359;color:#fff}.hero-btn-primary:hover{background:#c2185b;box-shadow:0 6px 24px #e91e6373;transform:translateY(-2px)}.hero-btn-primary:active{transform:translateY(0)}.hero-right{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:520px;opacity:1;position:relative;transform:translateY(40px);width:100%;z-index:1}.hero-right.loaded{opacity:1;overflow:hidden;position:relative}.hero-right:before{background:linear-gradient(90deg,#ffffffe6 0,#ffffffb3 20%,#fff6 40%,#ffffff26 60%,#ffffff0d 80%,#0000);border-radius:10px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.hero-image-grid-wrapper{display:flex;gap:16px;position:relative;width:-webkit-max-content;width:max-content;will-change:transform;z-index:1}.hero-right.loaded .hero-image-grid-wrapper{animation:scrollLeft 30s linear infinite}.hero-image-grid{grid-gap:16px;display:grid;filter:blur(0);flex-shrink:0;gap:16px;grid-template-columns:repeat(3,1fr);opacity:1;position:relative;transition:filter .3s ease;width:520px}@keyframes scrollLeft{0%{transform:translateX(0)}to{transform:translateX(-536px)}}@keyframes radialBlur{0%,to{filter:blur(0);opacity:.8}50%{filter:blur(1px);opacity:.5}}.hero-grid-item{animation:itemFadeIn .6s ease-out forwards;aspect-ratio:.75;border-radius:12px;box-shadow:0 4px 16px #0000001a;opacity:0;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:100%}.hero-grid-item:first-child{animation-delay:.1s}.hero-grid-item:nth-child(2){animation-delay:.2s}.hero-grid-item:nth-child(3){animation-delay:.3s}.hero-grid-item:nth-child(4){animation-delay:.4s}.hero-grid-item:nth-child(5){animation-delay:.5s}.hero-grid-item:nth-child(6){animation-delay:.6s}.hero-grid-item:nth-child(7){animation-delay:.7s}.hero-grid-item:nth-child(8){animation-delay:.8s}.hero-grid-item:nth-child(9){animation-delay:.9s}.hero-right.loaded .hero-grid-item{opacity:1}.hero-grid-item:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-4px);z-index:10}@keyframes itemFadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.hero-grid-image{background:#f5f5f5;border-radius:12px;overflow:hidden;position:relative}.hero-grid-image,.hero-grid-img{height:100%;min-height:200px;width:100%}.hero-grid-img{background:linear-gradient(135deg,#f5f5f5,#e0e0e0);display:block;filter:brightness(1);object-fit:cover;object-position:center;opacity:0;transition:transform .3s ease,opacity .3s ease}.hero-grid-item:hover .hero-grid-img{filter:brightness(1.1);transform:scale(1.05)}.hero-grid-overlay{align-items:flex-end;background:linear-gradient(180deg,#0000004d 0,#0000 30%,#0000 70%,#00000080);bottom:0;display:flex;justify-content:center;left:0;opacity:1;padding:16px;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:1}.hero-grid-text{color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:11px;font-weight:700;letter-spacing:.5px;text-align:center;text-shadow:0 2px 4px #00000080}@media (max-width:1024px){.home-hero{min-height:600px;padding:80px 0 100px}.hero-content{gap:50px;grid-template-columns:1fr;height:auto;left:auto;max-width:100%;padding:0 40px;position:relative;right:auto;top:auto;width:100%}.hero-right{order:-1}.hero-image-grid{gap:12px;margin:0 auto;max-width:450px}.hero-title{font-size:48px;line-height:58px}.hero-description{font-size:16px;line-height:26px}}.templates-carousel-section{background:#fff;border-left:2px solid #e3f2fd;padding:80px 0;position:relative;width:100%}.templates-carousel-container{margin:0;max-width:100%;overflow:hidden;padding:0;width:100%}.section-header{margin-bottom:48px;margin-left:auto;margin-right:auto;max-width:1400px;padding:0 40px;text-align:center}.section-icon{font-size:24px;margin-bottom:16px}.section-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e91e63,#ff6b35);-webkit-background-clip:text;background-clip:text;color:#161617;font-size:42px;font-weight:800;letter-spacing:-1px;line-height:1.2;margin:0 0 16px;text-align:center}.section-subtitle,.section-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.section-subtitle{color:#161617a6;font-size:16px;line-height:24px;margin:0 auto;max-width:800px}.carousel-marquee-wrapper{mask-image:linear-gradient(90deg,#0000,#000 5%,#000 95%,#0000);-webkit-mask-image:linear-gradient(90deg,#0000,#000 5%,#000 95%,#0000);overflow:hidden;padding:40px 0;width:100%}.carousel-marquee-track{animation:scrollTemplates 80s linear infinite;display:flex;gap:24px;padding-left:20px;width:-webkit-max-content;width:max-content}.carousel-marquee-track:hover{animation-play-state:paused}@keyframes scrollTemplates{0%{transform:translateX(0)}to{transform:translateX(-33.333%)}}.carousel-item{flex-shrink:0}.template-carousel-item{width:240px}.template-card-small{background:#fff;border-radius:24px;box-shadow:0 10px 30px -10px #00000026;cursor:pointer;display:flex;flex-direction:column;height:auto;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.template-card-small:hover{box-shadow:0 20px 40px -10px #00000040;transform:translateY(-10px)}.template-image-wrapper-small{aspect-ratio:2/3;background:#f0f0f0;border-bottom:none;overflow:hidden;position:relative;width:100%}.template-image-small{height:100%;left:0;object-fit:cover;object-position:center;position:absolute;top:0;transition:transform .6s ease;width:100%}.template-card-small:hover .template-image-small{object-position:center;transform:scale(1.1)}.template-thumbnail-html-small{top:0}.template-thumbnail-iframe-small{background:#fff;border:none;height:1200px;pointer-events:none;transform:scale(.61);transform-origin:top left;transition:transform 6s linear;width:393px}.template-card-small:hover .template-thumbnail-iframe-small{transform:scale(.61) translateY(-60%)}.template-thumbnail-iframe-overlay{background:#00000005;box-shadow:inset 0 0 1px #0000001a;pointer-events:none}.template-thumbnail-html-small{background:#fff;display:block;height:100%;left:0;overflow:hidden;position:absolute;top:-72px;width:100%}.template-tag{background:#fffffff2;border-radius:4px;color:#161617;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:12px;font-weight:600;padding:4px 12px;position:absolute;right:12px;top:12px}.template-info-small{display:none}.template-title-small{color:#161617;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;font-weight:600;line-height:22px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.carousel-nav{align-items:center;background:#fff;border:1px solid #1616171a;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#161617;cursor:pointer;display:flex;flex-shrink:0;height:48px;justify-content:center;transition:all .3s ease;width:48px}.carousel-nav:hover{background:#f5f5f5;border-color:#e91e63;color:#e91e63;transform:scale(1.1)}.carousel-nav-left{order:-1}.carousel-nav-right{order:1}.section-action{margin-left:auto;margin-right:auto;margin-top:32px;max-width:1400px;padding:0 40px;text-align:center}.template-btn-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;border-radius:24px;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:10}.template-card-small:hover .template-btn-overlay{opacity:1}.template-btn-view-small{align-items:center;background:#fff;border:none;border-radius:50px;box-shadow:0 4px 12px #00000026;color:#161617;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transform:translateY(20px);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.template-card-small:hover .template-btn-view-small{transform:translateY(0)}.template-btn-view-small:hover{background:#f8f8f8;box-shadow:0 6px 16px #0003;transform:scale(1.05)!important}.action-btn-primary{align-items:center;background:#e91e63;border:none;border-radius:8px;box-shadow:0 4px 12px #e91e634d;color:#fff;cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;font-weight:600;gap:8px;padding:14px 32px;transition:all .3s ease}.action-btn-primary:hover{background:#c2185b;box-shadow:0 6px 20px #e91e6366;transform:translateY(-2px)}.action-btn-primary svg{height:16px;width:16px}.stats-section{background:#fff;padding:80px 0;position:relative;width:100%}.stats-container{align-items:center;display:flex;gap:16px;margin:0 auto;max-width:1400px;padding:0 40px;width:100%}.stats-number{font-size:72px}.stats-number,.stats-plus{color:#e91e63;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:700;line-height:1}.stats-plus{font-size:48px}.stats-text{flex:1 1}.stats-title{color:#161617;font-size:24px;font-weight:700;line-height:32px;margin:0 0 12px}.stats-description,.stats-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.stats-description{color:#161617a6;font-size:16px;line-height:24px;margin:0}.photos-carousel-section{background:#fff;padding:80px 0;position:relative;width:100%}.photos-carousel-container{margin:0 auto;max-width:1400px;padding:0 40px;width:100%}.photos-carousel{gap:20px}.photo-carousel-item{width:320px}.photo-card{border:1px solid #16161714;border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden;transition:all .3s ease}.photo-card:hover{box-shadow:0 8px 24px #e91e6326;transform:translateY(-4px)}.photo-image{display:block;height:480px;object-fit:cover;width:100%}.home-features{background:#fff;padding:120px 0;position:relative;width:100%}.features-container{margin:0 auto;max-width:1200px;padding:0 40px;width:100%}.features-title{color:#161617;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:48px;font-weight:700;letter-spacing:-.96px;line-height:58px;margin:0 0 80px;text-align:center}.features-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,1fr);width:100%}.feature-card{background:#fafafa;border:1px solid #471aff1a;border-radius:16px;box-sizing:border-box;padding:48px 32px;text-align:center;transition:all .3s ease;width:100%}.feature-card:hover{border-color:#471aff4d;box-shadow:0 12px 40px #471aff26;transform:translateY(-8px)}.feature-icon{display:block;font-size:64px;height:64px;line-height:64px;margin:0 auto 32px;width:64px}.feature-title{color:#161617;font-size:24px;font-weight:600;line-height:32px;margin:0 0 16px}.feature-description,.feature-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.feature-description{color:#161617a6;font-size:16px;line-height:24px;margin:0}.home-templates{background:linear-gradient(180deg,#fff,#fafafa);padding:120px 0;position:relative;width:100%}.templates-container{margin:0 auto;max-width:1400px;padding:0 40px;width:100%}.templates-title{color:#161617;font-size:48px;font-weight:700;letter-spacing:-.96px;line-height:58px;margin:0 0 16px}.templates-subtitle,.templates-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;text-align:center}.templates-subtitle{color:#161617a6;font-size:20px;line-height:30px;margin:0 auto 32px;max-width:600px}.templates-search-container{margin:0 auto 48px;max-width:600px;width:100%}.search-input-wrapper{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;padding:12px 16px;position:relative;transition:all .3s ease}.search-input-wrapper:focus-within{border-color:#471aff;box-shadow:0 4px 12px #471aff26}.search-icon{color:#9ca3af;flex-shrink:0;margin-right:12px}.templates-search-input{background:#0000;border:none;color:#161617;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;outline:none}.templates-search-input::placeholder{color:#9ca3af}.search-clear-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;margin-left:8px;padding:4px;transition:color .2s}.search-clear-btn:hover{background:#f3f4f6;color:#161617}.search-results-info{color:#6b7280;font-size:14px;font-weight:500;margin-top:16px;text-align:center}.templates-empty,.templates-error,.templates-loading{padding:120px 20px;text-align:center}.loading-spinner{border:4px solid #471aff1a;border-top-color:#471aff;margin:0 auto 24px}.templates-error p{color:#f44336;margin-bottom:16px}.retry-btn,.templates-error p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px}.retry-btn{background:#471aff;border-radius:8px;font-weight:600;padding:12px 24px;transition:all .2s}.retry-btn:hover{background:#6038ff;transform:translateY(-2px)}.templates-empty .empty-icon{display:block;font-size:80px;height:80px;line-height:80px;margin:0 auto 32px;width:80px}.templates-empty h3{color:#161617;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:24px;font-weight:600;margin:0 0 12px}.templates-empty p{color:#161617a6;margin:0 0 40px}.empty-create-btn,.templates-empty p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px}.empty-create-btn{background:#471aff;border:none;border-radius:50px;color:#fff;cursor:pointer;font-weight:600;padding:14px 28px;transition:all .3s}.empty-create-btn:hover{background:#6038ff;box-shadow:0 4px 20px #471aff4d;transform:translateY(-2px)}.templates-grid{grid-gap:32px;gap:32px;grid-template-columns:repeat(4,1fr);margin-bottom:80px;width:100%}.template-card{border:1px solid #16161714;border-radius:16px;box-shadow:0 4px 20px #00000014;box-sizing:border-box;transition:all .3s ease;width:100%}.template-card:hover{border-color:#471aff4d;box-shadow:0 12px 40px #471aff33;transform:translateY(-8px)}.template-image-wrapper{background:#f5f5f5;overflow:hidden;padding-top:133.33%;position:relative;width:100%}.template-image{height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .3s ease;width:100%}.template-card:hover .template-image{transform:scale(1.05)}.template-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;gap:12px}.template-btn{background:#fff;border:none;border-radius:8px;box-shadow:0 2px 8px #0003;color:#471aff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.template-btn:hover{background:#471aff;color:#fff;transform:scale(1.05)}.template-btn-view{background:#ffffffe6}.template-info{padding:24px}.template-title{color:#161617;font-size:20px;font-weight:600;line-height:28px;margin:0 0 8px}.template-description,.template-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.template-description{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#161617a6;display:-webkit-box;font-size:14px;line-height:20px;margin:0;overflow:hidden}.templates-footer{border-top:1px solid #16161714;padding-top:40px;text-align:center}.create-more-btn{background:linear-gradient(135deg,#471aff,#6038ff);border:none;border-radius:50px;box-shadow:0 4px 20px #471aff4d;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:18px;font-weight:600;padding:16px 32px;transition:all .3s}.create-more-btn:hover{background:linear-gradient(135deg,#6038ff,#ad00ff);box-shadow:0 8px 30px #471aff66;transform:translateY(-2px)}.faq-section{background:linear-gradient(180deg,#fff,#fff0f5);padding:100px 0;position:relative;width:100%}.faq-container{margin:0 auto;max-width:900px;padding:0 40px;width:100%}.faq-header{margin-bottom:48px;text-align:center}.faq-title{color:#161617;font-size:36px;font-weight:700;letter-spacing:-.72px;line-height:44px;margin:0 0 16px}.faq-subtitle,.faq-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.faq-subtitle{color:#161617a6;font-size:16px;line-height:24px;margin:0}.faq-list{display:flex;flex-direction:column;gap:16px;margin-bottom:48px}.faq-item{background:#fff;border:1px solid #fff9;border-radius:16px;box-shadow:0 4px 12px #e91e630a;margin-bottom:0;overflow:hidden;transition:all .3s cubic-bezier(.25,.8,.25,1)}.faq-item:hover{border-color:#e91e631a;box-shadow:0 8px 24px #e91e6314;transform:translateY(-2px)}.faq-item.active{border-color:#e91e6333;box-shadow:0 8px 24px #e91e631f}.faq-question{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;gap:20px;padding:24px 32px;text-align:left;transition:all .3s ease;width:100%}.faq-question:hover{background:#e91e6305}.faq-question.active{background:#0000}.faq-arrow{align-items:center;color:#161617;display:flex;flex-shrink:0;height:16px;justify-content:center;transition:transform .3s ease;width:16px}.faq-question.active .faq-arrow{transform:rotate(90deg)}.faq-question-text{color:#161617;flex:1 1;font-size:16px;font-weight:600;line-height:24px}.faq-answer{animation:slideDown .3s ease;background:#0000;padding:0 32px 32px 68px}.faq-answer p{color:#161617bf;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:24px;margin:0}.support-section{border-top:1px solid #e91e631a;margin-top:20px;padding-top:60px;text-align:center}.support-text{color:#161617;font-size:18px;margin:0 0 24px}.support-btn,.support-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:600}.support-btn{align-items:center;background:#e91e63;border:none;border-radius:8px;box-shadow:0 4px 12px #e91e634d;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;gap:8px;padding:14px 32px;transition:all .3s ease}.support-btn:hover{background:#c2185b;box-shadow:0 6px 20px #e91e6366;transform:translateY(-2px)}.support-btn svg{height:16px;width:16px}.home-footer{background:#fff;border-top:1px solid #e91e631a;color:#161617;padding:80px 0 40px;position:relative;text-align:center;width:100%}.footer-content{align-items:center;display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1200px;padding:0 40px;width:100%}.footer-brand{margin-bottom:8px}.footer-logo{color:#161617;font-size:32px;font-weight:700;letter-spacing:-.64px;margin:0 0 8px}.footer-logo,.footer-slogan{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.footer-slogan{color:#161617a6;font-size:14px;line-height:20px;margin:0}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.footer-link{color:#161617;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;text-decoration:none;transition:color .3s ease}.footer-link:hover{color:#e91e63}.footer-link-separator{color:#1616174d;font-size:14px}.footer-copyright{margin-top:8px}.footer-copyright p{color:#16161780;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:12px;line-height:18px;margin:0}.footer-social{gap:20px;margin-top:8px}.footer-social,.social-icon{align-items:center;display:flex;justify-content:center}.social-icon{border-radius:50%;color:#161617;height:32px;transition:all .3s ease;width:32px}.social-icon:hover{color:#e91e63;transform:translateY(-2px)}.social-icon svg{height:24px;width:24px}@media (max-width:1440px){.features-container,.hero-content,.templates-container{max-width:100%;padding:0 40px}.templates-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1024px){.hero-title{font-size:48px;line-height:58px}.hero-title-accent{font-size:42px}.hero-description{font-size:15px;line-height:22px}.section-title{font-size:32px;line-height:40px}.stats-number{font-size:56px}.stats-plus{font-size:36px}.stats-title{font-size:20px;line-height:28px}.template-carousel-item{width:240px}.photo-carousel-item{width:280px}.templates-grid{gap:24px;grid-template-columns:repeat(3,1fr)}.features-grid{gap:24px;grid-template-columns:repeat(2,1fr)}.features-title,.templates-title{font-size:40px;line-height:48px}}@media (max-width:768px){.home-hero{min-height:auto;padding:60px 0 80px}.hero-content{gap:40px;height:auto;left:auto;max-width:100%;padding:0 24px;position:relative;right:auto;top:auto;width:100%}.hero-left:before{bottom:-50px;filter:blur(15px);left:-50px;right:-50px;top:-50px}.hero-title{letter-spacing:-.8px;line-height:50px}.hero-title,.hero-title-accent{font-size:40px}.hero-description{font-size:15px;line-height:24px}.hero-actions{flex-direction:column;gap:12px}.hero-btn{font-size:16px;max-width:300px;padding:14px 28px;width:100%}.hero-image-grid{gap:10px;max-width:100%}.hero-grid-item{border-radius:10px}.hero-grid-text{font-size:10px;padding:12px}.faq-section,.photos-carousel-section,.stats-section,.templates-carousel-section{padding:60px 0}.faq-container,.photos-carousel-container,.stats-container,.templates-carousel-container{padding:0 24px}.section-title{font-size:28px;line-height:36px}.section-subtitle{font-size:14px;line-height:20px}.carousel-wrapper{gap:8px}.carousel-nav{height:40px;width:40px}.template-carousel-item{width:200px}.photo-carousel-item{width:240px}.photo-image{height:360px}.stats-container{align-items:flex-start;flex-direction:column;gap:12px}.stats-number{font-size:48px}.stats-plus{font-size:32px}.stats-title{font-size:18px;line-height:24px}.stats-description{font-size:14px;line-height:20px}.faq-title{font-size:28px;line-height:36px}.faq-subtitle{font-size:14px;line-height:20px}.faq-question{padding:16px 20px}.faq-question-text{font-size:15px}.faq-answer{padding:0 20px 16px 52px}.faq-answer p{font-size:14px;line-height:22px}.footer-content{padding:0 24px}.footer-logo{font-size:28px}.home-features,.home-templates{padding:80px 0}.features-container,.templates-container{padding:0 24px}.features-grid{gap:24px;grid-template-columns:1fr}.features-title,.templates-title{font-size:32px;line-height:40px;margin-bottom:16px}.templates-subtitle{font-size:16px;line-height:24px;margin-bottom:60px}.feature-card{padding:40px 24px}.feature-icon{font-size:56px;margin-bottom:24px}.feature-title{font-size:20px;line-height:28px}.templates-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.template-overlay{flex-direction:column;gap:8px}.template-btn{font-size:13px;padding:10px 16px;width:80%}.decoration-circle{display:none}}@media (max-width:480px){.home-hero{padding:40px 0 60px}.hero-content{gap:32px;height:auto;left:auto;max-width:100%;padding:0 16px;position:relative;right:auto;top:auto;width:100%}.hero-left{gap:24px}.hero-left:before{bottom:-30px;filter:blur(12px);left:-30px;right:-30px;top:-30px}.hero-title{letter-spacing:-.64px;line-height:42px}.hero-title,.hero-title-accent{font-size:32px}.hero-description{font-size:14px;line-height:22px}.hero-btn{font-size:15px;padding:12px 24px}.hero-image-grid{gap:8px}.hero-grid-item{border-radius:8px}.hero-grid-text{font-size:9px;padding:10px}.templates-grid{grid-template-columns:1fr}.features-title,.templates-title{font-size:28px;line-height:36px}.templates-subtitle{font-size:14px;line-height:20px}.home-features,.home-templates{padding:60px 0}}.wedding-card-editor{background-color:#f5f5f5;height:100%;position:relative;width:100%}.wedding-card-editor .cesdk-container{height:100%;min-height:600px;width:100%}.editor-error,.editor-loading{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;left:50%;padding:20px 40px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1000}.editor-error{color:#d32f2f}.editor-loading{color:#666}.wedding-card-editor .cesdk [aria-label*=English],.wedding-card-editor .cesdk [class*=english]{display:none!important}.share-modal-overlay{align-items:center;animation:fadeIn var(--transition-base) ease-out;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}.share-modal-container{animation:slideUp var(--transition-slow) ease-out;background:var(--background-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);max-width:600px;overflow:hidden;width:90%}.share-modal-header{align-items:center;background:linear-gradient(135deg,var(--primary-purple) 0,var(--primary-purple-dark) 100%);border-bottom:1px solid var(--border-light);color:var(--text-light);display:flex;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl)}.share-modal-title{font-size:1.5rem;font-weight:600;margin:0}.share-modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.share-modal-close:hover{background:#fff3}.share-modal-content{padding:2rem}.share-modal-description{color:#666;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.share-modal-url-container{display:flex;gap:.5rem;margin-bottom:1.5rem}.share-modal-url-input{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;color:#333;cursor:text;flex:1 1;font-family:monospace;font-size:.95rem;padding:12px 16px;transition:all .2s}.share-modal-url-input:focus{background:#fff;border-color:#667eea;outline:none}.share-modal-copy-btn{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:12px 20px;transition:all .2s;white-space:nowrap}.share-modal-copy-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.share-modal-copy-btn.copied{background:#4caf50}.share-modal-copy-btn.copied:hover{background:#45a049}.share-modal-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.share-modal-share-btn{align-items:center;background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;padding:12px 24px;transition:all .2s}.share-modal-share-btn:hover{background:#45a049;box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}.share-modal-info{background:#f0f7ff;border-left:4px solid #667eea;border-radius:8px;padding:1rem}.share-modal-info-text{color:#555;font-size:.9rem;line-height:1.6;margin:0}@media (max-width:768px){.share-modal-container{margin:1rem;width:95%}.share-modal-header{padding:1rem 1.5rem}.share-modal-title{font-size:1.25rem}.share-modal-content{padding:1.5rem}.share-modal-url-container{flex-direction:column}.share-modal-copy-btn{justify-content:center;width:100%}}.html-preview-overlay{align-items:center;animation:fadeIn var(--transition-base) ease-out;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}.html-preview-container{animation:slideUp var(--transition-slow) ease-out;background:var(--background-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:95vh;max-width:1400px;overflow:hidden;width:95%}.html-preview-header{align-items:center;background:var(--background-color);border-bottom:1px solid var(--border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl)}.html-preview-title{align-items:center;display:flex;gap:var(--spacing-md)}.html-preview-title h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.html-refresh-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.html-refresh-btn:hover{background:#f0f0f0;color:#333}.html-preview-actions{align-items:center;display:flex;gap:.75rem}.html-action-btn{align-items:center;background:#f5f5f5;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.html-action-btn:hover:not(:disabled){background:#e0e0e0;transform:translateY(-1px)}.html-action-btn.primary{background:linear-gradient(135deg,#e91e63,#c2185b);box-shadow:0 2px 4px #e91e634d;color:#fff}.html-action-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#c2185b,#ad1457);box-shadow:0 4px 8px #e91e6366}.html-action-btn:disabled{cursor:not-allowed;opacity:.5}.html-close-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.html-close-btn:hover{background:#f0f0f0;color:#333}.html-preview-content{background:#f5f5f5;flex:1 1;overflow:hidden;position:relative}.html-preview-iframe{background:#fff;border:none;height:100%;width:100%}.html-loading{color:#666}.html-error,.html-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;height:100%;justify-content:center}.html-error{color:#d32f2f;padding:2rem;text-align:center}.html-retry-btn{background:#e91e63;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.html-retry-btn:hover{background:#c2185b;transform:translateY(-1px)}@media (max-width:768px){.html-preview-container{border-radius:0;max-height:100vh;width:100%}.html-preview-header{flex-wrap:wrap;gap:.5rem;padding:1rem}.html-preview-title{flex:1 1;min-width:100%}.html-preview-title h3{font-size:1rem}.html-preview-actions{justify-content:space-between;width:100%}.html-action-btn{flex:1 1;font-size:.75rem;justify-content:center;padding:.5rem .75rem}.html-action-btn span{display:none}}.editor-page{background:var(--background-gray);display:flex;flex-direction:column;height:100vh;width:100%}.editor-page-header{align-items:center;background:var(--background-white);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);z-index:var(--z-sticky)}.editor-header-left{align-items:center;display:flex;flex:1 1;gap:var(--spacing-md)}.editor-back-btn{background:var(--background-gray);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.editor-back-btn:hover{background:var(--border-light)}.editor-title-input{border:1px solid var(--border-light);border-radius:var(--radius-md);flex:1 1;font-size:1rem;font-weight:600;max-width:300px;padding:var(--spacing-sm) var(--spacing-md)}.editor-title-input:focus{border-color:var(--primary-pink);box-shadow:0 0 0 3px #e91e631a;outline:none}.editor-header-right{align-items:center;display:flex;gap:var(--spacing-md)}.editor-user-menu{margin-left:var(--spacing-sm);position:relative}.editor-user-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-base)}.editor-user-btn:hover{background:var(--background-gray-light)}.editor-user-avatar{align-items:center;background:var(--gradient-pink);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--text-light);display:flex;flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:32px;justify-content:center;width:32px}.editor-user-name{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-user-dropdown-icon{color:var(--text-secondary);flex-shrink:0;transition:transform var(--transition-base)}.editor-user-dropdown-icon.open{transform:rotate(180deg)}.editor-user-dropdown{animation:slideDown var(--transition-base) var(--ease-out);background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:180px;padding:var(--spacing-xs);position:absolute;right:0;top:calc(100% + var(--spacing-xs));z-index:var(--z-dropdown)}.editor-user-dropdown-item{align-items:center;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.editor-user-dropdown-item:hover{background:var(--gradient-soft);color:var(--primary-pink)}.editor-user-dropdown-item svg{flex-shrink:0}.editor-user-dropdown-divider{background:var(--border-light);height:1px;margin:var(--spacing-xs) 0}.editor-action-btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base)}.editor-action-btn:disabled{cursor:not-allowed;opacity:.5}.editor-action-btn.save{background:#4caf50;color:#fff}.editor-action-btn.save:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.editor-action-btn.save.saved{background:#2196f3}.editor-action-btn.preview{background:#2196f3;color:#fff}.editor-action-btn.preview:hover:not(:disabled){background:#1976d2;transform:translateY(-1px)}.editor-action-btn.share{background:#e91e63;color:#fff}.editor-action-btn.share:hover:not(:disabled){background:#c2185b;transform:translateY(-1px)}.editor-page-content{flex:1 1;overflow:hidden}.editor-page-content .full-editor{height:100%;width:100%}@media (max-width:768px){.editor-page-header{flex-direction:column;gap:12px;padding:12px}.editor-header-left,.editor-header-right{width:100%}.editor-header-right{flex-wrap:wrap}.editor-action-btn{flex:1 1;min-width:100px}}.preview-page{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:40px 20px 20px}.preview-container{max-width:800px;width:100%}.preview-mode-toggle{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.mode-btn{background:#fff;border:2px solid #0000;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:all .2s}.mode-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.mode-btn.active{background:#e91e63;border-color:#c2185b;color:#fff}.preview-html-container{animation:fadeInUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.preview-html-iframe{min-height:600px}.preview-html-actions{background:#f9f9f9;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:center;padding:20px}.preview-card{animation:fadeInUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.preview-header{background:linear-gradient(135deg,#e91e63,#f06292);color:#fff;padding:30px 20px;text-align:center}.preview-title{font-size:2rem;font-weight:700;margin:0 0 10px}.preview-subtitle{font-size:1.1rem;margin:0;opacity:.9}.preview-image-container{background:#f9f9f9;padding:20px}.preview-image{border-radius:8px;box-shadow:0 4px 12px #0000001a;height:auto;max-height:500px}.preview-content{padding:20px 30px;text-align:center}.preview-date{color:#666;font-size:.9rem;margin:0}.preview-actions{gap:12px;justify-content:center;padding:0 30px 20px}.preview-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s}.preview-action-btn.download{background:#4caf50;color:#fff}.preview-action-btn.download:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.preview-action-btn.share{background:#2196f3;color:#fff}.preview-action-btn.share:hover{background:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-2px)}.preview-footer{border-top:1px solid #e0e0e0;color:#999;font-size:.9rem;padding:20px;text-align:center}.preview-footer a{color:#e91e63;font-weight:600;text-decoration:none}.preview-footer a:hover{text-decoration:underline}.preview-error,.preview-loading{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px;text-align:center}.preview-error p,.preview-loading p{color:#666;margin-top:20px}.loading-spinner{margin:0 auto}.preview-error h2{color:#d32f2f;margin-bottom:10px}.preview-back-btn{background:#e91e63;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:20px;padding:10px 20px;transition:all .2s}.preview-back-btn:hover{background:#c2185b;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.preview-page{padding:20px 10px 10px}.preview-container{max-width:100%}.preview-mode-toggle{flex-direction:column}.mode-btn{width:100%}.preview-html-iframe{min-height:500px}.preview-html-actions{flex-direction:column}.preview-title{font-size:1.5rem}.preview-actions{flex-direction:column}.preview-action-btn{width:100%}}.app-header{backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);background:var(--background-glass);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);height:64px;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);position:-webkit-sticky;position:sticky;top:0;transition:all var(--transition-base);z-index:var(--z-fixed)}.app-header,.header-left{align-items:center;display:flex}.header-left{flex:0 0 auto}.logo{align-items:center;cursor:pointer;display:flex;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);gap:var(--spacing-sm);transition:all var(--transition-base)}.logo:hover{transform:scale(1.05)}.logo-image{filter:drop-shadow(0 2px 4px rgba(233,30,99,.3));height:60px;object-fit:contain;transition:transform var(--transition-bounce);width:60px}.logo:hover .logo-image{transform:scale(1.1)}.logo-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.header-center{align-items:center;display:flex;flex:1 1;justify-content:center}.header-controls{display:flex;gap:.5rem}.control-btn{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:50%;box-shadow:0 2px 6px #0000000d;color:#5f6368;cursor:pointer;display:flex;height:44px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:44px}.control-btn:hover{background:#fff;border-color:#e91e631a;box-shadow:0 6px 16px #0000001a;color:#e91e63;transform:translateY(-2px)}.control-btn:active{box-shadow:0 2px 4px #0000000d;transform:translateY(0) scale(.95)}.control-btn svg{position:relative;transition:transform var(--transition-fast);z-index:1}.control-btn:hover svg{transform:scale(1.1)}.header-right{align-items:center;display:flex;flex:0 0 auto;gap:var(--spacing-md)}.header-user-menu{margin-left:var(--spacing-sm);position:relative}.header-user-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-base)}.header-user-btn:hover{background:var(--background-gray-light)}.header-user-avatar{align-items:center;background:var(--gradient-pink);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--text-light);display:flex;flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:32px;justify-content:center;width:32px}.header-user-name{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-dropdown-icon{color:var(--text-secondary);flex-shrink:0;transition:transform var(--transition-base)}.header-user-dropdown-icon.open{transform:rotate(180deg)}.header-user-dropdown{animation:slideDown var(--transition-base) var(--ease-out);background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:180px;padding:var(--spacing-xs);position:absolute;right:0;top:calc(100% + var(--spacing-xs));z-index:var(--z-dropdown)}.header-user-dropdown-item{align-items:center;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.header-user-dropdown-item:hover{background:var(--gradient-soft);color:var(--primary-pink)}.header-user-dropdown-item svg{flex-shrink:0}.header-user-dropdown-divider{background:var(--border-light);height:1px;margin:var(--spacing-xs) 0}.auto-save-status{align-items:center;background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.auto-save-status:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.status-indicator{border-radius:50%;display:inline-block;height:8px;width:8px}.preview-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 4px 12px #764ba24d;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;overflow:hidden;padding:0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:44px}.preview-btn:hover{box-shadow:0 8px 20px #764ba266;color:#fff;filter:brightness(1.1);transform:translateY(-2px) scale(1.05)}.preview-btn:active{transform:translateY(0) scale(.98)}.preview-btn svg{height:18px;width:18px}.html-preview-btn{align-items:center;background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.html-preview-btn:hover{background:var(--background-gray);border-color:var(--border-medium)}.publish-btn{align-items:center;background:linear-gradient(135deg,#ff416c,#ff4b2b);border:none;border-radius:22px;box-shadow:0 4px 15px #ff4b2b66;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;height:44px;justify-content:center;letter-spacing:.5px;padding:0 32px;transition:all .3s cubic-bezier(.4,0,.2,1);width:auto}.publish-btn:hover{box-shadow:0 8px 25px #ff4b2b80;filter:brightness(1.1);transform:translateY(-2px)}.publish-btn:active{transform:translateY(0) scale(.98)}.publish-btn:disabled{background:#e0e0e0;box-shadow:none;color:#999;cursor:not-allowed;filter:none;transform:none}.save-btn{background:var(--gradient-pink);border:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-pink);color:var(--text-light);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:.75rem var(--spacing-lg);transition:all var(--transition-base)}.publish-btn:disabled:before{display:none}.profile-avatar,.user-profile{align-items:center;display:flex}.profile-avatar{background:var(--gradient-purple);border:2px solid var(--background-white);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--text-light);cursor:pointer;font-weight:var(--font-weight-bold);height:40px;justify-content:center;overflow:hidden;position:relative;transition:all var(--transition-base);width:40px}.profile-avatar:before{background:radial-gradient(circle,#ffffff4d 0,#0000 70%);content:"";height:200%;left:-50%;opacity:0;position:absolute;top:-50%;transition:opacity var(--transition-base);width:200%}.profile-avatar:hover:before{opacity:1}.profile-avatar:hover{box-shadow:var(--shadow-md);transform:scale(1.1)}.profile-avatar:active{transform:scale(1.05)}.sidebar{background:var(--background-white);border-right:1px solid var(--border-light);box-shadow:var(--shadow-sm);height:calc(100vh - 64px);overflow-y:auto;position:-webkit-sticky;position:sticky;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin;top:64px;transition:all var(--transition-base);width:80px}.sidebar,.sidebar-nav{display:flex;flex-direction:column}.sidebar-nav{gap:var(--spacing-sm);padding:var(--spacing-md) 0}.sidebar-item{align-items:center;background:#0000;border:none;border-left:3px solid #0000;color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-xs);justify-content:center;min-height:70px;overflow:hidden;padding:var(--spacing-md) var(--spacing-sm);position:relative;transition:all var(--transition-base);width:100%}.sidebar-item:before{height:100%;top:0;transform:scaleY(0);transform-origin:bottom;transition:transform var(--transition-base);width:3px}.sidebar-item:after,.sidebar-item:before{background:var(--gradient-pink);content:"";left:0;position:absolute}.sidebar-item:after{border-radius:0 4px 4px 0;height:0;opacity:0;top:50%;transform:translateY(-50%);transition:height var(--transition-base);width:4px}.sidebar-item:hover{background:linear-gradient(90deg,#e91e630d,#0000);color:var(--primary-pink);transform:translateX(2px)}.sidebar-item:hover:after{height:40px;opacity:1}.sidebar-item.active{background:linear-gradient(90deg,#e91e631a,#0000);border-left-color:var(--primary-pink);color:var(--primary-pink);font-weight:var(--font-weight-semibold)}.sidebar-item.active:before{transform:scaleY(1)}.sidebar-item.active:after{height:50px;opacity:1}.sidebar-icon{align-items:center;display:flex;justify-content:center;position:relative;z-index:1}.sidebar-icon,.sidebar-icon svg{transition:all var(--transition-base)}.sidebar-icon svg{stroke-width:1.5px;height:28px;width:28px}.sidebar-item:hover .sidebar-icon svg{stroke-width:2px;filter:drop-shadow(0 2px 4px rgba(233,30,99,.3));transform:scale(1.15)}.sidebar-item.active .sidebar-icon svg{stroke-width:2px;filter:drop-shadow(0 2px 4px rgba(233,30,99,.4));transform:scale(1.1)}.sidebar-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.2;position:relative;text-align:center;transition:all var(--transition-base);z-index:1}.sidebar-item:hover .sidebar-label{transform:translateY(-1px)}.sidebar-item.active .sidebar-label{font-weight:var(--font-weight-semibold)}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:2px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.crop-image-modal-overlay{align-items:center;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;pointer-events:auto;position:fixed;right:0;top:0;z-index:100001!important}.crop-image-modal{background:var(--background-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:1200px;position:relative;width:90vw;z-index:100002!important}.crop-modal-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;padding:var(--spacing-lg) var(--spacing-lg)}.crop-modal-header h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.crop-image-container,.crop-modal-content{display:flex;flex:1 1;overflow:hidden}.crop-image-container{align-items:center;background:#000;cursor:move;justify-content:center;position:relative}.crop-overlay-segment{z-index:5}.crop-overlay-segment,.crop-shape-overlay{background:var(--overlay-bg);pointer-events:none;position:absolute}.crop-shape-overlay{z-index:6}.crop-image-preview{max-height:100%;max-width:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.crop-box{background:#0000;border:2px dashed #2196f3;box-sizing:border-box;cursor:move;overflow:visible;pointer-events:auto;position:absolute;z-index:10}.crop-box.crop-box-has-shape{border:none}.crop-shape-border{overflow:visible}.crop-box:before{background:#2196f333;border:2px solid #2196f3;border-radius:50%;content:"";height:20px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px;z-index:12}.crop-grid{height:100%;position:relative;width:100%}.grid-line{background:#ffffff80;pointer-events:none;position:absolute}.grid-line.horizontal{height:1px;left:0;width:100%}.grid-line.vertical{height:100%;top:0;width:1px}.crop-handle{background:#2196f3;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;clip-path:none!important;-webkit-clip-path:none!important;cursor:pointer;height:12px;pointer-events:auto;position:absolute;width:12px;z-index:15}.crop-handle-nw{cursor:nw-resize;left:-5px;top:-5px}.crop-handle-ne{cursor:ne-resize;right:-5px;top:-5px}.crop-handle-sw{bottom:-5px;cursor:sw-resize;left:-5px}.crop-handle-se{bottom:-5px;cursor:se-resize;right:-5px}.crop-handle-n{cursor:n-resize;top:-5px}.crop-handle-n,.crop-handle-s{left:50%;transform:translateX(-50%)}.crop-handle-s{bottom:-5px;cursor:s-resize}.crop-handle-w{cursor:w-resize;left:-5px}.crop-handle-e,.crop-handle-w{top:50%;transform:translateY(-50%)}.crop-handle-e{cursor:e-resize;right:-5px}.crop-options{background:var(--background-color);border-left:1px solid var(--border-light);overflow-y:auto;padding:var(--spacing-lg);scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin;width:300px}.crop-options::-webkit-scrollbar{width:6px}.crop-options::-webkit-scrollbar-track{background:#0000}.crop-options::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.crop-options::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.crop-option-section{margin-bottom:var(--spacing-lg)}.crop-option-section:last-child{margin-bottom:0}.crop-option-label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-md)}.crop-shape-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.crop-tab{background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.8125rem;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.crop-tab.active,.crop-tab:hover{border-color:var(--primary-pink);color:var(--primary-pink)}.crop-tab.active{background:#fff5f8}.crop-shapes-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(5,1fr)}.crop-shape-btn{align-items:center;aspect-ratio:1;background:var(--background-white);border:2px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-sm);transition:all var(--transition-base)}.crop-shape-btn svg{height:20px;width:20px}.crop-shape-btn:hover{background:#fff5f8;border-color:var(--primary-pink)}.crop-shape-btn.active{background:#fff5f8;border-color:#2196f3;border-width:2px;color:#2196f3}.aspect-ratio-buttons{display:flex;flex-wrap:wrap;gap:8px}.aspect-ratio-btn{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;font-size:.8125rem;padding:8px 16px;transition:all .2s}.aspect-ratio-btn.active,.aspect-ratio-btn:hover{border-color:#e91e63;color:#e91e63}.aspect-ratio-btn.active{background:#fff5f8}.crop-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.crop-btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 24px;transition:all .2s}.crop-btn.cancel{background:#fff;border:1px solid #e0e0e0;color:#666}.crop-btn.cancel:hover{background:#f5f5f5}.crop-btn.confirm{background:linear-gradient(135deg,#e91e63,#c2185b);color:#fff}.crop-btn.confirm:hover{background:linear-gradient(135deg,#c2185b,#ad1457);box-shadow:0 4px 8px #e91e634d;transform:translateY(-1px)}.custom-pac-container,.pac-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin-top:4px;overflow:hidden;z-index:10000!important}.pac-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;font-size:.875rem;gap:12px;line-height:1.5;padding:12px 16px;transition:background-color .15s ease}.pac-item:last-child{border-bottom:none}.pac-item-selected,.pac-item:hover{background-color:#f5f5f5}.pac-icon{flex-shrink:0;height:20px;margin:0;opacity:.6;width:20px}.pac-icon-marker{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23444' stroke-width='2'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.pac-item-query{color:#333;font-size:.875rem;font-weight:500;padding-right:8px}.pac-matched{color:#333;font-weight:600}.pac-item-text{color:#666;font-size:.875rem;margin-top:2px}.map-address-input-container{position:relative;width:100%}.map-address-input{width:100%}.map-address-input.gm-err-autocomplete,.map-address-input[disabled]{background-image:none!important;color:inherit!important;cursor:text!important;opacity:1!important}.map-address-input-container input.map-address-input{pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}.pac-container:after{display:none!important}.pac-container .pac-loading{color:#666;font-size:.875rem;padding:12px 16px;text-align:center}.gift-box-preview-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;pointer-events:auto;position:fixed;right:0;top:0;z-index:999999!important}.gift-box-preview-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:800px;overflow-y:auto;padding:32px;pointer-events:auto;position:relative;width:100%;z-index:1000000!important}.gift-box-preview-close{align-items:center;background:#f5f5f5;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;pointer-events:auto;position:absolute;right:16px;top:16px;transition:background .2s;width:32px;z-index:10}.gift-box-preview-close:hover{background:#e0e0e0}.gift-box-preview-title{color:#333;font-size:1.5rem;font-weight:700;margin:0 0 8px;text-align:center}.gift-box-preview-subtitle{color:#666;font-size:.9375rem;margin:0 0 24px;text-align:center}.gift-box-preview-accounts{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.gift-box-preview-account{align-items:center;display:flex;flex-direction:column;gap:12px}.gift-box-preview-account-title{font-size:1.25rem;font-weight:600;margin:0}.gift-box-preview-account-title.bride{color:#e91e63}.gift-box-preview-account-title.groom{color:#2196f3}.gift-box-preview-qr-card{align-items:center;background:#fff;border:2px solid;border-radius:8px;display:flex;height:200px;justify-content:center;padding:12px;width:200px}.gift-box-preview-qr-card.bride{border-color:#e91e63}.gift-box-preview-qr-card.groom{border-color:#2196f3}.gift-box-preview-qr-image{max-height:100%;max-width:100%;object-fit:contain}.gift-box-preview-qr-placeholder{color:#999;font-size:.875rem}.gift-box-preview-account-info{text-align:center}.gift-box-preview-account-name{color:#333;font-size:1.125rem;font-weight:600;margin-bottom:4px}.gift-box-preview-bank-name{margin-bottom:4px}.gift-box-preview-account-number,.gift-box-preview-bank-name{color:#666;font-size:.9375rem}.gift-box-preview-copy-btn{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:opacity .2s}.gift-box-preview-copy-btn:hover{opacity:.9}.gift-box-preview-copy-btn.bride{background:#e91e63}.gift-box-preview-copy-btn.groom{background:#2196f3}.gift-box-preview-close-btn{background:#999;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:.9375rem;margin:0 auto;padding:12px 24px;transition:background .2s}.gift-box-preview-close-btn:hover{background:#777}@media (max-width:768px){.gift-box-preview-accounts{grid-template-columns:1fr}}.loading-indicator-overlay{align-items:center;animation:fadeIn .2s ease-in;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffb3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:999999}.loading-spinner-simple{animation:spin .8s linear infinite;border:3px solid #e91e6333;border-radius:50%;border-top-color:#e91e63}.settings-panel{background:var(--background-white);border-left:1px solid var(--border-light);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:calc(100vh - 64px);overflow-y:auto;position:-webkit-sticky;position:sticky;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin;top:64px;transition:all var(--transition-base);width:320px}.settings-panel::-webkit-scrollbar-thumb{background:var(--border-medium)}.settings-panel::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.settings-header{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(180deg,var(--background-white) 0,var(--background-gray-light) 100%);border-bottom:1px solid var(--border-light);flex-shrink:0;padding:var(--spacing-xs) var(--spacing-sm);z-index:var(--z-sticky)}.settings-header h3{-webkit-text-fill-color:#0000;background:var(--gradient-pink);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);margin:0}.settings-content{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm)}.setting-group{background:linear-gradient(180deg,var(--background-white) 0,var(--background-gray-light) 100%);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 1px 2px #00000005;display:flex;flex-direction:column;gap:2px;margin-bottom:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-base)}.setting-group:hover{background:var(--background-white);border-color:var(--primary-pink);box-shadow:0 0 0 1px #e91e631a}.setting-group:last-child{margin-bottom:0}.setting-label{align-items:center;color:var(--text-primary);display:flex;font-size:10px;font-weight:var(--font-weight-semibold);gap:2px;letter-spacing:.5px;line-height:1.3;margin-bottom:2px;opacity:.85;text-transform:uppercase}.setting-select{background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);box-sizing:border-box;color:var(--text-primary);cursor:pointer;font-size:var(--font-size-xs);height:28px;padding:4px var(--spacing-xs);position:relative;transition:all var(--transition-base)}.setting-select:hover{background:linear-gradient(180deg,var(--background-white) 0,#e91e6305 100%);box-shadow:0 0 0 2px #e91e631a,var(--shadow-sm)}.setting-select:focus,.setting-select:hover{border-color:var(--primary-pink);transform:translateY(-1px)}.setting-select:focus{box-shadow:0 0 0 4px #e91e6326,var(--shadow-sm);outline:none}.setting-select.enhanced{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1));border-radius:.5rem;border-width:1px;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1));cursor:pointer;padding:.5rem .75rem;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.setting-select.enhanced:hover{--tw-border-opacity:1;border-color:#9ca3af;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.setting-select.enhanced:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(236 72 153/var(--tw-ring-opacity,1));border-color:#0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid #0000;outline-offset:2px}.setting-input{background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);box-sizing:border-box;color:var(--text-primary);font-size:var(--font-size-xs);height:28px;padding:4px var(--spacing-xs);transition:all var(--transition-base);width:100%}.setting-input:hover{background:linear-gradient(180deg,var(--background-white) 0,#e91e6305 100%);box-shadow:0 0 0 2px #e91e631a,var(--shadow-sm)}.setting-input:focus,.setting-input:hover{border-color:var(--primary-pink);transform:translateY(-1px)}.setting-input:focus{box-shadow:0 0 0 4px #e91e6326,var(--shadow-sm);outline:none}.setting-hint{background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal);margin:0;padding:var(--spacing-xs);transition:all var(--transition-base)}.setting-hint:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.card-image-preview{display:flex;flex-direction:column;gap:1rem}.image-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.grid-item{aspect-ratio:1;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;overflow:hidden;transition:all .2s}.grid-item:hover{border-color:#e91e63;transform:scale(1.02)}.grid-item.active{border-color:#e91e63;border-width:3px}.grid-placeholder{align-items:center;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);color:#999;display:flex;font-size:.75rem;height:100%;justify-content:center;width:100%}.card-info{display:flex;flex-direction:column;gap:.75rem}.card-info h4{color:#333;font-size:1rem;font-weight:600;margin:0}.card-description{color:#666;font-size:.75rem;line-height:1.5;margin:0}.modal-overlay{padding:20px;z-index:99999!important}.modal-content{border-radius:12px;box-shadow:0 4px 20px #00000026;padding:24px;position:relative;width:100%;z-index:100000!important}.setting-btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;padding:8px 16px;transition:all .2s}.card-name{color:#333;font-size:.875rem;font-weight:500;margin:0}.card-note{background:#fff5f8;border-left:3px solid #e91e63;border-radius:6px;color:#999;font-size:.75rem;line-height:1.4;margin:0;padding:.75rem}.settings-panel::-webkit-scrollbar{width:6px}.settings-panel::-webkit-scrollbar-track{background:#0000}.settings-panel::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.settings-panel::-webkit-scrollbar-thumb:hover{background:#999}.settings-tabs{border-bottom:1px solid #e0e0e0;display:flex}.settings-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:12px 16px;transition:all .2s}.settings-tab:hover{background:#f5f5f5;color:#333}.settings-tab.active{background:#fff;border-bottom-color:#e91e63;color:#e91e63}.settings-header{background:#fafafa;border-bottom:1px solid #e0e0e0;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.settings-description{background:#f9f9f9;border-bottom:1px solid #e0e0e0;margin-bottom:12px;padding:12px 16px}.settings-description p{color:#666;font-size:.8125rem;line-height:1.5;margin:0}.image-album-setup{margin-top:12px}.selected-count{color:#666;font-size:.875rem;font-weight:500;margin:0 0 12px}.add-image-btn{background:linear-gradient(135deg,#e91e63,#c2185b);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;margin-bottom:16px;padding:12px 16px;transition:all .2s;width:100%}.add-image-btn:hover{background:linear-gradient(135deg,#c2185b,#ad1457);box-shadow:0 4px 8px #e91e634d;transform:translateY(-1px)}.no-images-placeholder{align-items:center;background:#f9f9f9;border:2px dashed #ddd;border-radius:8px;color:#999;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.no-images-placeholder svg{margin-bottom:12px;opacity:.5}.no-images-placeholder p{font-size:.8125rem;margin:0}.selected-images-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:12px}.selected-image-item{aspect-ratio:1;border:2px solid #e0e0e0;border-radius:6px;overflow:hidden;position:relative}.selected-image-item img{height:100%;object-fit:cover;width:100%}.remove-image-btn{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:20px;justify-content:center;line-height:1;padding:0;position:absolute;right:4px;top:4px;transition:all .2s;width:20px}.remove-image-btn:hover{background:#e91e63cc;transform:scale(1.1)}.crop-image-btn{align-items:center;background:#0009;border:none;border-radius:4px;bottom:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;padding:0;position:absolute;right:4px;transition:all .2s;width:24px;z-index:2}.crop-image-btn:hover{background:#2196f3cc;transform:scale(1.1)}.setting-field{display:flex;flex-direction:column;gap:1px;margin-bottom:2px;width:100%}.setting-field:last-child{margin-bottom:0}.setting-field-label{color:var(--text-primary);display:flex;flex-direction:column;font-weight:var(--font-weight-medium);gap:1px;line-height:1.3;width:100%}.setting-field-label,.setting-field-label>span{font-size:var(--font-size-xs);margin-bottom:1px}.setting-field-label>span{display:block;font-weight:var(--font-weight-semibold)}.setting-field-label>input[type=number],.setting-field-label>input[type=text],.setting-field-label>select{margin-top:1px;width:100%}.setting-field input[type=color],.setting-field input[type=number],.setting-field input[type=text],.setting-field select,.setting-field textarea{background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);box-sizing:border-box;color:var(--text-primary);font-size:var(--font-size-xs);height:28px;padding:4px var(--spacing-xs);transition:all var(--transition-base);width:100%}.setting-field input[type=number]:hover,.setting-field input[type=text]:hover,.setting-field select:hover,.setting-field textarea:hover{border-color:var(--primary-pink);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.setting-field input[type=number]:focus,.setting-field input[type=text]:focus,.setting-field select:focus,.setting-field textarea:focus{border-color:var(--primary-pink);box-shadow:0 0 0 4px #e91e6326,var(--shadow-sm);outline:none;transform:translateY(-1px)}.setting-field input[type=color]{border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);cursor:pointer;height:28px;min-width:50px;padding:2px;transition:all var(--transition-base);width:100%}.setting-field input[type=color]:hover{border-color:var(--primary-pink);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.setting-color-input{border:1px solid #ddd;border-radius:6px;cursor:pointer;height:32px;padding:2px;width:48px}.setting-toggle-label{align-items:center;color:#666;cursor:pointer;display:flex;font-size:.8125rem;gap:8px}.setting-toggle{accent-color:#e91e63;cursor:pointer;height:18px;width:18px}.slider-input-group{align-items:center;display:flex;gap:var(--spacing-xs);margin-top:1px;width:100%}.setting-field-label .slider-input-group{margin-top:1px}.slider-input-controls{align-items:center;display:flex;gap:var(--spacing-md);width:100%}.slider-value{align-items:center;background:linear-gradient(180deg,var(--background-white) 0,var(--background-gray-light) 100%);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);box-sizing:border-box;color:var(--primary-pink);display:flex;font-size:11px;font-weight:var(--font-weight-semibold);height:24px;justify-content:center;min-width:45px;padding:2px 4px;text-align:center;transition:all var(--transition-base)}.slider-value:hover{background:var(--background-white);border-color:var(--primary-pink);box-shadow:0 0 0 2px #e91e631a;box-shadow:var(--shadow-sm)}.setting-slider{-webkit-appearance:none;background:var(--border-light);border-radius:var(--radius-full);cursor:pointer;flex:1 1;height:4px;min-width:0;outline:none;position:relative;transition:all var(--transition-base)}.setting-slider:hover{background:var(--border-medium)}.setting-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--gradient-pink);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;height:14px;margin-top:-5px;position:relative;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);width:14px}.setting-slider::-webkit-slider-thumb:hover{box-shadow:var(--shadow-lg);transform:scale(1.2)}.setting-slider::-moz-range-thumb{background:var(--gradient-pink);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;height:14px;-moz-transition:all var(--transition-base);transition:all var(--transition-base);width:14px}.setting-slider::-moz-range-thumb:hover{box-shadow:var(--shadow-lg);transform:scale(1.2)}.setting-slider::-webkit-slider-runnable-track{background:var(--gradient-pink);border-radius:var(--radius-full);height:4px}.setting-slider::-moz-range-track{background:var(--border-light);border-radius:var(--radius-full);border-radius:2px;height:4px}.setting-slider::-moz-range-progress{background:#e91e63;border-radius:2px;height:4px}.slider-value{color:#666;font-size:.8125rem;font-weight:500;min-width:60px;text-align:right}.setting-group.collapsed{margin-bottom:8px}.setting-collapse-btn{align-items:center;background:#0000;border:none;border-top:1px solid #f0f0f0;color:#666;cursor:pointer;display:flex;font-size:.8125rem;justify-content:space-between;padding:10px 12px;transition:all .2s;width:100%}.setting-collapse-btn:hover{background:#f9f9f9;color:#333}.setting-collapse-btn span:last-child{color:#999;font-size:1.2rem}.image-settings-content{margin-top:12px}.image-thumbnail{aspect-ratio:1;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;overflow:hidden;width:100%}.image-thumbnail img{height:100%;object-fit:cover;width:100%}.image-actions{display:flex;gap:8px;margin-bottom:12px}.image-action-btn{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;flex:1 1;font-size:.8125rem;padding:8px 12px;transition:all .2s}.image-action-btn:hover{background:#fff5f8;border-color:#e91e63;color:#e91e63}.image-action-btn.delete{color:#f44336}.image-action-btn.delete:hover{background:#ffebee;border-color:#f44336}.crop-image-main-btn{background:linear-gradient(135deg,#e91e63,#c2185b);border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-size:.875rem;font-weight:600;margin-top:8px;padding:10px 16px;transition:all .2s;width:100%}.crop-image-main-btn:hover{background:linear-gradient(135deg,#c2185b,#ad1457);box-shadow:0 4px 8px #e91e634d;transform:translateY(-1px)}.image-editing-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:4px;margin:16px 0;padding-bottom:8px}.image-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:.8125rem;font-weight:500;padding:8px 12px;text-align:center;transition:all .2s}.image-tab.active,.image-tab:hover{background:#fff5f8;color:#e91e63}.image-tab.active{border-bottom-color:#e91e63}.flip-buttons{display:flex;gap:8px;margin-top:8px}.flip-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.75rem;gap:6px;padding:10px 12px;transition:all .2s}.flip-btn.active,.flip-btn:hover{background:#fff5f8;border-color:#e91e63;color:#e91e63}.flip-btn svg{height:20px;width:20px}.filter-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-top:8px}.filter-btn{background:#fff;border:1px solid #e0e0e0;color:#666;font-size:.8125rem;padding:10px 12px;text-align:center}.filter-btn.active,.filter-btn:hover{background:#fff5f8;border-color:#e91e63;color:#e91e63}.filter-btn.active{font-weight:600}.date-input-group{align-items:center;display:flex;gap:8px}.date-input-group input[type=date]{border:1px solid #e0e0e0;border-radius:6px;color:#333;flex:1 1;font-size:.875rem;padding:8px 12px}.calendar-style-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-top:12px}.calendar-style-item{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;color:#555;cursor:pointer;display:flex;flex-direction:column;font-size:.75rem;gap:6px;padding:12px 8px;transition:all .2s}.calendar-style-item:hover{background:#f0f0f0;border-color:#ccc}.calendar-style-item.active{background:#fff5f8;border-color:#e91e63;box-shadow:0 0 0 2px #e91e6333;color:#e91e63}.calendar-style-preview{font-size:1.5rem;margin-bottom:4px}.radio-group{display:flex;flex-direction:column;gap:8px;margin-top:12px}.radio-label{align-items:center;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:8px;padding:8px;transition:background .2s}.radio-label:hover{background:#f5f5f5}.radio-label input[type=radio]{cursor:pointer;margin:0}.setting-sub-group{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--spacing-xs);margin-top:var(--spacing-xs)}.setting-sub-group .setting-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:2px}.color-input{border:1px solid #e0e0e0;border-radius:6px;width:100%}.toggle-switch{display:inline-block;height:24px;margin-top:8px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:#e91e63}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(26px)}.utilities-panel{background:var(--background-white);border-right:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:calc(100vh - 64px);overflow-y:auto;position:-webkit-sticky;position:sticky;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin;top:64px;width:280px}.utilities-panel::-webkit-scrollbar{width:6px}.utilities-panel::-webkit-scrollbar-track{background:#0000}.utilities-panel::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.utilities-panel::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.utilities-header{background:var(--background-color);border-bottom:1px solid var(--border-light);padding:var(--spacing-md) var(--spacing-lg);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.utilities-header h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.utilities-content{flex:1 1;overflow-y:auto;padding:var(--spacing-md)}.utilities-section{margin-bottom:var(--spacing-lg)}.utilities-section:last-child{margin-bottom:0}.utilities-section-title{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0 0 var(--spacing-md) 0;text-transform:uppercase}.utilities-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr)}.pro-badge-icon{transition:all .2s ease}.pro-badge-icon:hover{filter:drop-shadow(0 3px 6px rgba(233,30,99,.5)) drop-shadow(0 2px 4px rgba(233,30,99,.4))!important;transform:scale(1.1)}.utility-item{align-items:center;background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-sm);justify-content:center;min-height:80px;padding:var(--spacing-md) var(--spacing-sm);transition:all var(--transition-base)}.utility-item:hover{background:var(--background-gray);transform:translateY(-2px)}.utility-item.active,.utility-item:hover{border-color:var(--primary-pink);box-shadow:var(--shadow-sm)}.utility-item.active{background:#fff5f8;color:var(--primary-pink)}.utility-icon{font-size:1.5rem;line-height:1}.utility-label{font-size:.75rem;font-weight:500;line-height:1.2;text-align:center}.background-panel{background:var(--background-white);border-left:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:calc(100vh - 64px);overflow-y:auto;position:-webkit-sticky;position:sticky;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin;top:64px;width:320px}.background-panel::-webkit-scrollbar{width:6px}.background-panel::-webkit-scrollbar-track{background:#0000}.background-panel::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.background-panel::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.background-panel-header{align-items:center;background:var(--background-color);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.background-panel-header h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.background-panel-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:28px;justify-content:center;padding:0;transition:all var(--transition-base);width:28px}.background-panel-close:hover{background:var(--background-gray);color:var(--text-primary)}.background-panel-content{display:flex;flex-direction:column;gap:var(--spacing-xl);padding:var(--spacing-lg)}.background-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.background-section-title{color:var(--text-primary);font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.color-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(8,1fr)}.color-swatch{aspect-ratio:1;border:2px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;padding:0;position:relative;transition:all var(--transition-base);width:100%}.color-swatch:hover{border-color:#2196f3;transform:scale(1.1);z-index:1}.color-swatch.active{border-color:#2196f3;border-width:3px;box-shadow:0 0 0 2px #2196f333}.custom-color-picker{display:flex;flex-direction:column;gap:var(--spacing-sm)}.custom-color-picker label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.color-picker-group{align-items:center;display:flex;gap:var(--spacing-sm)}.color-input{background:var(--background-white);cursor:pointer;height:40px;padding:2px;width:60px}.color-hex-input,.color-input{border:1px solid var(--border-light);border-radius:var(--radius-md)}.color-hex-input{flex:1 1;font-family:Courier New,monospace;font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md)}.color-hex-input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.background-image-grid{grid-gap:var(--spacing-md);align-items:start;display:grid;gap:var(--spacing-md);grid-auto-rows:minmax(0,1fr);grid-template-columns:repeat(2,1fr);overflow-y:auto;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.background-image-grid::-webkit-scrollbar{width:6px}.background-image-grid::-webkit-scrollbar-track{background:#0000}.background-image-grid::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.background-image-grid::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.background-image-item{aspect-ratio:1;background:var(--background-gray);border:3px solid var(--border-light);border-radius:var(--radius-lg);box-sizing:border-box;cursor:pointer;display:block;isolation:isolate;min-height:0;min-width:0;overflow:hidden;position:relative;transition:border-color var(--transition-base),box-shadow var(--transition-base);width:100%}.background-image-item:hover{border-color:#2196f3;box-shadow:0 2px 8px #2196f333;z-index:1}.background-image-item.active{border-color:#2196f3;box-shadow:0 0 0 2px #2196f333;z-index:2}.background-image-item img{display:block;height:100%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:auto;object-fit:cover;pointer-events:none;width:100%}.effects-panel{background:var(--background-white);border-right:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:calc(100vh - 64px);overflow-y:auto;position:-webkit-sticky;position:sticky;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin;top:64px;width:320px}.effects-panel::-webkit-scrollbar{width:6px}.effects-panel::-webkit-scrollbar-track{background:#0000}.effects-panel::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.effects-panel::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.effects-panel-header{background:var(--background-color);border-bottom:1px solid var(--border-light);padding:var(--spacing-md) var(--spacing-lg);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.effects-panel-header h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.effects-tabs{-ms-overflow-style:none;background:var(--background-white);border-bottom:1px solid var(--border-light);display:flex;gap:4px;overflow-x:auto;padding:0 var(--spacing-sm);position:-webkit-sticky;position:sticky;scrollbar-width:none;top:57px;z-index:calc(var(--z-sticky) - 1)}.effects-tabs::-webkit-scrollbar{display:none}.effects-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.8125rem;font-weight:500;min-width:-webkit-fit-content;min-width:fit-content;padding:12px;position:relative;text-align:center;transition:all .2s ease;white-space:nowrap}.effects-tab:hover{background:#e91e630d;color:#e91e63}.effects-tab.active{background:var(--background-white);border-bottom-color:#e91e63;color:#e91e63;font-weight:600}.effects-tab.active:after{background:#e91e63;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.effects-panel-content{flex:1 1;overflow-y:auto;padding:var(--spacing-md)}.effects-section-header{margin-bottom:var(--spacing-md)}.effects-section-header h3{color:var(--text-primary);font-size:.875rem;font-weight:600;margin:0 0 var(--spacing-xs) 0}.effects-section-header p{color:var(--text-secondary);font-size:.75rem;line-height:1.4;margin:0}.remove-effect-btn{align-items:center;background:var(--background-white);border:1px solid #f44336;border-radius:var(--radius-md);color:#f44336;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:var(--spacing-xs);justify-content:center;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base);width:100%}.remove-effect-btn:hover{background:#f44336;color:var(--text-light)}.effects-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr)}.effect-card{align-items:center;background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-sm);min-height:100px;padding:var(--spacing-md);position:relative;transition:all var(--transition-base)}.effect-card:hover{border-color:var(--primary-pink);box-shadow:var(--shadow-md);transform:translateY(-2px)}.effect-card.selected{border-color:#2196f3;border-width:2px;box-shadow:var(--shadow-md)}.effect-card-icon{align-items:center;color:var(--text-secondary);display:flex;flex:1 1;justify-content:center;min-height:40px;width:100%}.effect-card.selected .effect-card-icon{color:#2196f3}.effect-card-label{color:var(--text-primary);font-size:.75rem;font-weight:500;line-height:1.2;text-align:center}.effect-card-check{align-items:center;background:var(--background-white);border-radius:50%;box-shadow:var(--shadow-sm);display:flex;height:24px;justify-content:center;position:absolute;right:var(--spacing-sm);top:var(--spacing-sm);width:24px}.fade-icon{display:flex;flex-direction:column;gap:4px}.icon-row{display:flex;gap:4px;justify-content:center}.icon-dot{background:currentColor;border-radius:50%;height:8px;width:8px}.icon-dot.fade{opacity:.3}.opening-effects-grid{grid-template-columns:repeat(2,1fr)}.opening-effect-card{min-height:160px;overflow:hidden;padding:0}.opening-effect-preview{align-items:center;background:linear-gradient(135deg,#87ceeb,#87ceebdd 50%,#87ceebaa);display:flex;height:100px;justify-content:center;position:relative;width:100%}.seal-pattern,.traditional-pattern{color:#fffc;font-size:2rem;font-weight:700}.opening-effect-info{background:#fff;padding:8px;width:100%}.opening-effect-name{color:#333;font-size:.75rem;font-weight:600;margin-bottom:2px}.opening-effect-duration{color:#666;font-size:.7rem}.music-panel{background:var(--background-white);border-right:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:calc(100vh - 64px);overflow-y:auto;position:-webkit-sticky;position:sticky;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin;top:64px;width:320px}.music-panel::-webkit-scrollbar{width:6px}.music-panel::-webkit-scrollbar-track{background:#0000}.music-panel::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.music-panel::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.music-panel-header{background:var(--background-color);border-bottom:1px solid var(--border-light);padding:var(--spacing-md) var(--spacing-lg);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.music-panel-header h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.music-panel-content{flex:1 1;overflow-y:auto;padding:var(--spacing-md)}.selected-music-section{border-bottom:1px solid var(--border-light);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.selected-music-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.selected-music-header span{color:var(--text-primary);font-size:.875rem;font-weight:600}.selected-music-actions{display:flex;gap:var(--spacing-sm)}.search-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-xs);transition:all var(--transition-base)}.search-btn:hover{background:var(--background-gray);color:var(--text-primary)}.selected-music-item{background:#fff5f8;border:1px solid var(--primary-pink);border-radius:var(--radius-lg);gap:var(--spacing-md);padding:var(--spacing-md)}.play-btn,.selected-music-item{align-items:center;display:flex}.play-btn{background:var(--primary-pink);border:none;border-radius:50%;color:var(--text-light);cursor:pointer;flex-shrink:0;height:32px;justify-content:center;transition:all var(--transition-base);width:32px}.play-btn:hover{background:var(--primary-pink-dark);transform:scale(1.05)}.selected-music-info{flex:1 1;min-width:0}.selected-music-title{color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:2px}.selected-music-artist,.selected-music-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-music-artist{color:var(--text-secondary);font-size:.75rem}.remove-music-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:var(--spacing-xs);transition:all var(--transition-base)}.remove-music-btn:hover{background:var(--background-gray);color:#f44336}.music-categories{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.category-btn{background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.75rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.category-btn:hover{border-color:var(--primary-pink);color:var(--primary-pink)}.category-btn.active{background:var(--primary-pink);border-color:var(--primary-pink);color:var(--text-light)}.music-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.music-item{align-items:center;background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-base)}.music-item:hover{border-color:var(--primary-pink);box-shadow:var(--shadow-sm)}.music-play-btn{align-items:center;background:var(--background-gray);border:none;border-radius:50%;color:var(--primary-pink);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:all var(--transition-base);width:32px}.music-play-btn:hover:not(:disabled){background:#fff5f8;transform:scale(1.05)}.music-play-btn:disabled{cursor:not-allowed;opacity:.5}.music-info{flex:1 1;min-width:0}.music-title{color:var(--text-primary);font-size:.875rem;font-weight:500;margin-bottom:2px}.music-artist,.music-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-artist{color:var(--text-secondary);font-size:.75rem}.music-duration{color:var(--text-tertiary);font-size:.75rem;min-width:40px;text-align:right}.music-use-btn{background:#f44336;border:1px solid #f44336;border-radius:var(--radius-md);color:var(--text-light);cursor:pointer;font-size:.75rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-base);white-space:nowrap}.music-use-btn:hover:not(:disabled){background:#d32f2f;border-color:#d32f2f}.music-use-btn:disabled{cursor:not-allowed;opacity:.5}.music-use-btn.selected{background:var(--background-white);border-color:#f44336;color:#f44336}.music-use-btn.selected:hover{background:#fff5f5}.stock-panel{background:var(--background-white);border-right:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:calc(100vh - 64px);overflow:hidden;top:64px;width:320px}.stock-panel,.stock-panel-header{position:-webkit-sticky;position:sticky}.stock-panel-header{background:var(--background-color);border-bottom:1px solid var(--border-light);padding:var(--spacing-md) var(--spacing-lg);top:0;z-index:var(--z-sticky)}.stock-panel-header h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.stock-categories-slider{border-bottom:1px solid var(--border-light);gap:0;position:-webkit-sticky;position:sticky;top:57px;z-index:calc(var(--z-sticky) - 1)}.stock-categories-slider,.stock-category-nav{align-items:center;background:var(--background-white);display:flex;padding:0}.stock-category-nav{border:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;height:40px;justify-content:center;transition:all .2s ease;width:32px}.stock-category-nav:hover{background:#e91e630d;color:var(--primary-pink)}.stock-category-nav:active{background:#e91e631a}.stock-categories-container{-ms-overflow-style:none;display:flex;flex:1 1;gap:0;overflow-x:auto;padding:0 4px;scrollbar-width:none}.stock-categories-container::-webkit-scrollbar{display:none}.stock-category-btn{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex-shrink:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.8125rem;font-weight:500;padding:10px 12px;position:relative;transition:all .2s ease;white-space:nowrap}.stock-category-btn:hover{background:#e91e630d;color:#e91e63}.stock-category-btn.active{background:var(--background-white);border-bottom-color:#e91e63;color:#e91e63;font-weight:600}.stock-category-btn.active:after{background:#e91e63;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.stock-panel-content{flex:1 1;overflow-y:auto;padding:var(--spacing-md);scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.stock-panel-content::-webkit-scrollbar{width:6px}.stock-panel-content::-webkit-scrollbar-track{background:#0000}.stock-panel-content::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.stock-panel-content::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.stock-images-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.stock-image-item{aspect-ratio:1;background:#f5f5f5;border:2px solid #0000;border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease}.stock-image-item:hover{border-color:#e91e63;box-shadow:0 2px 8px #e91e6333;transform:scale(1.05);z-index:1}.stock-image-item img{background:#f5f5f5;display:block;height:100%;object-fit:contain;object-position:center;width:100%}.stock-empty,.stock-loading{color:var(--text-tertiary);font-size:.875rem;padding:var(--spacing-xl);text-align:center}.stock-empty p{margin:0}.preview-modal-overlay{align-items:center;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}.preview-modal-container,.preview-modal-overlay{animation:fadeIn var(--transition-slow) var(--ease-out);background:#fff;display:flex}.preview-modal-container{border:none;border-radius:0;box-shadow:none;flex-direction:column;height:100vh;max-height:100vh;max-width:100%;overflow:hidden;overflow-x:hidden;overflow-y:hidden;position:relative;width:100%;z-index:var(--z-modal)}.preview-modal-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.preview-modal-title{-webkit-text-fill-color:#0000;background:var(--gradient-pink);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);margin:0}.preview-modal-close{align-items:center;background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;padding:var(--spacing-sm);transition:all var(--transition-base);width:40px}.preview-modal-close:hover{background:var(--gradient-soft);border-color:var(--primary-pink);box-shadow:var(--shadow-sm);color:var(--primary-pink);transform:rotate(90deg) scale(1.1)}.preview-modal-close:active{transform:rotate(90deg) scale(.95)}.preview-modal-content{-ms-overflow-style:none;align-items:center;background:#f5f5f5;box-sizing:border-box;display:flex;flex:1 1;justify-content:center;max-width:100%;min-height:calc(100vh - 80px);overflow-x:hidden!important;overflow-y:auto;padding:0;scrollbar-width:none;width:100%}.preview-modal-content::-webkit-scrollbar{display:none}.preview-simple-frame{-ms-overflow-style:none;align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;min-height:calc(100vh - 80px);overflow-x:hidden;overflow-y:auto;padding:20px;scrollbar-width:none;width:100%}.preview-simple-frame::-webkit-scrollbar{display:none}.preview-simple-frame .mobile-frame{aspect-ratio:393/852;background:#000;border-radius:50px;box-shadow:0 20px 60px #0006,0 0 0 2px #ffffff1a,inset 0 0 0 1px #ffffff0d;max-height:calc(100vh - 250px);max-width:100%;padding:10px;position:relative;transition:transform .3s ease;width:min(393px,90vw)}.preview-simple-frame .mobile-frame:hover{transform:scale(1.02)}.preview-simple-frame .mobile-notch{background:#000;border-radius:0 0 25px 25px;box-shadow:inset 0 -2px 4px #0000004d;height:35px;left:50%;position:absolute;top:10px;transform:translateX(-50%);width:150px;z-index:10}.preview-simple-frame .mobile-screen{-ms-overflow-style:auto;background:#fff;border-radius:40px;height:100%;overflow:hidden;overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-color:#0000004d #0000;scrollbar-width:thin;width:100%}.preview-simple-frame .mobile-screen::-webkit-scrollbar{width:6px}.preview-simple-frame .mobile-screen::-webkit-scrollbar-track{background:#0000}.preview-simple-frame .mobile-screen::-webkit-scrollbar-thumb{background:#0000004d;border-radius:3px}.preview-simple-frame .mobile-screen::-webkit-scrollbar-thumb:hover{background:#00000080}.preview-simple-frame .mobile-home-indicator{background:#fff6;border-radius:3px;bottom:10px;box-shadow:0 1px 2px #0003;height:5px;left:50%;position:absolute;transform:translateX(-50%);width:140px;z-index:10}.preview-device-frame{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;max-width:100%;min-height:400px;overflow-x:hidden;width:100%}.preview-device-frame.mobile .mobile-frame{aspect-ratio:393/852;background:#000;border-radius:50px;box-shadow:0 20px 60px #0006,0 0 0 2px #ffffff1a,inset 0 0 0 1px #ffffff0d;max-height:calc(100vh - 250px);max-width:100%;padding:10px;position:relative;transition:transform .3s ease;width:min(393px,90vw)}.preview-device-frame.mobile .mobile-frame:hover{transform:scale(1.02)}.mobile-frame{position:relative}.mobile-notch{background:#000;border-radius:0 0 25px 25px;box-shadow:inset 0 -2px 4px #0000004d;height:35px;left:50%;position:absolute;top:10px;transform:translateX(-50%);width:150px;z-index:10}.mobile-screen{background:#fff;border-radius:40px;height:100%;overflow:hidden;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.mobile-home-indicator{background:#fff6;border-radius:3px;bottom:10px;box-shadow:0 1px 2px #0003;height:5px;left:50%;position:absolute;transform:translateX(-50%);width:140px;z-index:10}.preview-device-frame.tablet .tablet-frame{aspect-ratio:768/1024;background:#1a1a1a;border-radius:24px;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff1a;height:min(1024px,calc(85vh - 200px));max-height:calc(100vh - 250px);max-width:100%;overflow-x:hidden;padding:12px;position:relative;transition:transform .3s ease;width:min(768px,85vw)}.preview-device-frame.tablet .tablet-frame:hover{transform:scale(1.02)}.tablet-frame{position:relative}.tablet-screen{border-radius:16px;overflow:hidden;overflow-x:hidden}.preview-device-frame.desktop .desktop-frame,.tablet-screen{background:#fff;height:100%;overflow-y:auto;position:relative;width:100%}.preview-device-frame.desktop .desktop-frame{align-items:center;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;justify-content:center;max-width:100%;min-height:calc(100vh - 250px);overflow-x:hidden!important;padding:0;transition:transform .3s ease}.preview-device-frame.desktop .desktop-frame:hover{transform:scale(1.01)}.desktop-frame{position:relative}.desktop-frame:before{background:#3a3a3a;border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:60px}.desktop-screen{border-radius:0;box-sizing:border-box;max-width:100%;overflow-x:hidden!important;overflow-y:auto;position:relative}.desktop-screen,.preview-image-wrapper{align-items:center;background:#fff;display:flex;height:100%;justify-content:center;width:100%}.preview-image-wrapper{overflow:auto;padding:0}.preview-image{display:block;height:100%;width:100%}.preview-simple-screen .preview-image-wrapper{align-items:flex-start;background:#fff;display:flex;justify-content:center;min-height:100%;overflow-x:hidden;overflow-y:auto;padding:0;width:100%}.preview-simple-screen .preview-image{display:block;height:auto;min-height:100%;object-fit:contain;object-position:top;width:100%}.preview-html-iframe{margin:0 auto;max-width:100%}.preview-html-iframe,.preview-simple-screen .preview-html-iframe{box-sizing:border-box;display:block;overflow-x:hidden!important;overflow-y:auto}.preview-simple-screen .preview-html-iframe{background:#fff;border:none;height:auto;min-height:100%;width:100%}.preview-html-iframe body{align-items:center;display:flex;justify-content:center;margin:0;max-width:100%;min-height:100vh;overflow-x:hidden;padding:0;width:100%}.preview-html-iframe .card-container{box-sizing:border-box;margin:0 auto;max-width:100%;width:-webkit-fit-content;width:fit-content}.preview-device-selector{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:.25rem}.device-btn,.preview-device-selector{align-items:center;display:flex;gap:.5rem}.device-btn{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.device-btn:hover{background:#f5f5f5;color:#333}.device-btn.active{background:linear-gradient(135deg,#e91e63,#c2185b);box-shadow:0 2px 8px #e91e634d;color:#fff}.device-btn.active:hover{background:linear-gradient(135deg,#c2185b,#ad1457)}.device-btn svg{height:18px;width:18px}.preview-modal-footer{align-items:center;background:#fff;border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.preview-btn-primary,.preview-btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.preview-btn-secondary{background:#f5f5f5;color:#333}.preview-btn-secondary:hover{background:#e0e0e0}.preview-btn-primary{background:linear-gradient(135deg,#e91e63,#c2185b);box-shadow:0 2px 8px #e91e634d;color:#fff}.preview-btn-primary:hover{background:linear-gradient(135deg,#c2185b,#ad1457);box-shadow:0 4px 12px #e91e6366;transform:translateY(-1px)}.preview-btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:1024px){.preview-modal-container{max-height:95vh;width:95%}.preview-modal-content{padding:1.5rem}.preview-device-frame.mobile .mobile-frame{border-radius:35px;padding:6px;width:min(350px,85vw)}.preview-device-frame.tablet .tablet-frame{padding:10px;width:min(600px,80vw)}.preview-device-frame.desktop .desktop-frame{padding:15px;width:min(1000px,85vw)}}@media (max-width:768px){.preview-modal-container{border-radius:0;max-height:100vh;width:100%}.preview-modal-footer,.preview-modal-header{padding:1rem}.preview-modal-title{font-size:1.125rem}.preview-modal-content{min-height:calc(100vh - 200px);padding:1rem}.preview-device-selector{flex-wrap:wrap;gap:.25rem;max-width:200px}.device-btn{font-size:.75rem;gap:.25rem;padding:.375rem .75rem}.device-btn span{display:none}.device-btn svg{height:16px;width:16px}.preview-device-frame.mobile .mobile-frame{border-radius:30px;padding:5px;width:min(320px,90vw)}.mobile-notch{border-radius:0 0 15px 15px;height:25px;width:100px}.mobile-home-indicator{height:4px;width:110px}.preview-device-frame.tablet .tablet-frame{border-radius:20px;padding:8px;width:min(500px,90vw)}.preview-device-frame.desktop .desktop-frame{padding:12px;width:100%}.preview-btn-primary,.preview-btn-secondary{font-size:.8125rem;padding:.625rem 1.25rem}}@media (max-width:480px){.preview-modal-header{flex-wrap:wrap;gap:.5rem}.preview-modal-title{flex:1 1;font-size:1rem;min-width:0}.preview-device-selector{margin-top:.5rem;max-width:100%;order:3;width:100%}.preview-modal-close{order:2}.preview-device-frame.mobile .mobile-frame{border-radius:25px;padding:4px;width:min(280px,95vw)}.preview-device-frame.tablet .tablet-frame{width:min(400px,95vw)}.preview-device-frame.desktop .desktop-frame{padding:10px;width:100%}}@media (min-width:1400px){.preview-modal-container{max-width:1400px}.preview-device-frame.mobile .mobile-frame{height:976px;width:450px}.preview-device-frame.tablet .tablet-frame{height:1200px;width:900px}.preview-device-frame.desktop .desktop-frame{height:875px;width:1400px}}.preview-view-container{animation:slideIn var(--transition-slow) ease-out;background:var(--background-white);bottom:0;display:flex;flex-direction:column;left:0;position:absolute;right:0;top:0;z-index:var(--z-fixed)}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.preview-view-header{align-items:center;background:var(--background-color);border-bottom:1px solid var(--border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.preview-view-title{align-items:center;display:flex;gap:var(--spacing-md)}.preview-view-title h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.preview-refresh-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-sm);transition:all var(--transition-base)}.preview-refresh-btn:hover{background:var(--background-gray);color:var(--text-primary)}.preview-view-actions{align-items:center;display:flex;gap:.75rem}.preview-download-btn{align-items:center;background:linear-gradient(135deg,var(--primary-pink) 0,var(--primary-pink-dark) 100%);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-light);cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.preview-download-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-pink-dark) 0,#ad1457 100%);box-shadow:var(--shadow-md);transform:translateY(-1px)}.preview-download-btn:disabled{cursor:not-allowed;opacity:.5}.preview-close-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-sm);transition:all var(--transition-base)}.preview-close-btn:hover{background:var(--background-gray);color:var(--text-primary)}.preview-view-content{align-items:center;background:var(--background-gray);display:flex;flex:1 1;justify-content:center;overflow:auto;padding:var(--spacing-xl);position:relative;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.preview-view-content::-webkit-scrollbar{height:8px;width:8px}.preview-view-content::-webkit-scrollbar-track{background:#0000}.preview-view-content::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.preview-view-content::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.preview-image-container{align-items:center;background:var(--background-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;height:100%;justify-content:center;padding:var(--spacing-xl);width:100%}.preview-image{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:100%;max-width:100%;object-fit:contain}.preview-html-iframe{background:#fff;border:none;height:100%;min-height:500px;width:100%}.preview-loading{align-items:center;color:#666;display:flex;flex-direction:column;gap:1rem;justify-content:center}.loading-spinner{border:4px solid #f0f0f0;height:48px;width:48px}.preview-error{align-items:center;color:#d32f2f;display:flex;flex-direction:column;gap:1rem;justify-content:center;text-align:center}.preview-retry-btn{background:#e91e63;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.preview-retry-btn:hover{background:#c2185b;transform:translateY(-1px)}@media (max-width:768px){.preview-view-header{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.preview-view-title{flex:1 1;min-width:100%}.preview-view-title h3{font-size:1rem}.preview-view-actions{justify-content:space-between;width:100%}.preview-download-btn{flex:1 1;justify-content:center}.preview-image-container,.preview-view-content{padding:1rem}.preview-image{max-height:calc(100vh - 200px)}}@media (max-width:480px){.preview-view-header{padding:.5rem}.preview-view-title h3{font-size:.875rem}.preview-download-btn{font-size:.75rem;padding:.5rem .75rem}.preview-image-container,.preview-view-content{padding:.5rem}}.template-selector-container{background:var(--background-white);border-radius:0;border-right:1px solid #e5e5e5;box-shadow:2px 0 8px #0000001a;display:flex;flex-direction:column;height:100vh;max-width:400px;min-width:400px;overflow:hidden;position:relative;width:400px;z-index:1}.template-selector-header{align-items:center;background:#fff;border-bottom:1px solid #e5e5e5;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.template-selector-header-content{flex:1 1;min-width:0}.template-selector-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-left:12px}.template-selector-collapse,.template-selector-fullscreen{align-items:center;background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.template-selector-collapse:hover,.template-selector-fullscreen:hover{background:#f5f5f5;color:#333}.template-selector-title{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 8px}.template-selector-subtitle{color:#666;font-size:.875rem;font-style:italic;margin:0}.template-selector-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-sm);transition:all .2s}.template-selector-close:hover{background:#f0f0f0;color:#333}.template-selector-content{background:#f5f5f5;display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:20px}.template-selector-layout{display:flex;flex-direction:column;gap:0;height:100%}.template-preview-panel{display:none}.template-preview-box{border-radius:8px;box-shadow:0 2px 8px #0000001a;max-height:500px;min-height:350px;overflow:hidden;position:-webkit-sticky;position:sticky;top:0}.template-preview-box,.template-preview-html-wrapper{align-items:center;background:#fff;display:flex;justify-content:center;width:100%}.template-preview-html-wrapper{height:100%}.template-preview-iframe{background:#fff;border:none;height:250%;transform:scale(.4);transform-origin:top left;width:250%}.template-preview-image-wrapper{align-items:center;display:flex;height:100%;justify-content:center;padding:10px;width:100%}.template-preview-image{max-height:100%;max-width:100%;object-fit:contain}.template-preview-empty{background:#f0f0f0;border-radius:8px;color:#999;font-size:14px;min-height:350px}.template-preview-empty,.template-preview-loading{align-items:center;display:flex;justify-content:center;width:100%}.template-preview-loading{flex-direction:column;gap:12px;height:100%}.template-preview-spinner{animation:spin .8s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#e91e63;height:32px;width:32px}.template-list-panel{flex:1 1;min-width:0;overflow-y:auto;padding-right:8px;width:100%}.template-list-panel::-webkit-scrollbar{width:8px}.template-list-panel::-webkit-scrollbar-track{background:#0000}.template-list-panel::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.template-list-panel::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width:1024px){.template-selector-layout{flex-direction:column}.template-preview-panel{padding-top:0;width:100%}.template-preview-box{max-height:300px;position:relative}}.template-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);padding:0}.template-item{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:all .3s}.template-item:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.template-item.selected{border:3px solid #e91e63;box-shadow:0 8px 24px #e91e634d}.template-thumbnail{aspect-ratio:393/600;background:#f0f0f0;border-bottom:1px solid #eee;overflow:hidden;position:relative;width:100%}.template-empty,.template-error,.template-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.template-empty p,.template-error p,.template-loading p{font-size:1rem;margin:0 0 1rem}.template-retry-btn{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.template-retry-btn:hover{background:#1976d2;transform:translateY(-1px)}.template-thumbnail img{display:block;height:100%;left:0;object-fit:cover;object-position:top center;position:absolute;top:0;transition:object-position 3s linear;width:100%}.template-item:hover .template-thumbnail img{object-position:bottom center}.template-thumbnail-iframe{height:600%;transition:transform 4s linear}.template-item:hover .template-thumbnail-iframe{transform:scale(.4) translateY(-60%)}.template-overlay{background:linear-gradient(0deg,#000c,#0000);bottom:0;color:#fff;padding:1rem;right:0;transform:translateY(100%);transition:transform .3s}.template-item.selected .template-overlay,.template-item:hover .template-overlay{transform:translateY(0)}.template-name{font-size:.875rem;font-weight:600}.template-selector-footer{align-items:center;background:#0000;border:none;display:flex;flex:1 1;gap:1rem;justify-content:space-between;min-width:0;padding:0}.template-preview-info{flex:1 1;margin-right:1rem;min-width:0}.template-selected-name{color:#666;font-size:.875rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-selected-name strong{color:#e91e63;font-weight:600}.template-actions{align-items:center;flex-shrink:0;gap:.75rem}.template-btn-cancel,.template-btn-use{border:none;border-radius:6px;cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s;white-space:nowrap}.template-btn-cancel{background:#f5f5f5;color:#333}.template-btn-cancel:hover{background:#e0e0e0}.template-btn-use{background:linear-gradient(135deg,#e91e63,#c2185b);box-shadow:0 2px 8px #e91e634d;color:#fff}.template-btn-use:hover:not(:disabled){background:linear-gradient(135deg,#c2185b,#ad1457);box-shadow:0 4px 12px #e91e6366;transform:translateY(-1px)}.template-btn-use:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.template-selector-container{max-height:95vh;width:95%}.template-selector-layout{flex-direction:column}.template-preview-panel{padding-top:0;width:100%}.template-preview-box{max-height:250px;position:relative}.template-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.template-selector-footer,.template-selector-header{padding:1rem 1.5rem}.template-selector-content{padding:1rem}.template-selector-footer{align-items:stretch;flex-direction:column}.template-actions{width:100%}.template-btn-cancel,.template-btn-use{flex:1 1}}.asset-library-overlay{align-items:center;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}.asset-library-container{background:var(--background-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:80vh;max-width:900px;width:90%}.asset-library-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.asset-library-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.asset-library-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all var(--transition-base);width:32px}.asset-library-close:hover{background:var(--background-gray);color:var(--text-primary)}.asset-library-controls{border-bottom:1px solid var(--border-light);display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.asset-source-select{border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md)}.asset-search{display:flex;flex:1 1;gap:var(--spacing-sm)}.asset-search input{border:1px solid var(--border-light);border-radius:var(--radius-md);flex:1 1;font-size:.9rem}.asset-search button,.asset-search input{padding:var(--spacing-sm) var(--spacing-md)}.asset-search button{background:#2196f3;border:none;border-radius:var(--radius-md);color:var(--text-light);cursor:pointer}.asset-library-content{flex:1 1;overflow-y:auto;padding:var(--spacing-lg);scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.asset-library-content::-webkit-scrollbar{width:8px}.asset-library-content::-webkit-scrollbar-track{background:#0000}.asset-library-content::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.asset-library-content::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.asset-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.asset-item{aspect-ratio:1;border:2px solid #0000;border-radius:var(--radius-lg);cursor:pointer;overflow:hidden;transition:all var(--transition-base)}.asset-item:hover{border-color:#2196f3;box-shadow:var(--shadow-md);transform:scale(1.05)}.asset-item img{height:100%;object-fit:cover;width:100%}.asset-empty,.asset-loading{color:var(--text-tertiary);padding:var(--spacing-xl);text-align:center}.calendar-widget-container{box-sizing:border-box;-webkit-user-select:none;user-select:none}.ele-calendar{position:relative}.can-wrap{display:flex;flex-direction:column;height:100%;width:100%}.can-top{align-items:center;border-bottom:1px solid #0000000d;display:flex;justify-content:space-between;padding:12px 18px}.can-left,.can-right{font-weight:700}.can-right span{font-size:1.2em;font-weight:700}.can-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.can-week{display:grid;flex-shrink:0;font-weight:700;grid-template-columns:repeat(7,1fr);padding:10px 0}.can-week span{text-align:center}.can-date{flex:1 1;min-height:0;overflow:hidden}.can-date ul{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);list-style:none;margin:0;padding:8px 4px;width:100%}.calendar-day{align-items:center;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;min-height:30px;position:relative;transition:all .2s ease}.calendar-day:hover{background-color:#00000008;border-radius:4px}.calendar-day.active{font-weight:700}.calendar-day.active span{color:inherit}.calendar-day span,.calendar-day.active span{position:relative;z-index:2}.heart-ani{animation:heartBeat 1.5s ease-in-out infinite}.heart-ani .iconfont{animation:heartBeatIcon 1.5s ease-in-out infinite}@keyframes heartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes heartBeatIcon{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.iconfont{pointer-events:none;-webkit-user-select:none;user-select:none}.countdown-widget,.rsvp-form-widget{box-sizing:border-box;-webkit-user-select:none;user-select:none}.rsvp-form-widget form,.rsvp-form-widget input[type=email],.rsvp-form-widget input[type=tel],.rsvp-form-widget input[type=text],.rsvp-form-widget select{box-sizing:border-box}.rsvp-form-widget input[type=radio]{accent-color:var(--primary-pink)}.particle-effect-widget{height:100%;overflow:hidden;pointer-events:none;position:relative;width:100%}.particle{pointer-events:none;position:absolute;will-change:transform}.gift-box-widget{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.gift-box-widget-image{max-height:100%;max-width:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.video-widget{border-radius:0;height:100%;overflow:hidden;position:relative;width:100%}.video-widget iframe{border:none;height:100%;width:100%}.div-canvas-editor{background:var(--background-gray);display:flex;flex-direction:column;height:100%;overflow:hidden}.div-canvas-container{align-items:center;background:var(--border-light);display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-md);justify-content:flex-start;min-height:0;overflow-x:auto;overflow-y:auto;padding:var(--spacing-lg);scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.div-canvas-container::-webkit-scrollbar{height:8px;width:8px}.div-canvas-container::-webkit-scrollbar-track{background:#0000}.div-canvas-container::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.div-canvas-container::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.canvas-height-control{align-items:center;background:var(--background-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.canvas-control-label{color:var(--text-primary);font-size:.9rem;font-weight:600;white-space:nowrap}.canvas-size-control-group{align-items:center;background:var(--background-gray);border-radius:var(--radius-md);display:flex;gap:var(--spacing-xs);padding:2px}.canvas-size-control-btn{align-items:center;background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all var(--transition-base);width:28px}.canvas-size-control-btn:hover{background:#2196f3;border-color:#2196f3;color:var(--text-light)}.canvas-size-control-btn:active{transform:scale(.95)}.canvas-size-control-input{background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);text-align:center;width:80px}.canvas-size-control-input:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f333;outline:none}.canvas-size-control-unit{color:var(--text-secondary);font-size:.85rem;font-weight:500;padding:0 var(--spacing-xs)}.div-canvas{background:var(--background-white);background-attachment:local;background-position:50%;background-repeat:no-repeat;background-size:cover;border:2px solid var(--border-medium);box-shadow:var(--shadow-md);cursor:default;flex-shrink:0;overflow:hidden;position:relative}.canvas-element{border:2px solid #0000;overflow:visible!important;transition:border-color var(--transition-base)}.canvas-element.selected{border-color:#2196f3;box-shadow:0 0 0 2px #2196f333;overflow:visible!important}.canvas-element.locked{cursor:not-allowed;opacity:.7}.lock-indicator{transition:all .2s}.context-menu{animation:fadeIn .15s ease-out}.context-menu-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:4px;padding:4px}.context-menu-btn-icon{align-items:center;background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .2s;width:28px}.context-menu-btn-icon:hover{background:#f5f5f5;color:#333}.context-menu-divider{background:#f0f0f0;height:1px;margin:4px 0}.context-menu-item{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.875rem;gap:12px;padding:10px 16px;transition:all .2s}.context-menu-item:hover{background:#f5f5f5}.context-menu-item svg{color:#666;height:16px;width:16px}.quick-toolbar{animation:fadeIn .15s ease-out}.quick-toolbar-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.quick-toolbar-btn:hover{background:#f5f5f5;color:#333}.quick-toolbar-btn svg{height:16px;width:16px}.rotate-handle{transition:all .2s}.rotate-handle:hover{box-shadow:0 4px 8px #0000004d!important;transform:translateX(-50%) scale(1.1)}.rotate-handle:active{cursor:grabbing;transform:translateX(-50%) scale(.95)}.canvas-element span{word-wrap:break-word;height:100%;outline:none;overflow-wrap:break-word;width:100%}.image-album-content{height:100%;width:100%}.album-placeholder,.image-album-content{align-items:center;display:flex;justify-content:center}.album-placeholder{color:#999;flex-direction:column;padding:20px;text-align:center}.album-placeholder svg{margin-bottom:12px;opacity:.5}.album-placeholder p{font-size:.875rem;margin:4px 0}.album-hint{color:#bbb!important;font-size:.75rem!important}.album-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);height:100%;padding:8px;width:100%}.album-thumbnail{background:#f0f0f0;border-radius:4px;height:100%;overflow:hidden;width:100%}.album-thumbnail img{height:100%;object-fit:cover;width:100%}.size-control-group{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:4px;padding:2px;width:100%}.size-control-btn{align-items:center;background:#0000;border:1px solid #e0e0e0;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:all .2s;width:28px}.size-control-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.size-control-btn:active{background:#e0e0e0;transform:scale(.95)}.size-control-btn svg{height:14px;width:14px}.size-control-input{background:#0000;border:none;color:#333;flex:1 1;font-size:.875rem;min-width:0;outline:none;padding:6px 8px;text-align:center}.size-control-input:focus{background:#f9f9f9;border-radius:4px}.size-control-input::-webkit-inner-spin-button,.size-control-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.size-control-input[type=number]{-moz-appearance:textfield}.size-control-unit{color:#999;flex-shrink:0;font-size:.8125rem;min-width:24px;padding:0 4px}.color-input-group{align-items:center;display:flex;gap:8px}.color-picker{background:#fff;cursor:pointer;height:40px;padding:2px;width:48px}.color-hex,.color-picker{border:1px solid #ddd;border-radius:6px}.color-hex{flex:1 1;font-family:Courier New,monospace;font-size:.875rem;padding:8px 12px}.color-hex:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.clear-btn{align-items:center;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.clear-btn:hover{background:#e0e0e0;color:#333}.style-buttons{display:flex;gap:4px}.style-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:600;justify-content:center;padding:8px 12px;transition:all .2s}.style-btn:hover{background:#f5f5f5;border-color:#bbb}.style-btn.active{background:#2196f3;border-color:#2196f3;color:#fff}.align-buttons{display:flex;gap:4px}.align-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;display:flex;flex:1 1;justify-content:center;padding:8px;transition:all .2s}.align-btn:hover{background:#f5f5f5;border-color:#bbb}.align-btn.active{background:#2196f3;border-color:#2196f3;color:#fff}@keyframes animation-fade-in{0%{opacity:0}to{opacity:1}}@keyframes animation-slide-up{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes animation-slide-down{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes animation-slide-left{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes animation-slide-right{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes animation-scale-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes animation-scale-out{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}@keyframes animation-rotate-in{0%{opacity:0;transform:rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0deg) scale(1)}}@keyframes animation-rotate-out{0%{opacity:0;transform:rotate(180deg) scale(.5)}to{opacity:1;transform:rotate(0deg) scale(1)}}@keyframes continuous-float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes continuous-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}@keyframes continuous-blink{0%,50%,to{opacity:1}25%,75%{opacity:.3}}@keyframes continuous-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes continuous-shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@keyframes continuous-wobble{0%,to{transform:rotate(0deg)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes continuous-wobble-bounce{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-15px) rotate(5deg)}50%{transform:translateY(0) rotate(0deg)}75%{transform:translateY(-15px) rotate(-5deg)}}.music-toggle-btn{align-items:center;background:#ffffffe6;border:2px solid #e91e63;border-radius:50%;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;position:absolute;right:12px;top:12px;transition:all .2s;width:40px;z-index:1000}.music-toggle-btn:hover{background:#fff5f8;box-shadow:0 4px 12px #e91e634d;transform:scale(1.1)}.music-toggle-btn:active{transform:scale(.95)}.canvas-effect-dynamic-fade-in-all .canvas-element{animation:canvasFadeIn 1s ease-out forwards;opacity:0}.canvas-effect-dynamic-slide-up-all .canvas-element{animation:canvasSlideUp 1s ease-out forwards;opacity:0;transform:translateY(50px)}.canvas-effect-dynamic-scale-in-all .canvas-element{animation:canvasScaleIn 1s ease-out forwards;opacity:0;transform:scale(.5)}.canvas-effect-dynamic-flip-in-all .canvas-element{animation:canvasFlipIn 1s ease-out forwards;opacity:0;transform:rotateY(90deg)}.canvas-effect-dynamic-slide-up-mix .canvas-element{animation:canvasSlideUpMix 1s ease-out forwards;opacity:0;transform:translateY(50px)}.canvas-effect-dynamic-slide-up-mix .canvas-element:first-child{animation-delay:0s}.canvas-effect-dynamic-slide-up-mix .canvas-element:nth-child(2){animation-delay:.1s}.canvas-effect-dynamic-slide-up-mix .canvas-element:nth-child(3){animation-delay:.2s}.canvas-effect-dynamic-slide-up-mix .canvas-element:nth-child(4){animation-delay:.3s}.canvas-effect-dynamic-slide-up-mix .canvas-element:nth-child(5){animation-delay:.4s}.canvas-effect-dynamic-slide-up-mix .canvas-element:nth-child(n+6){animation-delay:.5s}.canvas-effect-dynamic-fade-in-mix .canvas-element{animation:canvasFadeInMix 1s ease-out forwards;opacity:0}.canvas-effect-dynamic-fade-in-mix .canvas-element:first-child{animation-delay:0s}.canvas-effect-dynamic-fade-in-mix .canvas-element:nth-child(2){animation-delay:.1s}.canvas-effect-dynamic-fade-in-mix .canvas-element:nth-child(3){animation-delay:.2s}.canvas-effect-dynamic-fade-in-mix .canvas-element:nth-child(4){animation-delay:.3s}.canvas-effect-dynamic-fade-in-mix .canvas-element:nth-child(5){animation-delay:.4s}.canvas-effect-dynamic-fade-in-mix .canvas-element:nth-child(n+6){animation-delay:.5s}@keyframes canvasFadeIn{0%{opacity:0}to{opacity:1}}@keyframes canvasSlideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes canvasScaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes canvasFlipIn{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0deg)}}@keyframes canvasSlideUpMix{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes canvasFadeInMix{0%{opacity:0}to{opacity:1}}.canvas-effect-opening-curtain-blue,.canvas-effect-opening-curtain-gold-seal,.canvas-effect-opening-curtain-pink,.canvas-effect-opening-curtain-purple,.canvas-effect-opening-curtain-red-traditional,.canvas-effect-opening-curtain-yellow{overflow:hidden;position:relative}.canvas-effect-opening-curtain-blue:before,.canvas-effect-opening-curtain-gold-seal:before,.canvas-effect-opening-curtain-pink:before,.canvas-effect-opening-curtain-purple:before,.canvas-effect-opening-curtain-red-traditional:before,.canvas-effect-opening-curtain-yellow:before{animation:curtainOpen 4s ease-out forwards;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1000}.canvas-effect-opening-curtain-blue:before{background:linear-gradient(135deg,#87ceeb,#87ceebdd 50%,#87ceebaa)}.canvas-effect-opening-curtain-pink:before{background:linear-gradient(135deg,#ffb6c1,#ffb6c1dd 50%,#ffb6c1aa)}.canvas-effect-opening-curtain-purple:before{background:linear-gradient(135deg,plum,#dda0dddd 50%,#dda0ddaa)}.canvas-effect-opening-curtain-yellow:before{background:linear-gradient(135deg,gold,#ffd700dd 50%,#ffd700aa)}.canvas-effect-opening-curtain-red-traditional:before{background:linear-gradient(135deg,#dc143c,#dc143cdd 50%,#dc143caa);background-image:radial-gradient(circle at 50% 50%,#dc143c80 0,#dc143ccc 100%)}.canvas-effect-opening-curtain-gold-seal:before{background:linear-gradient(135deg,gold,#ffd700dd 50%,#ffd700aa);background-image:radial-gradient(circle at 50% 50%,#ffd70080 0,#ffd700cc 100%)}@keyframes curtainOpen{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.card-settings-modal-overlay{align-items:center;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}.card-settings-modal-container{background:var(--background-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.card-settings-modal-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-lg)}.card-settings-modal-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.card-settings-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all var(--transition-base);width:32px}.card-settings-modal-close:hover{background:var(--background-gray);color:var(--text-primary)}.card-settings-modal-content{flex:1 1;overflow-y:auto;padding:var(--spacing-lg);scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.card-settings-modal-content::-webkit-scrollbar{width:6px}.card-settings-modal-content::-webkit-scrollbar-track{background:#0000}.card-settings-modal-content::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.card-settings-modal-content::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.card-settings-field{margin-bottom:var(--spacing-lg)}.card-settings-field:last-child{margin-bottom:0}.card-settings-label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-sm)}.card-settings-label .required{color:var(--primary-pink);margin-right:var(--spacing-xs)}.card-settings-input,.card-settings-textarea{border:1px solid var(--border-light);border-radius:var(--radius-lg);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:.875rem;padding:var(--spacing-md);transition:all var(--transition-base);width:100%}.card-settings-input:hover,.card-settings-textarea:hover{border-color:var(--border-medium)}.card-settings-input:focus,.card-settings-textarea:focus{border-color:var(--primary-pink);box-shadow:0 0 0 3px #e91e631a;outline:none}.card-settings-textarea{min-height:100px;resize:vertical}.card-settings-char-count{color:var(--text-tertiary);display:block;font-size:.75rem;margin-top:var(--spacing-xs);text-align:right}.card-settings-image-preview{border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;position:relative;width:100%}.card-settings-image-preview img{display:block;height:auto;width:100%}.card-settings-change-image-btn{background:#ffffffe6;border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);position:absolute;right:var(--spacing-md);top:var(--spacing-md);transition:all var(--transition-base)}.card-settings-change-image-btn:hover{background:var(--background-white);box-shadow:var(--shadow-sm)}.card-settings-image-upload{background:var(--background-color);border:2px dashed var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.card-settings-hint{color:var(--text-tertiary);font-size:.75rem;margin:0 0 var(--spacing-md) 0}.card-settings-upload-btn{align-items:center;background:var(--primary-pink);border:none;border-radius:var(--radius-lg);color:var(--text-light);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base)}.card-settings-upload-btn:hover{background:var(--primary-pink-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-settings-modal-footer{background:var(--background-color);border-top:1px solid var(--border-light);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-lg)}.card-settings-btn{border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:.875rem;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base)}.card-settings-btn.cancel{background:var(--background-gray);color:var(--text-secondary)}.card-settings-btn.cancel:hover{background:var(--border-light)}.card-settings-btn.save{background:var(--primary-pink);color:var(--text-light)}.card-settings-btn.save:hover{background:var(--primary-pink-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.notification-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.notification-modal-container{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:500px;width:90%}.notification-modal-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;gap:12px;padding:20px 24px;position:relative}.notification-modal-icon{align-items:center;background:#0000000d;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.notification-modal-title{color:#333;flex:1 1;font-size:1.125rem;font-weight:600;margin:0}.notification-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:12px;transition:all .2s}.notification-modal-close:hover{background:#f5f5f5;color:#333}.notification-modal-content{flex:1 1;overflow-y:auto;padding:24px}.notification-modal-message{color:#666;font-size:.9375rem;line-height:1.6;margin:0;white-space:pre-line}.notification-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.notification-modal-button{background:#e91e63;background:var(--primary-pink,#e91e63);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;padding:10px 24px;transition:all .2s}.notification-modal-button:hover{box-shadow:0 4px 8px #00000026;opacity:.9;transform:translateY(-1px)}.notification-modal-button:active{transform:translateY(0)}body{-moz-osx-font-smoothing:grayscale;background:var(--background-gray)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh;padding:0}#root{overflow:hidden}#root,.App{height:100vh}.App{background:var(--background-gray);display:flex;flex-direction:column}.app-content{height:100%;overflow:hidden}.app-content,.main-editor{display:flex;flex:1 1;min-height:0}.main-editor{background:var(--background-gray);flex-direction:column;overflow:auto;padding:var(--spacing-lg);position:relative;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.main-editor::-webkit-scrollbar{height:8px;width:8px}.main-editor::-webkit-scrollbar-track{background:#0000}.main-editor::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.main-editor::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.preview-toggle-btn{align-items:center;animation:pulse 2s infinite;background:linear-gradient(135deg,var(--primary-pink) 0,var(--primary-pink-dark) 100%);border:none;border-radius:var(--radius-full);bottom:var(--spacing-xl);box-shadow:var(--shadow-md);color:var(--text-light);cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:var(--spacing-sm);padding:.75rem var(--spacing-lg);position:fixed;right:var(--spacing-xl);transition:all var(--transition-slow);z-index:var(--z-fixed)}.preview-toggle-btn:hover{background:linear-gradient(135deg,var(--primary-pink-dark) 0,#ad1457 100%);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.preview-toggle-text{display:inline-block}@keyframes pulse{0%,to{box-shadow:0 4px 12px #e91e6366}50%{box-shadow:0 4px 20px #e91e6399}}@media (max-width:768px){.main-editor{padding:1rem}.preview-toggle-btn{bottom:1rem;font-size:.75rem;padding:.625rem 1.25rem;right:1rem}.preview-toggle-text{display:none}.preview-toggle-btn{border-radius:50%;height:48px;justify-content:center;padding:0;width:48px}}@media (max-width:480px){.main-editor{padding:.5rem}.preview-toggle-btn{bottom:.75rem;height:44px;right:.75rem;width:44px}}.preview-overlay{align-items:center;background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}.preview-container{background:var(--background-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:1000px;width:90%}.preview-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.preview-header h2{color:var(--text-primary);font-size:1.3rem;margin:0}.preview-header button{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all var(--transition-base);width:32px}.preview-header button:hover{background:var(--background-gray);color:var(--text-primary)}.preview-iframe{border:none;flex:1 1;min-height:400px}.preview-actions{border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;padding:var(--spacing-md) var(--spacing-lg)}.download-btn{background:#4caf50;border:none;border-radius:var(--radius-md);color:var(--text-light);cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base)}.download-btn:hover{background:#45a049;transform:translateY(-1px)}.card-view-page-landing{-webkit-overflow-scrolling:touch;background:#fff;box-sizing:border-box!important;display:block;height:100vh;isolation:isolate;margin:0;overflow-x:hidden!important;overflow-y:auto!important;padding:0;position:relative;width:100%}.ele-rsvp-form,.rsvp-form-container{position:relative!important}.ele-rsvp-form,.rsvp-form-container,.rsvp-form-container form,.rsvp-form-content{pointer-events:auto!important;z-index:2147483647!important}.rsvp-form-container button,.rsvp-form-container input,.rsvp-form-container select,.rsvp-form-content button,.rsvp-form-content input,.rsvp-form-content select{pointer-events:auto!important;position:relative!important;z-index:2147483647!important}.rsvp-form-container input[type=text],.rsvp-form-content input[type=text]{cursor:text!important;-webkit-user-select:text!important;user-select:text!important}.rsvp-form-container select,.rsvp-form-content select{-webkit-appearance:menulist!important;appearance:menulist!important;cursor:pointer!important}.rsvp-form-container button[type=submit],.rsvp-form-container input[type=radio],.rsvp-form-content button[type=submit],.rsvp-form-content input[type=radio]{cursor:pointer!important}.rsvp-form-container .rsvp-success-close-btn,.rsvp-form-content .rsvp-success-close-btn,.rsvp-success-close-btn{cursor:pointer!important;pointer-events:auto!important;position:relative!important;transition:background-color .2s,opacity .2s!important;z-index:2147483647!important}.rsvp-form-container .rsvp-success-close-btn:hover,.rsvp-form-content .rsvp-success-close-btn:hover,.rsvp-success-close-btn:hover{background-color:#0000001a!important;opacity:.8!important}.rsvp-form-container .rsvp-success-close-btn:active,.rsvp-form-content .rsvp-success-close-btn:active,.rsvp-success-close-btn:active{opacity:.6!important}#root:has(.card-view-page-landing),body:has(.card-view-page-landing) #root{height:100vh!important;overflow:hidden!important}body:has(.card-view-page-landing){height:100vh!important;overflow:hidden!important;position:fixed!important;width:100%!important}.card-view-html-landing{isolation:isolate;z-index:1!important}.card-view-page-landing>.card-view-wishes-section{isolation:isolate!important;pointer-events:none!important;position:relative!important;transform:translateZ(0)!important;z-index:2147483647!important}.card-view-wishes-section .card-view-wishes-container{pointer-events:none!important}.card-view-wishes-action-btn,.card-view-wishes-actions-bar,.card-view-wishes-right-actions{pointer-events:auto!important;z-index:2147483647!important}.card-view-wishes-right-actions,.card-view-wishes-section .card-view-wishes-action-btn,.card-view-wishes-section .card-view-wishes-actions-bar,.card-view-wishes-section .card-view-wishes-content-input,.card-view-wishes-section .card-view-wishes-form,.card-view-wishes-section .card-view-wishes-list,.card-view-wishes-section button,.card-view-wishes-section input,.card-view-wishes-section textarea{pointer-events:auto!important}.card-view-html-landing{background:#0000;box-sizing:border-box!important;display:block!important;height:auto!important;margin:0;margin-bottom:0!important;max-height:none!important;min-height:100vh;overflow:visible!important;padding:0 0 350px;position:relative!important;transform:translateZ(0);width:100%}.card-view-html-landing .card-container,.card-view-html-landing .card-container[style*=height],.card-view-html-landing .card-container[style*=overflow]{box-sizing:border-box!important;display:block!important;margin:0 auto!important;max-height:none!important;overflow:visible!important;position:relative!important}.card-view-html-landing div[style*="position: absolute"]:not(.card-view-wishes-actions-bar):not(.rsvp-form-container):not(.ele-rsvp-form),.card-view-html-landing div[style*="position: absolute"][style*=z-index]:not(.card-view-wishes-actions-bar):not(.rsvp-form-container):not(.ele-rsvp-form),.card-view-html-landing>div[style*="position: absolute"]:not(.card-view-wishes-actions-bar):not(.rsvp-form-container):not(.ele-rsvp-form),.card-view-html-landing>div[style*="position: absolute"][style*=z-index]:not(.card-view-wishes-actions-bar):not(.rsvp-form-container):not(.ele-rsvp-form){pointer-events:none!important;z-index:1!important}.card-view-html-landing .ele-rsvp-form,.card-view-html-landing .ele-rsvp-form *,.card-view-html-landing .rsvp-form-container,.card-view-html-landing .rsvp-form-container *,.card-view-html-landing form.rsvp-form-content,.card-view-html-landing form.rsvp-form-content *{pointer-events:auto!important;z-index:2147483647!important}.card-view-html-landing .ele-rsvp-form select,.card-view-html-landing .rsvp-form-container select,.card-view-html-landing form.rsvp-form-content select{-webkit-appearance:menulist!important;appearance:menulist!important;cursor:pointer!important;pointer-events:auto!important;position:relative!important;z-index:2147483647!important}.card-view-image-landing{align-items:center;background:#fff;display:flex;justify-content:center;margin:0;min-height:100vh;padding:0;width:100%}.card-view-image-full{height:auto;max-height:100vh;max-width:100%;object-fit:contain;width:auto}.card-view-empty-landing{align-items:center;background:#f5f5f5;color:#999;display:flex;font-size:1.2rem;justify-content:center;min-height:100vh}.card-view-floating-actions{bottom:6rem;display:flex;flex-direction:column;gap:1rem;position:fixed;right:2rem;z-index:1000}.card-view-floating-btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffffff2;border:none;border-radius:50%;box-shadow:0 4px 12px #00000026;color:#333;cursor:pointer;display:flex;height:56px;justify-content:center;transition:all .3s ease;width:56px}.card-view-floating-btn:hover{background:#fff;box-shadow:0 6px 20px #0003;transform:translateY(-2px) scale(1.05)}.card-view-floating-btn.share{background:#4caf50f2;color:#fff}.card-view-floating-btn.share:hover{background:#4caf50}.card-view-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.card-view-error,.card-view-loading{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:3rem;text-align:center;width:100%}.loading-spinner{border:4px solid #f3f3f3;margin:0 auto 1rem}.card-view-error p,.card-view-loading p{color:#666;font-size:1.1rem;margin:0}.card-view-back-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1.5rem;padding:12px 24px;transition:all .2s}.card-view-back-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.card-view-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-width:1200px;overflow:hidden;width:100%}.card-view-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;color:#fff;padding:2rem;text-align:center}.card-view-title{font-size:2rem;font-weight:700;margin:0 0 .5rem}.card-view-description{font-size:1.1rem;margin:0;opacity:.9}.card-view-html-container{background:#f5f5f5;min-height:600px;position:relative;width:100%}.card-view-html-iframe{border:none;display:block;height:100%;min-height:600px;width:100%}.card-view-image-container{background:#f5f5f5;padding:2rem;text-align:center}.card-view-image{border-radius:8px;box-shadow:0 4px 12px #0000001a;height:auto;max-width:100%}.card-view-empty{color:#999;font-size:1.1rem;padding:4rem 2rem;text-align:center}.card-view-actions{border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding:1.5rem 2rem}.card-view-action-btn{align-items:center;background:#f5f5f5;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:12px 24px;transition:all .2s}.card-view-action-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card-view-action-btn.download{background:#667eea;color:#fff}.card-view-action-btn.download:hover{background:#5568d3}.card-view-action-btn.share{background:#4caf50;color:#fff}.card-view-action-btn.share:hover{background:#45a049}.card-view-footer{background:#fafafa;border-top:1px solid #e0e0e0;color:#666;font-size:.9rem;padding:1.5rem 2rem;text-align:center}.card-view-date{margin:0 0 .5rem}.card-view-brand{margin:0}.card-view-brand a{color:#667eea;font-weight:500;text-decoration:none}.card-view-brand a:hover{text-decoration:underline}.card-view-wishes-section{background:#0000!important;box-sizing:border-box!important;display:block!important;height:auto!important;margin:0!important;max-width:none!important;opacity:1!important;overflow:visible!important;padding:1rem 1rem 90px!important;pointer-events:none!important;position:absolute!important;visibility:visible!important;width:100%!important;will-change:transform!important;z-index:2147483647!important}.card-view-wishes-section .card-view-wishes-action-btn,.card-view-wishes-section .card-view-wishes-actions-bar,.card-view-wishes-section .card-view-wishes-container,.card-view-wishes-section .card-view-wishes-content-input,.card-view-wishes-section .card-view-wishes-form,.card-view-wishes-section .card-view-wishes-list,.card-view-wishes-section button,.card-view-wishes-section input,.card-view-wishes-section textarea{pointer-events:auto!important}.card-view-wishes-container{display:block!important;margin:0 auto!important;max-width:600px;position:relative!important;visibility:visible!important;z-index:2147483647!important}.card-view-wishes-list{display:flex;flex-direction:column;gap:.25rem;margin-bottom:0;max-height:400px;overflow:visible!important;padding:.5rem 0 .5rem 1rem;position:relative}.card-view-wishes-empty{color:#999;font-style:italic;padding:2rem;text-align:center}.card-view-wish-bubble{word-wrap:break-word;align-self:flex-start;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffc0cbf2;border-radius:20px;box-shadow:0 2px 8px #00000026;margin-bottom:-.4rem;max-width:85%;padding:.75rem 1rem;position:relative;transform:translateZ(0)}@keyframes slideUpAndFade{0%{opacity:0;transform:translateY(50px)}10%{opacity:1;transform:translateY(0)}60%{opacity:1;transform:translateY(-20px)}to{opacity:0;transform:translateY(-80px)}}.card-view-wish-sender{color:#fff;display:inline;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.card-view-wish-content{word-wrap:break-word;color:#fff;display:inline;font-size:.85rem;line-height:1.5}.card-view-wishes-actions-bar{align-items:center;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px);background:#ffffff26!important;border:1px solid #ffffff1a;border-radius:50px!important;bottom:24px!important;box-shadow:0 4px 16px #00000014!important;display:flex!important;gap:10px;height:auto!important;left:0!important;margin:0 auto!important;max-width:420px!important;min-height:44px!important;padding:4px 6px!important;pointer-events:auto!important;position:absolute!important;right:0!important;transform:none!important;transition:all .3s ease;width:90%!important;z-index:2147483647!important}.card-view-wishes-left-actions,.card-view-wishes-right-actions{align-items:center;display:flex;gap:.5rem}.card-view-wishes-form{display:flex;position:relative}.card-view-wishes-content-input,.card-view-wishes-form{flex:1 1;pointer-events:auto!important;z-index:2147483647!important}.card-view-wishes-content-input{background:#ffffff80!important;border:1px solid #0000000d!important;border-radius:30px;color:#333!important;cursor:text!important;font-family:inherit!important;font-size:.95rem;line-height:20px!important;max-height:36px!important;min-height:36px!important;outline:none;overflow:hidden!important;padding:10px 16px!important;position:relative!important;resize:none!important;text-shadow:none!important;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:text!important;user-select:text!important;width:100%}.card-view-wishes-content-input::placeholder{color:#00000080!important;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-view-wishes-content-input:focus{background:#fff!important;border-color:#2196f34d!important;box-shadow:0 2px 8px #2196f326!important}.card-view-wishes-action-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#666;display:flex;height:44px;justify-content:center;position:relative;transition:all .3s ease;width:44px}.card-view-wishes-action-btn:hover{background:#e91e631a;color:#e91e63;transform:scale(1.1)}.card-view-wishes-action-btn{align-items:center!important;border:none!important;border-radius:50%!important;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex!important;flex-shrink:0;height:36px!important;justify-content:center!important;margin:0!important;min-width:36px!important;padding:0!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;width:36px!important}.card-view-wishes-action-btn:hover{box-shadow:0 4px 12px #0003!important;transform:translateY(-2px)}.card-view-wishes-action-btn:active{transform:scale(.95)}.card-view-wishes-action-btn.rsvp-btn{background:linear-gradient(135deg,#ff9800,#ff6d00)!important;color:#fff!important;flex-direction:row!important}.card-view-wishes-action-btn.rsvp-btn svg{color:#fff!important;height:20px;width:20px}.card-view-wishes-action-label,.card-view-wishes-rsvp-text{display:none!important}.card-view-wishes-action-btn.gift-btn{background:linear-gradient(135deg,#ff4081,#d81b60)!important;color:#fff!important}.card-view-wishes-action-btn.gift-btn svg{color:#fff!important;height:20px;width:20px}.card-view-wishes-action-btn.submit-btn{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:linear-gradient(135deg,#2196f3,#1565c0)!important;color:#fff!important}.card-view-wishes-action-btn.submit-btn:hover{background:linear-gradient(135deg,#42a5f5,#1e88e5)!important}@media (max-width:768px){.card-view-page{padding:1rem}.card-view-header{padding:1.5rem}.card-view-title{font-size:1.5rem}.card-view-description{font-size:1rem}.card-view-html-container,.card-view-html-iframe{min-height:400px}.card-view-actions{flex-direction:column;padding:1rem}.card-view-action-btn{justify-content:center;width:100%}.card-view-floating-actions{bottom:1rem;right:1rem}.card-view-floating-btn{height:48px;width:48px}.card-view-floating-btn svg{height:20px;width:20px}.card-view-wishes-section{padding:1.5rem .75rem}.card-view-wishes-list{gap:.75rem;max-height:300px}.card-view-wish-bubble{border-radius:15px;padding:.75rem 1rem}.card-view-wishes-actions-bar{gap:.4rem;padding:.6rem .75rem}.card-view-wishes-action-btn{height:40px;width:40px}.card-view-wishes-content-input{font-size:.85rem;padding:.6rem .75rem}.card-view-wishes-action-label{bottom:-16px;font-size:.6rem}.card-view-wish-bubble{max-width:90%;padding:.75rem .875rem}}.auth-page{align-items:center;animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 50%,#e91e63);background-size:200% 200%;display:flex;justify-content:center;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-lg);position:relative;width:100%}.auth-page:before{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:0}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.auth-container{animation:slideUp var(--transition-slow) var(--ease-bounce);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);background:var(--background-glass);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl),var(--glass-shadow);max-width:420px;padding:var(--spacing-2xl) var(--spacing-xl);position:relative;width:100%;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-header{margin-bottom:var(--spacing-2xl);position:relative;text-align:center}.auth-home-btn{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 5px #0000001a;color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;left:0;position:absolute;top:0;transition:all .2s cubic-bezier(.4,0,.2,1);width:40px;z-index:10}.auth-home-btn:hover{background:var(--primary-pink);box-shadow:0 4px 8px #e91e6333;color:#fff;transform:translateY(-2px)}.auth-logo{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-md);transition:all var(--transition-base)}.auth-logo:hover{transform:scale(1.05)}.auth-logo-image{filter:drop-shadow(0 2px 8px rgba(233,30,99,.3));height:64px;object-fit:contain;transition:transform .3s ease;width:64px}.auth-logo:hover .auth-logo-image{transform:scale(1.1)}.logo-text{color:#e91e63;font-family:Brush Script MT,Lucida Handwriting,cursive;font-size:var(--font-size-2xl)}.auth-title,.logo-text{font-weight:var(--font-weight-bold)}.auth-title{color:var(--text-primary);font-size:var(--font-size-3xl);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--spacing-xs) 0}.auth-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-error{align-items:center;animation:shake .5s ease;background:#f443361a;border:1px solid #f443364d;border-radius:var(--radius-lg);color:#f44336;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.form-group{gap:var(--spacing-xs)}.form-label{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.form-label-row{align-items:center;display:flex;justify-content:space-between}.forgot-password-link{color:var(--primary-pink);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-base)}.forgot-password-link:hover{color:var(--primary-pink-dark);text-decoration:underline}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-secondary);left:var(--spacing-md);pointer-events:none;position:absolute;transition:color var(--transition-base);z-index:1}.form-input{background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);box-sizing:border-box;color:var(--text-primary);font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 48px;transition:all var(--transition-base);width:100%}.form-input:focus{border-color:var(--primary-pink);box-shadow:0 0 0 4px #e91e6326,var(--shadow-sm);outline:none;transform:translateY(-1px)}.form-input:focus+.input-icon,.form-input:focus~.input-icon{color:var(--primary-pink)}.form-input::placeholder{color:var(--text-tertiary)}.password-toggle{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-xs);position:absolute;right:var(--spacing-md);transition:all var(--transition-base);z-index:1}.password-toggle:hover{background:var(--gradient-soft);color:var(--primary-pink);transform:scale(1.1)}.auth-submit-btn{align-items:center;background:var(--gradient-pink);border:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-pink);color:var(--text-light);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);justify-content:center;letter-spacing:var(--letter-spacing-wide);margin-top:var(--spacing-sm);overflow:hidden;padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:all var(--transition-base);width:100%}.auth-submit-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.auth-submit-btn:hover:before{left:100%}.auth-submit-btn:hover{box-shadow:var(--shadow-xl);filter:brightness(1.15);transform:translateY(-2px)}.auth-submit-btn:active{transform:translateY(0) scale(.98)}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-submit-btn:disabled:before{display:none}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:var(--radius-full);border-top-color:#fff;height:18px;width:18px}.auth-footer{margin-top:var(--spacing-md);text-align:center}.auth-footer-text{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.auth-link{color:var(--primary-pink);font-weight:var(--font-weight-semibold);position:relative;text-decoration:none;transition:all var(--transition-base)}.auth-link:after{background:var(--gradient-pink);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-base);width:0}.auth-link:hover:after{width:100%}.auth-link:hover{color:var(--primary-pink-dark);transform:translateY(-1px)}.auth-form{gap:var(--spacing-md)}.form-group{margin-bottom:0}.required{color:var(--primary-pink);font-weight:var(--font-weight-bold)}.success-message{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-2xl) 0;text-align:center}.success-message svg{color:#4caf50;margin-bottom:var(--spacing-sm)}.success-message p{color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0}.success-note{color:var(--text-secondary)!important;font-size:var(--font-size-sm)!important;margin-top:var(--spacing-xs)!important}.dashboard-sidebar{background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;width:260px;z-index:200}.dashboard-sidebar-logo{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:8px;padding:20px 16px}.dashboard-sidebar-logo-image{filter:drop-shadow(0 2px 4px rgba(233,30,99,.3));height:32px;object-fit:contain;transition:transform .2s ease;width:32px}.dashboard-sidebar-logo:hover .dashboard-sidebar-logo-image{transform:scale(1.05)}.dashboard-sidebar-logo-text{color:#e91e63;font-size:1.25rem;font-weight:600}.dashboard-sidebar-nav{flex:1 1;padding:16px 0}.dashboard-sidebar-section{margin-bottom:8px}.dashboard-sidebar-section-header{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.9375rem;gap:12px;padding:12px 16px;transition:background .2s}.dashboard-sidebar-section-header:hover{background:#f5f5f5}.dashboard-sidebar-arrow{color:#666;font-size:.75rem;margin-left:auto}.dashboard-sidebar-section-children{padding-left:8px}.dashboard-sidebar-item{align-items:center;border-radius:0 8px 8px 0;color:#333;cursor:pointer;display:flex;font-size:.9375rem;gap:12px;margin-right:16px;padding:12px 16px 12px 24px;transition:all .2s}.dashboard-sidebar-item:hover{background:#f5f5f5}.dashboard-sidebar-item.active{background:#e91e63;color:#fff}.dashboard-sidebar-item-icon{font-size:1.125rem;text-align:center;width:20px}.dashboard-sidebar-item-label{flex:1 1}@media (max-width:768px){.dashboard-sidebar{transform:translateX(-100%);transition:transform .3s}.dashboard-sidebar.open{transform:translateX(0)}}.dashboard-header{align-items:center;backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);background:var(--background-glass);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:flex;height:64px;justify-content:flex-end;padding:0 var(--spacing-lg);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-fixed)}.dashboard-header-right{align-items:center;display:flex;gap:var(--spacing-md)}.dashboard-header-user{position:relative}.dashboard-header-user-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-base)}.dashboard-header-user-btn:hover{background:var(--background-gray-light)}.dashboard-header-avatar{align-items:center;background:var(--gradient-pink);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--text-light);display:flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:40px;justify-content:center;width:40px}.dashboard-header-user-info{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.dashboard-header-username{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.2}.dashboard-header-email{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.2}.dashboard-header-dropdown-icon{color:var(--text-secondary);flex-shrink:0;transition:transform var(--transition-base)}.dashboard-header-dropdown-icon.open{transform:rotate(180deg)}.dashboard-header-dropdown{animation:slideDown var(--transition-base) var(--ease-out);background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:200px;padding:var(--spacing-xs);position:absolute;right:0;top:calc(100% + var(--spacing-xs));z-index:var(--z-dropdown)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dashboard-header-dropdown-item{align-items:center;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.dashboard-header-dropdown-item:hover{background:var(--gradient-soft);color:var(--primary-pink)}.dashboard-header-dropdown-item svg{flex-shrink:0}.dashboard-header-dropdown-divider{background:var(--border-light);height:1px;margin:var(--spacing-xs) 0}body:has(.dashboard-layout){height:auto!important;overflow-y:auto!important}#root:has(.dashboard-layout){height:auto!important;overflow-y:auto!important}.dashboard-layout{overflow-y:auto}.dashboard-layout,.dashboard-main{background:#f5f5f5;display:flex;min-height:100vh}.dashboard-main{flex:1 1;flex-direction:column;margin-left:260px}.dashboard-content{flex:1 1;min-height:calc(100vh - 80px);overflow-y:visible;padding:24px}@media (max-width:768px){.dashboard-main{margin-left:0}.dashboard-content{padding:16px}}.dashboard-overview{margin:0 auto;max-width:1400px}.dashboard-welcome-banner{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px}.dashboard-welcome-left{align-items:center;display:flex;gap:16px}.dashboard-welcome-avatar{align-items:center;background:#8b4513;border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:600;height:64px;justify-content:center;width:64px}.dashboard-welcome-text h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 8px}.dashboard-welcome-text p{color:#666;font-size:.9375rem;margin:0}.dashboard-welcome-plan,.dashboard-welcome-right{align-items:flex-end;display:flex;flex-direction:column;gap:12px}.dashboard-welcome-plan-label{color:#333;font-size:1.25rem;font-weight:600}.dashboard-welcome-plan.upgraded{align-items:flex-end}.dashboard-welcome-plan.upgraded .dashboard-welcome-plan-label{color:#e91e63;font-weight:700}.dashboard-welcome-plan-status{align-items:center;background:#e91e631a;border:1px solid #e91e634d;border-radius:8px;color:#e91e63;display:flex;font-size:.875rem;font-weight:500;gap:8px;padding:8px 16px}.dashboard-welcome-plan-status span:first-child{font-size:1rem;font-weight:700}.dashboard-welcome-upgrade-btn{align-items:center;background:#e91e63;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:8px;padding:10px 20px;transition:background .2s}.dashboard-welcome-upgrade-btn:hover{background:#c2185b}.dashboard-stats-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:24px}.dashboard-section-title{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 20px}.dashboard-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-stat-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.dashboard-stat-card-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.dashboard-stat-icon{font-size:1.5rem}.dashboard-stat-card-header h4{color:#333;font-size:1rem;font-weight:600;margin:0}.dashboard-stat-value{color:#333;font-size:1.75rem;font-weight:700;margin-bottom:12px}.dashboard-stat-details{color:#666;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:12px}.dashboard-stat-progress{background:#e0e0e0;border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden}.dashboard-stat-progress-bar{background:#4caf50;height:100%;transition:width .3s}.dashboard-stat-footer{color:#666;display:flex;font-size:.8125rem;justify-content:space-between}.dashboard-activity-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px}.dashboard-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.dashboard-refresh-btn{background:#f5f5f5;border:1px solid #e0e0e0;color:#333;font-size:.875rem;padding:8px 16px;transition:all .2s}.dashboard-refresh-btn:hover{background:#e0e0e0}.dashboard-activity-content{min-height:200px}.dashboard-empty-state{align-items:center;color:#999;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.dashboard-empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.dashboard-empty-state p{color:#999;font-size:1rem;margin:0}@media (max-width:768px){.dashboard-welcome-banner{align-items:flex-start;flex-direction:column;gap:16px}.dashboard-welcome-right{align-items:flex-start;width:100%}.dashboard-stats-grid{grid-template-columns:1fr}}.create-design-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.create-design-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:100%}.create-design-modal-close{align-items:center;background:#f5f5f5;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s;width:32px;z-index:10}.create-design-modal-close:hover{background:#e0e0e0}.create-design-modal-title{color:#333;font-size:1.5rem;font-weight:700;margin:32px 32px 8px}.create-design-modal-subtitle{color:#666;font-size:.9375rem;margin:0 32px 24px}.create-design-modal-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:0 32px 24px}.create-design-option{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;padding:24px;text-align:center;transition:all .2s}.create-design-option:hover{border-color:#e91e63;box-shadow:0 4px 12px #e91e6326;transform:translateY(-2px)}.create-design-option-icon{align-items:center;border-radius:12px;display:flex;font-size:2.5rem;height:80px;justify-content:center;margin:0 auto 16px;width:80px}.create-design-option-icon.blank{background:linear-gradient(135deg,#667eea,#764ba2)}.create-design-option-icon.template{background:linear-gradient(135deg,#f093fb,#f5576c)}.create-design-option h3{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 8px}.create-design-option p{color:#666;font-size:.875rem;line-height:1.5;margin:0 0 16px}.create-design-option-action{background:#e91e63;border-radius:6px;color:#fff;display:inline-block;font-size:.875rem;font-weight:500;padding:8px 16px}.create-design-modal-banner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin:24px 32px 32px;padding:24px;position:relative}.create-design-modal-banner-label{background:#ffc107;border-radius:4px;color:#333;font-size:.75rem;font-weight:600;padding:4px 8px;position:absolute;right:12px;top:12px}.create-design-modal-banner h3{font-size:1.25rem;font-weight:700;margin:0 0 12px}.create-design-modal-banner p{font-size:.9375rem;line-height:1.6;margin:0 0 16px;opacity:.95}.create-design-modal-banner-btn{align-items:center;background:#e91e63;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:8px;padding:12px 24px;transition:background .2s}.create-design-modal-banner-btn:hover{background:#c2185b}@media (max-width:768px){.create-design-modal-options{grid-template-columns:1fr}.create-design-modal-banner,.create-design-modal-options,.create-design-modal-subtitle,.create-design-modal-title{padding-left:20px;padding-right:20px}}.dashboard-cards{margin:0 auto;max-width:1400px}.dashboard-cards-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.dashboard-cards-header-actions{align-items:center;display:flex;gap:12px}.dashboard-cards-title{color:#333;font-size:2rem;font-weight:700;margin:0 0 8px}.dashboard-cards-subtitle{color:#666;font-size:1rem;margin:0}.dashboard-create-card-btn{align-items:center;background:#e91e63;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:8px;padding:12px 24px;transition:background .2s}.dashboard-create-card-btn:hover{background:#c2185b}.dashboard-cards-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.dashboard-cards-stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px}.dashboard-cards-stat-card h3{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 8px}.dashboard-cards-stat-card p{color:#666;font-size:.875rem;margin:0 0 20px}.dashboard-cards-stat-value{align-items:baseline;display:flex;gap:8px;margin-bottom:16px}.dashboard-cards-stat-number{color:#333;font-size:2.5rem;font-weight:700}.dashboard-cards-stat-limit{color:#666;font-size:1.125rem}.dashboard-cards-stat-progress{background:#e0e0e0;border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden;position:relative}.dashboard-cards-stat-progress-bar{background:#4caf50;height:100%;transition:width .3s}.dashboard-cards-stat-progress-text{color:#666;font-size:.75rem;position:absolute;right:0;top:-20px}.dashboard-cards-stat-footer{color:#666;display:flex;font-size:.875rem;justify-content:space-between}.dashboard-cards-upgrade-card{background:#fff;border:2px solid #ff9800;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px}.dashboard-cards-upgrade-card.upgraded{background:linear-gradient(135deg,#fff,#f1f8f4);border-color:#4caf50}.dashboard-cards-upgrade-card h3{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 8px}.dashboard-cards-upgrade-card.upgraded h3{color:#4caf50}.dashboard-cards-upgrade-card p{color:#666;font-size:.875rem;margin:0 0 20px}.dashboard-cards-upgrade-btn{align-items:center;background:#ff9800;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:background .2s;width:100%}.dashboard-cards-upgrade-btn:hover{background:#f57c00}.dashboard-cards-upgrade-status{align-items:center;background:#4caf50;border-radius:8px;color:#fff;display:flex;font-size:.9375rem;font-weight:500;gap:8px;justify-content:center;padding:12px 24px}.upgrade-status-icon{font-size:1.25rem;font-weight:700}.dashboard-cards-container{display:flex;flex-direction:column;gap:24px}.dashboard-toolbar{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 4px #00000005;display:flex;justify-content:space-between;padding:16px 24px}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:12px}.checkbox-text{color:#333;font-weight:500}.total-count{color:#666;font-size:.9rem}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.dashboard-card-item{background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden;transition:transform .2s,box-shadow .2s}.dashboard-card-item:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.card-preview-area{aspect-ratio:16/9;background:#f5f5f5;overflow:hidden;position:relative}.card-preview-img{height:100%;object-fit:cover;transition:transform .3s;width:100%}.dashboard-card-item:hover .card-preview-img{transform:scale(1.05)}.card-checkbox{background:#fffc;border-radius:4px;display:flex;left:12px;padding:2px}.card-checkbox,.card-status-badge{position:absolute;top:12px;z-index:2}.card-status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 10px;right:12px;text-transform:uppercase}.card-status-badge.draft{background:#fff3cd;color:#856404}.card-status-badge.public{background:#d4edda;color:#155724}.card-info-footer{align-items:flex-end;display:flex;justify-content:space-between;padding:16px}.card-details{flex:1 1;min-width:0}.card-title{color:#333;font-size:.95rem;font-weight:600;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta{color:#666;display:flex;font-size:.8rem;gap:8px;margin-bottom:2px}.card-id-sub{color:#999;font-family:monospace;font-size:.75rem}.card-actions{display:flex;gap:8px}.icon-btn{align-items:center;background:#fff;border:1px solid #eee;border-radius:50%;color:#555;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .2s;width:32px}.icon-btn:hover{background:#f0f0f0;border-color:#ddd;color:#333}.dashboard-cards-pagination{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 4px #00000005;display:flex;justify-content:space-between;margin-top:16px;padding:16px 24px}.pagination-right{align-items:center;color:#666;display:flex;font-size:.9rem;gap:20px}.pagination-buttons{display:flex;gap:8px}.pagination-arrow,.pagination-number{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#555;cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;width:32px}.pagination-number.active{background:#fff5f8;border-color:#e91e63;color:#e91e63;font-weight:600}.pagination-select-wrapper select{border:1px solid #e0e0e0;border-radius:6px;color:#555;outline:none;padding:6px 12px}.dashboard-cards-empty{background:#fff;border-radius:12px;box-shadow:0 2px 4px #00000005;padding:60px;text-align:center}.dashboard-create-card-btn-empty{background:#e91e63;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:12px 24px}.dashboard-cards-loading{color:#666;padding:60px;text-align:center}.dashboard-wishes{margin:0 auto;max-width:1400px}.dashboard-wishes-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.dashboard-wishes-title{align-items:center;color:#333;display:flex;font-size:2rem;font-weight:700;gap:8px;margin:0 0 8px}.dashboard-wishes-subtitle{color:#666;font-size:1rem;margin:0}.dashboard-wishes-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.dashboard-wishes-stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px;text-align:center}.dashboard-wishes-stat-card.blue{border-top:4px solid #2196f3}.dashboard-wishes-stat-card.green{border-top:4px solid #4caf50}.dashboard-wishes-stat-card.purple{border-top:4px solid #9c27b0}.dashboard-wishes-stat-icon{font-size:2.5rem;margin-bottom:12px}.dashboard-wishes-stat-card h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 12px}.dashboard-wishes-stat-value{color:#333;font-size:1.25rem;font-weight:600}.dashboard-wishes-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow-x:auto;padding:24px}.dashboard-wishes-table{border-collapse:collapse;width:100%}.dashboard-wishes-table thead{background:#f5f5f5}.dashboard-wishes-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:.875rem;font-weight:600;padding:12px 16px;text-align:left}.dashboard-wishes-table td{border-bottom:1px solid #e0e0e0;color:#666;font-size:.9375rem;padding:16px}.dashboard-wishes-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.dashboard-wishes-empty-icon{font-size:5rem;margin-bottom:24px;opacity:.3}.dashboard-wishes-empty h3{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 8px}.dashboard-wishes-empty p{color:#666;font-size:.9375rem;margin:0}.dashboard-wishes-filter{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:12px;margin-bottom:20px;padding:16px}.dashboard-wishes-filter label{color:#333;font-size:.9375rem;font-weight:600}.dashboard-wishes-filter-select{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;cursor:pointer;font-size:.9375rem;min-width:200px;padding:8px 12px}.dashboard-wishes-filter-select:focus{border-color:#e91e63;outline:none}.dashboard-wish-status{border-radius:12px;font-size:.8125rem;font-weight:600;padding:4px 12px}.dashboard-wish-status.active{background:#e8f5e9;color:#4caf50}.dashboard-wish-status.hidden{background:#ffebee;color:#f44336}.dashboard-wishes-loading{color:#666;font-size:1rem;padding:40px;text-align:center}@media (max-width:768px){.dashboard-wishes-header{flex-direction:column;gap:16px}.dashboard-wishes-stats{grid-template-columns:1fr}.dashboard-wishes-table{font-size:.8125rem}.dashboard-wishes-table td,.dashboard-wishes-table th{padding:8px}}.dashboard-rsvp{margin:0 auto;max-width:1400px}.dashboard-rsvp-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.dashboard-rsvp-title{align-items:center;color:#333;display:flex;font-size:2rem;font-weight:700;gap:8px;margin:0 0 8px}.dashboard-rsvp-subtitle{color:#666;font-size:1rem;margin:0}.dashboard-rsvp-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.dashboard-rsvp-stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px;text-align:center}.dashboard-rsvp-stat-card.blue{border-top:4px solid #2196f3}.dashboard-rsvp-stat-card.green{border-top:4px solid #4caf50}.dashboard-rsvp-stat-card.purple{border-top:4px solid #9c27b0}.dashboard-rsvp-stat-card.orange{border-top:4px solid #ff9800}.dashboard-rsvp-stat-icon{font-size:2.5rem;margin-bottom:12px}.dashboard-rsvp-stat-card h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 12px}.dashboard-rsvp-stat-value{color:#333;font-size:1.25rem;font-weight:600}.dashboard-rsvp-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow-x:auto;padding:24px}.dashboard-rsvp-table{border-collapse:collapse;width:100%}.dashboard-rsvp-table thead{background:#f5f5f5}.dashboard-rsvp-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:.875rem;font-weight:600;padding:12px 16px;text-align:left}.dashboard-rsvp-table td{border-bottom:1px solid #e0e0e0;color:#666;font-size:.9375rem;padding:16px}.dashboard-rsvp-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.dashboard-rsvp-empty-icon{font-size:5rem;margin-bottom:24px;opacity:.3}.dashboard-rsvp-empty h3{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 8px}.dashboard-rsvp-empty p{color:#666;font-size:.9375rem;margin:0}.dashboard-action-btn{background:#e91e63;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;padding:6px 12px;transition:background .2s}.dashboard-action-btn:hover{background:#c2185b}.dashboard-rsvp-filter{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:12px;margin-bottom:20px;padding:16px}.dashboard-rsvp-filter label{color:#333;font-size:.9375rem;font-weight:600}.dashboard-rsvp-filter-select{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;cursor:pointer;font-size:.9375rem;min-width:200px;padding:8px 12px}.dashboard-rsvp-filter-select:focus{border-color:#e91e63;outline:none}.dashboard-rsvp-status{border-radius:12px;font-size:.8125rem;font-weight:600;padding:4px 12px}.dashboard-rsvp-status.active{background:#e8f5e9;color:#4caf50}.dashboard-rsvp-status.hidden{background:#ffebee;color:#f44336}.dashboard-rsvp-attendance{border-radius:12px;font-size:.8125rem;font-weight:600;padding:4px 12px}.dashboard-rsvp-attendance.yes{background:#e8f5e9;color:#4caf50}.dashboard-rsvp-attendance.no{background:#ffebee;color:#f44336}.dashboard-action-btn.hide-btn{background:#ff9800}.dashboard-action-btn.hide-btn:hover{background:#f57c00}.dashboard-action-btn.show-btn{background:#4caf50}.dashboard-action-btn.show-btn:hover{background:#388e3c}.dashboard-rsvp-loading{color:#666;font-size:1rem;padding:40px;text-align:center}.dashboard-refresh-btn{align-items:center;background:#e91e63;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:8px;padding:10px 20px;transition:background .2s}.dashboard-refresh-btn:hover{background:#c2185b}.dashboard-rsvp-templates-section{margin-top:32px}.dashboard-rsvp-section-title{color:#333;font-size:1.5rem;font-weight:700;margin:0 0 20px}.dashboard-rsvp-templates-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow-x:auto;padding:24px}.dashboard-rsvp-templates-table{border-collapse:collapse;width:100%}.dashboard-rsvp-templates-table thead{background:#f5f5f5}.dashboard-rsvp-templates-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:.875rem;font-weight:600;padding:12px 16px;text-align:left}.dashboard-rsvp-templates-table td{border-bottom:1px solid #e0e0e0;color:#666;font-size:.9375rem;padding:16px}.dashboard-template-status{border-radius:12px;font-size:.8125rem;font-weight:600;padding:4px 12px}.dashboard-template-status.public{background:#e8f5e9;color:#4caf50}.dashboard-template-status.draft{background:#fff3e0;color:#ff9800}.dashboard-template-display-status{border-radius:12px;font-size:.8125rem;font-weight:600;padding:4px 12px}.dashboard-template-display-status.visible{background:#e8f5e9;color:#4caf50}.dashboard-template-display-status.hidden{background:#ffebee;color:#f44336}.dashboard-template-actions{display:flex;flex-wrap:wrap;gap:8px}.dashboard-action-btn.edit-btn{background:#2196f3}.dashboard-action-btn.edit-btn:hover{background:#1976d2}.dashboard-action-btn.view-btn{background:#9c27b0}.dashboard-action-btn.view-btn:hover{background:#7b1fa2}@media (max-width:768px){.dashboard-rsvp-header{flex-direction:column;gap:16px}.dashboard-rsvp-stats{grid-template-columns:1fr}.dashboard-rsvp-table,.dashboard-rsvp-templates-table{font-size:.8125rem}.dashboard-rsvp-table td,.dashboard-rsvp-table th,.dashboard-rsvp-templates-table td,.dashboard-rsvp-templates-table th{padding:8px}.dashboard-template-actions{flex-direction:column}.dashboard-action-btn{width:100%}}.dashboard-gifts{margin:0 auto;max-width:1400px}.dashboard-gifts-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.dashboard-gifts-title{align-items:center;color:#333;display:flex;font-size:2rem;font-weight:700;gap:8px;margin:0 0 8px}.dashboard-gifts-subtitle{color:#666;font-size:1rem;margin:0}.dashboard-gifts-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:24px}.dashboard-gifts-stat-card{background:#fff;border-radius:12px;border-top:4px solid;box-shadow:0 2px 8px #0000000d;padding:24px;text-align:center}.dashboard-gifts-stat-card.pink{border-top-color:#e91e63}.dashboard-gifts-stat-card.orange{border-top-color:#ff9800}.dashboard-gifts-stat-card.green{border-top-color:#4caf50}.dashboard-gifts-stat-icon{font-size:2.5rem;margin-bottom:12px}.dashboard-gifts-stat-card h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 12px}.dashboard-gifts-stat-value{color:#333;font-size:1.25rem;font-weight:600}.dashboard-gifts-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow-x:auto;padding:24px}.dashboard-gifts-table{border-collapse:collapse;width:100%}.dashboard-gifts-table thead{background:#f5f5f5}.dashboard-gifts-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:.875rem;font-weight:600;padding:12px 16px;text-align:left}.dashboard-gifts-table td{border-bottom:1px solid #e0e0e0;color:#666;font-size:.9375rem;padding:16px}.dashboard-gifts-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.dashboard-gifts-empty-icon{font-size:5rem;margin-bottom:24px;opacity:.3}.dashboard-gifts-empty h3{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 8px}.dashboard-gifts-empty p{color:#666;font-size:.9375rem;margin:0}@media (max-width:768px){.dashboard-gifts-header{flex-direction:column;gap:16px}.dashboard-gifts-stats{grid-template-columns:1fr}}.dashboard-account{margin:0 auto;max-width:900px}.dashboard-account-title{-webkit-text-fill-color:#0000;background:var(--gradient-pink);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-lg) 0}.dashboard-account-message{align-items:center;animation:slideDown var(--transition-base) var(--ease-out);border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.dashboard-account-message.error{background:#f443361a;border:1px solid #f443364d;color:#f44336}.dashboard-account-message.success{background:#4caf501a;border:1px solid #4caf504d;color:#4caf50}.dashboard-account-message svg{flex-shrink:0}.dashboard-account-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:24px}.dashboard-account-section-title{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 24px}.dashboard-account-avatar-section{align-items:center;display:flex;gap:16px;margin-bottom:32px}.dashboard-account-avatar{align-items:center;background:#8b4513;border-radius:50%;color:#fff;display:flex;font-size:2rem;font-weight:600;height:80px;justify-content:center;width:80px}.dashboard-account-avatar-btn{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;font-size:.9375rem;gap:8px;padding:10px 20px;transition:all .2s}.dashboard-account-avatar-btn:hover{background:#e0e0e0}.dashboard-account-form{display:flex;flex-direction:column;gap:20px}.dashboard-account-form-group{display:flex;flex-direction:column;gap:8px}.dashboard-account-form-group label{color:#333;font-size:.9375rem;font-weight:500}.dashboard-account-form-group input,.dashboard-account-form-group textarea{border:1px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:.9375rem;padding:10px 16px;transition:border-color .2s}.dashboard-account-form-group input:focus,.dashboard-account-form-group textarea:focus{border-color:#e91e63;outline:none}.dashboard-account-form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.dashboard-account-form-group textarea{min-height:100px;resize:vertical}.dashboard-account-date-input{position:relative}.dashboard-account-date-input input{padding-right:40px;width:100%}.dashboard-account-date-icon{pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.dashboard-account-password-input{position:relative}.dashboard-account-password-input input{padding-right:40px;width:100%}.dashboard-account-password-toggle{background:none;border:none;cursor:pointer;font-size:1.125rem;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.dashboard-account-submit-btn{align-items:center;align-self:flex-start;background:var(--gradient-pink);border:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-pink);color:var(--text-light);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);letter-spacing:var(--letter-spacing-wide);overflow:hidden;padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:all var(--transition-base)}.dashboard-account-submit-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.dashboard-account-submit-btn:hover:before{left:100%}.dashboard-account-submit-btn:hover{box-shadow:var(--shadow-xl);filter:brightness(1.15);transform:translateY(-2px)}.dashboard-account-submit-btn:active{transform:translateY(0) scale(.98)}.dashboard-account-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.dashboard-account-submit-btn:disabled:before{display:none}.dashboard-account-submit-btn .spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:var(--radius-full);border-top-color:#fff;height:18px;width:18px}@media (max-width:768px){.dashboard-account-avatar-section{align-items:flex-start;flex-direction:column}}.dashboard-wallet{margin:0 auto;max-width:1200px}.dashboard-wallet-header{margin-bottom:24px}.dashboard-wallet-title{color:#333;font-size:2rem;font-weight:700;margin:0 0 8px}.dashboard-wallet-subtitle{color:#666;font-size:1rem;margin:0}.dashboard-wallet-balance{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.dashboard-wallet-balance-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px}.dashboard-wallet-balance-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.dashboard-wallet-balance-label{color:#666;font-size:.9375rem;margin-bottom:12px}.dashboard-wallet-balance-value{font-size:2rem;font-weight:700}.dashboard-wallet-balance-value.red{color:#f44336}.dashboard-wallet-balance-value.blue{color:#2196f3}.dashboard-wallet-balance-value.orange{color:#ff9800}.dashboard-wallet-withdraw-btn{background:#e91e63;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:500;padding:6px 12px;transition:background .2s}.dashboard-wallet-withdraw-btn:hover{background:#c2185b}.dashboard-wallet-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:24px}.dashboard-wallet-section-title{color:#333;font-size:1.5rem;font-weight:700;margin:0 0 20px}.dashboard-wallet-history{min-height:200px}.dashboard-wallet-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.dashboard-wallet-empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.dashboard-wallet-empty p{color:#999;font-size:1rem;margin:0}.dashboard-wallet-info{display:flex;flex-direction:column;gap:24px}.dashboard-wallet-info-item{background:#f9f9f9;border-left:4px solid;border-radius:8px;padding:20px}.dashboard-wallet-info-item:first-child{border-left-color:#f44336}.dashboard-wallet-info-item:nth-child(2){border-left-color:#2196f3}.dashboard-wallet-info-item:nth-child(3){border-left-color:#ff9800}.dashboard-wallet-info-title{font-size:1.125rem;font-weight:600;margin:0 0 12px}.dashboard-wallet-info-title.red{color:#f44336}.dashboard-wallet-info-title.blue{color:#2196f3}.dashboard-wallet-info-title.orange{color:#ff9800}.dashboard-wallet-info-list{list-style-type:disc;margin:0;padding-left:20px}.dashboard-wallet-info-list li{color:#666;font-size:.9375rem;line-height:1.6;margin-bottom:8px}.dashboard-wallet-info-list li:last-child{margin-bottom:0}@media (max-width:768px){.dashboard-wallet-balance{grid-template-columns:1fr}}.loading-container{align-items:center;background:var(--background-color);display:flex;justify-content:center;min-height:100vh}.loading-spinner-simple{animation:spin 1s linear infinite;border-top:4px solid var(--border-light);border:4px solid var(--border-light);border-radius:var(--radius-full);border-top-color:var(--primary-pink);height:40px;width:40px}.admin-login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.admin-login-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:450px;padding:3rem;width:100%}.admin-login-header{margin-bottom:2rem;text-align:center}.admin-login-header h1{color:#333;font-size:2rem;font-weight:700;margin:0 0 .5rem}.admin-login-header p{color:#666;font-size:.95rem;margin:0}.admin-login-form{display:flex;flex-direction:column;gap:1.5rem}.admin-form-group{display:flex;flex-direction:column;gap:.5rem}.admin-form-group label{color:#333;font-size:.9rem;font-weight:500}.admin-form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:all .2s}.admin-form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.admin-form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.admin-error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.9rem;padding:.75rem 1rem}.admin-login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.875rem 1.5rem;transition:all .2s}.admin-login-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.admin-login-button:disabled{cursor:not-allowed;opacity:.6}.admin-login-footer{margin-top:2rem;text-align:center}.admin-back-button{background:#0000;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.admin-back-button:hover{background-color:#f5f5f5;border-color:#999}.admin-sidebar{background:linear-gradient(180deg,#2c3e50,#34495e);box-shadow:2px 0 10px #0000001a;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:260px;z-index:1000}.admin-sidebar-header{background:#0003;border-bottom:1px solid #ffffff1a;padding:1.5rem 1rem}.admin-sidebar-logo{align-items:center;color:#fff;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem}.admin-logo-image{filter:drop-shadow(0 2px 4px rgba(233,30,99,.3));height:32px;object-fit:contain;transition:transform .2s ease;width:32px}.admin-sidebar-logo:hover .admin-logo-image{transform:scale(1.05)}.admin-logo-text{color:#e91e63;font-size:1.1rem;font-weight:600}.admin-sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.admin-sidebar-nav::-webkit-scrollbar{width:6px}.admin-sidebar-nav::-webkit-scrollbar-track{background:#0000001a}.admin-sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.admin-sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.admin-menu-item{align-items:center;border-left:3px solid #0000;border-radius:6px;color:#fffc;cursor:pointer;display:flex;gap:.75rem;margin:.25rem .5rem;padding:.875rem 1.25rem;transition:all .2s ease}.admin-menu-item:hover{background:#ffffff1a;color:#fff;transform:translateX(2px)}.admin-menu-item.active{background:linear-gradient(90deg,#4299e133,#4299e11a);border-left-color:#4299e1;color:#4299e1;font-weight:500}.admin-menu-item.active .admin-menu-icon{transform:scale(1.1)}.admin-menu-icon{font-size:1.25rem;text-align:center;transition:transform .2s;width:24px}.admin-menu-label{flex:1 1;font-size:.95rem}.admin-sidebar-footer{background:#0003;border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.admin-user-info{align-items:center;background:#ffffff0d;border-radius:6px;color:#ffffffe6;display:flex;gap:.75rem;padding:.5rem}.admin-user-icon{font-size:1.25rem}.admin-logout-btn-sidebar,.admin-user-name{font-size:.9rem;font-weight:500}.admin-logout-btn-sidebar{align-items:center;background:#ef444433;border:1px solid #ef44444d;border-radius:6px;color:#fca5a5;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:all .2s;width:100%}.admin-logout-btn-sidebar:hover{background:#ef44444d;border-color:#ef444480;color:#f87171}.admin-logout-icon{font-size:1.1rem}.admin-logout-text{flex:1 1;text-align:left}@media (max-width:768px){.admin-sidebar{width:70px}.admin-logo-text,.admin-logout-text,.admin-menu-label,.admin-user-name{display:none}.admin-menu-item{justify-content:center;padding:.875rem}.admin-sidebar-header{padding:1rem .5rem}}body:has(.admin-layout){height:auto!important;overflow-y:auto!important}#root:has(.admin-layout){height:auto!important;overflow-y:auto!important}.admin-layout{display:flex}.admin-layout,.admin-main-content{background:#f5f7fa;min-height:100vh;overflow-y:auto}.admin-main-content{flex:1 1;margin-left:260px;width:calc(100% - 260px)}.admin-page-wrapper{padding:2rem}.admin-page-wrapper .admin-page-header{margin-bottom:2rem}.admin-page-wrapper .admin-page-header h1{color:#1a202c;font-size:2rem;font-weight:600;margin:0 0 .5rem}.admin-page-wrapper .admin-page-header p{color:#718096;margin:0}.admin-page-wrapper .admin-page-content{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;color:#718096;display:flex;font-size:1.1rem;justify-content:center;min-height:400px;padding:2rem}@media (max-width:768px){.admin-main-content{margin-left:70px}}.admin-dashboard-page{padding:2rem}.admin-dashboard-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{transition:transform .2s,box-shadow .2s}.stat-content h3{color:#718096;font-size:.9rem;font-weight:500}.stat-number{color:#1a202c}.stat-label{color:#a0aec0}.admin-dashboard-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.admin-content-card h2{color:#1a202c;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.admin-content-card p{color:#718096;margin:0}.admin-templates-page{min-height:100vh;overflow-y:auto;padding:2rem}.admin-page-header-content{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between}.admin-page-header h1{color:#1a202c;font-size:2rem;font-weight:600;margin:0 0 .5rem}.admin-page-header p{color:#718096;font-size:.95rem;margin:0}.admin-page-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.admin-header-actions{display:flex;gap:1rem}.admin-btn{border-radius:8px;font-size:.9rem;justify-content:center;outline:none}.admin-btn,.admin-create-btn{align-items:center;border:none;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.admin-create-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 6px #667eea40;color:#fff;font-size:.95rem}.admin-create-btn:hover{background:linear-gradient(135deg,#5a6fd6,#683999);box-shadow:0 6px 12px #667eea59;transform:translateY(-2px)}.admin-create-btn:active{transform:translateY(0)}.admin-logout-btn,.admin-refresh-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#4a5568;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s}.admin-logout-btn:hover,.admin-refresh-btn:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0;color:#2d3748;transform:translateY(-1px)}.admin-refresh-btn:disabled{background:#f1f1f1;cursor:not-allowed;opacity:.6}.admin-logout-btn{background:#fff5f5;border-color:#feb2b2;color:#c53030}.admin-logout-btn:hover{background:#c53030;border-color:#c53030;color:#fff}.admin-templates-content{margin:0 auto;max-width:1400px;padding:2rem}.admin-filters{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1.5rem}.filter-group{min-width:150px}.filter-group input,.filter-group select{border-radius:6px;padding:.5rem .75rem}.filter-group input:focus,.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.admin-error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-bottom:1.5rem;padding:1rem}.admin-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow:hidden}.admin-empty,.admin-loading{color:#666;padding:3rem;text-align:center}.admin-table{border-collapse:initial;border-spacing:0;width:100%}.admin-table thead{background-color:#f8fafc}.admin-table th{border-bottom:1px solid #e2e8f0;border-top:1px solid #e2e8f0;color:#64748b;font-size:.8rem;font-weight:600;letter-spacing:.05em;padding:1rem 1.5rem;text-align:left;text-transform:uppercase}.admin-table th:first-child{border-left:1px solid #e2e8f0;border-top-left-radius:8px}.admin-table th:last-child{border-right:1px solid #e2e8f0;border-top-right-radius:8px}.admin-table td{border-bottom:1px solid #e2e8f0;color:#334155;font-size:.9rem;padding:1rem 1.5rem;vertical-align:middle}.admin-table td:first-child{border-left:1px solid #e2e8f0}.admin-table td:last-child{border-right:1px solid #e2e8f0}.admin-table tbody tr:last-child td:first-child{border-bottom-left-radius:8px}.admin-table tbody tr:last-child td:last-child{border-bottom-right-radius:8px}.admin-table tbody tr:hover{background-color:#f8fafc}.template-id{color:#666;font-family:monospace;font-size:.8rem;max-width:200px}.template-id,.template-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-title{color:#333;font-weight:500;max-width:250px}.status-badge{font-size:.8rem}.status-public{background:#d4edda;color:#155724}.status-private{background:#fff3cd;color:#856404}.status-draft{background:#f8d7da;color:#721c24}.status-default{background:#e2e3e5;color:#383d41}.display-badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.display-on{background:#d4edda;color:#155724}.display-off{background:#f8d7da;color:#721c24}.template-actions{display:flex;gap:.5rem}.action-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font-size:1rem;height:32px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);width:32px}.action-btn:hover{background:#f1f5f9;transform:translateY(-1px)}.view-btn:hover{background:#e0f2fe;border-color:#bae6fd;color:#0284c7}.edit-btn:hover{background:#ffedd5;border-color:#fed7aa;color:#ea580c}.delete-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.action-btn+.action-btn{margin-left:.5rem}.admin-pagination{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding:1rem}.pagination-btn{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f8f9fa;border-color:#667eea}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#666;font-size:.9rem}.admin-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.admin-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:500px;padding:2rem;width:100%}.admin-modal-large{max-height:80vh;overflow-y:auto}.modal-header{margin-bottom:1.5rem}.modal-header h3{color:#333;font-size:1.5rem;margin:0}.modal-close{border-radius:50%;font-size:2rem;height:32px;line-height:1;transition:all .2s;width:32px}.modal-close:hover{background:#f5f5f5}.modal-content{color:#666;line-height:1.6}.modal-content pre{background:#f8f9fa;border-radius:6px;font-size:.85rem;max-height:60vh;overflow-x:auto;overflow-y:auto;padding:1rem}.admin-modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.admin-form{gap:1.5rem}.admin-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-weight:600}.form-group .required{color:#f44336}.form-group input,.form-group select,.form-group textarea{transition:all .2s}.form-group textarea{font-family:inherit}.form-group small{color:#666;font-size:.85rem;margin-top:-.25rem}.form-actions{margin-top:1rem;padding-top:1rem}.form-error{padding:1rem}.detail-section h4{font-weight:600}.detail-json{font-family:Courier New,monospace}.detail-actions{display:flex;gap:1rem;justify-content:flex-end}.detail-actions .edit-btn{background:#667eea;color:#fff}.detail-actions .edit-btn:hover{background:#5568d3}.admin-template-editor{background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}.admin-editor-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:1rem 2rem}.admin-editor-header-content{align-items:center;display:flex;justify-content:space-between;max-width:100%}.admin-editor-title{align-items:center;display:flex;gap:1rem}.admin-back-btn{background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.admin-back-btn:hover{background:#ffffff4d}.admin-editor-title h2{font-size:1.5rem;font-weight:600;margin:0}.admin-editor-actions{display:flex;gap:1rem}.admin-preview-btn,.admin-save-btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.admin-preview-btn{background:#fff3;color:#fff}.admin-preview-btn:hover{background:#ffffff4d}.admin-save-btn{background:#fff;color:#667eea;font-weight:600}.admin-save-btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.admin-save-btn:disabled{cursor:not-allowed;opacity:.6}.admin-editor-error{background:#fff3;border-radius:6px;color:#ffebee;font-size:.9rem;margin-top:1rem;padding:.75rem 1rem}.admin-editor-content{display:flex;flex:1 1;height:calc(100vh - 80px);overflow:auto;position:relative}.admin-main-editor{align-items:flex-start;background:#f0f0f0;display:flex;flex:1 1;justify-content:center;min-height:100%;overflow-x:hidden;overflow-y:auto;padding:2rem}.admin-editor-loading{align-items:center;background:#f5f5f5;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.loading-spinner{border:4px solid #e0e0e0;border-top-color:#667eea;height:50px;width:50px}.admin-editor-loading p{color:#666;font-size:1rem}.admin-music-page{min-height:100vh;padding:2rem}.music-id{color:#666;font-family:monospace;font-size:.8rem;max-width:200px}.music-id,.music-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-name{color:#333;font-weight:500;max-width:250px}.music-url a{color:#667eea;text-decoration:none}.music-url a:hover{text-decoration:underline}.music-actions{display:flex;gap:.5rem}.audio-preview-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-top:1rem;padding:1rem}.audio-player-controls{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.play-pause-btn{align-items:center;background:#667eea;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .2s;width:40px}.play-pause-btn:hover{background:#5568d3;transform:scale(1.05)}.audio-duration{color:#666;font-size:.9rem;font-weight:500}.trim-controls{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:1rem;padding:1.25rem}.trim-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.trim-label{color:#333;font-size:1rem;font-weight:700;letter-spacing:-.3px}.trim-total-duration{background:#667eea1a;border-radius:20px;color:#667eea;font-size:.95rem;font-weight:600;padding:.25rem .75rem}.timeline-container{margin:1rem 0;position:relative}.timeline-track{background:#e0e0e0;border-radius:4px;height:8px;margin:20px 0;overflow:visible;position:relative}.timeline-selected{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;box-shadow:0 2px 4px #667eea4d;height:100%;pointer-events:none;position:absolute;top:0;z-index:1}.timeline-slider{-webkit-appearance:none;appearance:none;background:#0000;cursor:pointer;height:8px;left:0;margin:0;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);width:100%;z-index:2}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:3px solid #667eea;border-radius:50%;box-shadow:0 2px 6px #0003;cursor:grab;height:20px;-webkit-transition:all .2s;transition:all .2s;width:20px}.timeline-slider::-webkit-slider-thumb:hover{box-shadow:0 3px 8px #667eea66;transform:scale(1.15)}.timeline-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.timeline-slider::-moz-range-thumb{background:#fff;border:3px solid #667eea;border-radius:50%;box-shadow:0 2px 6px #0003;cursor:grab;height:20px;-moz-transition:all .2s;transition:all .2s;width:20px}.timeline-slider::-moz-range-thumb:hover{box-shadow:0 3px 8px #667eea66;transform:scale(1.15)}.timeline-slider:disabled{cursor:not-allowed;opacity:.6}.timeline-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;opacity:.6}.timeline-slider:disabled::-moz-range-thumb{cursor:not-allowed;opacity:.6}.timeline-labels{color:#666;display:flex;font-size:.8rem;font-weight:500;justify-content:space-between;margin-top:.5rem}.timeline-label-start{color:#667eea;font-weight:600}.timeline-label-end{color:#764ba2;font-weight:600}.trim-inputs{background:#fff;border:1px solid #e8e8e8;border-radius:8px;flex-wrap:wrap;gap:1rem;padding:1rem}.trim-input-group,.trim-inputs{align-items:center;display:flex}.trim-input-group{flex:1 1;gap:.5rem;min-width:120px}.trim-input-group label{color:#666;font-size:.85rem;font-weight:600;min-width:35px}.trim-time-input{background:#fff;border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:.9rem;font-weight:500;min-width:70px;padding:.6rem .75rem;text-align:center;transition:all .2s}.trim-time-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.trim-time-input:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.trim-unit{color:#999;font-size:.85rem;font-weight:500;min-width:15px}.trim-btn{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;box-shadow:0 2px 6px #28a7454d;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.trim-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1ea080);box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.trim-btn:active:not(:disabled){transform:translateY(0)}.trim-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.trim-btn-icon,.trim-btn-spinner{font-size:1rem}.trim-info-card{background:linear-gradient(135deg,#667eea0d,#764ba20d);border:1px solid #667eea33;border-radius:8px;padding:.75rem 1rem}.trim-info-item{align-items:center;display:flex;justify-content:space-between}.trim-info-label{color:#666;font-size:.85rem;font-weight:500}.trim-info-value{color:#667eea;font-size:1rem;font-weight:700}.admin-form{padding:1rem 0}.form-group .required{color:#e53e3e}.form-group input,.form-group select,.form-group textarea{border-radius:6px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{min-height:100px}.form-error{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.form-actions{border-top:1px solid #eee;gap:1rem}.detail-section{margin-bottom:2rem}.detail-section h4{color:#333;font-size:1.1rem;margin:0 0 1rem}.detail-item label{font-weight:500}.detail-item span{color:#333;word-break:break-word}.detail-actions{border-top:1px solid #eee;margin-top:1.5rem;padding-top:1.5rem}.admin-stock-page{min-height:100vh;padding:2rem}.stock-id{color:#666;font-family:monospace;font-size:.8rem;max-width:200px}.stock-id,.stock-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-name{color:#333;font-weight:500;max-width:250px}.stock-url a{color:#667eea;font-size:.85rem;text-decoration:none}.stock-url a:hover{text-decoration:underline}.stock-actions{display:flex;gap:.5rem}.filters-section{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-group label{color:#666;font-size:.85rem;font-weight:500}.filter-group input,.filter-group select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem}.stock-list-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.stock-table-wrapper{overflow-x:auto}.stock-table{border-collapse:collapse;width:100%}.stock-table thead{background:#f8f9fa}.stock-table th{border-bottom:2px solid #dee2e6;color:#333;font-size:.85rem;font-weight:600;padding:.75rem;text-align:left}.stock-table td{border-bottom:1px solid #dee2e6;font-size:.85rem;padding:.75rem}.stock-table tbody tr:hover{background:#f8f9fa}.empty-state{color:#999;padding:2rem;text-align:center}.status-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.status-pending{background:#fff3cd;color:#856404}.btn-primary{background:#667eea;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .2s}.btn-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-view{background:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .75rem}.btn-view:hover{background:#138496}.btn-edit{background:#ffc107;border:none;border-radius:4px;color:#333;cursor:pointer;font-size:.75rem;padding:.25rem .75rem}.btn-edit:hover{background:#e0a800}.btn-delete{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .75rem}.btn-delete:hover{background:#c82333}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-large{max-width:800px}.modal-small{max-width:400px}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{font-size:1.25rem;margin:0}.modal-close{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;width:30px}.modal-close:hover{color:#333}.modal-body{padding:1.5rem}.modal-actions{border-top:1px solid #dee2e6;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;padding:.75rem;width:100%}.form-group textarea{min-height:80px;resize:vertical}.form-actions{border-top:1px solid #dee2e6;display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.detail-section{margin-bottom:1.5rem}.detail-section h3{color:#333;font-size:1.1rem;margin-bottom:1rem}.detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.detail-item{gap:.25rem}.detail-item label{color:#666;font-size:.85rem;font-weight:600}.detail-item a,.detail-item span{color:#333;font-size:.9rem;word-break:break-word}.detail-item a{color:#667eea;text-decoration:none}.detail-item a:hover{text-decoration:underline}.pagination{align-items:center;border-top:1px solid #dee2e6;display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding-top:1.5rem}.pagination button{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem}.pagination button:hover:not(:disabled){background:#5568d3}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination span{color:#666;font-size:.9rem}.error-message{background:#f8d7da;border-radius:4px;color:#721c24;margin-bottom:1rem;padding:1rem}.loading{color:#666;padding:2rem;text-align:center}.admin-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.admin-page-header h1{color:#333;font-size:1.75rem;margin:0}.admin-page-header p{color:#666;font-size:.9rem;margin:.5rem 0 0}.admin-effects-page{min-height:100vh;padding:2rem}.effect-id{color:#666;font-family:monospace;font-size:.8rem;max-width:200px}.effect-id,.effect-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effect-name{color:#333;font-weight:500;max-width:250px}.effect-url a{color:#667eea;text-decoration:none}.effect-url a:hover{text-decoration:underline}.effect-actions{display:flex;gap:.5rem}.detail-json{background:#f8f9fa;border-radius:6px;font-size:.85rem;max-height:300px;overflow-x:auto;overflow-y:auto;padding:1rem}.detail-item-full{margin-top:1rem}.detail-item-full label{color:#333;display:block;font-weight:600;margin-bottom:.5rem}.detail-item.full-width{grid-column:1/-1}.admin-backgrounds-page{min-height:100vh;padding:2rem}.background-id{color:#666;font-family:monospace;font-size:.8rem;max-width:200px}.background-id,.background-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.background-name{color:#333;font-weight:500;max-width:250px}.color-preview{border:1px solid #ddd;border-radius:4px;display:inline-block;height:30px;margin-right:.5rem;vertical-align:middle;width:30px}.background-actions{display:flex;gap:.5rem}.file-upload-section{display:flex;flex-direction:column;gap:.75rem}.file-upload-controls{align-items:center;display:flex;gap:.75rem}.file-upload-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.file-upload-btn:hover:not(:disabled){background:#5568d3;transform:translateY(-1px)}.file-upload-btn:disabled{cursor:not-allowed;opacity:.6}.file-name{color:#666;flex:1 1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-divider{align-items:center;display:flex;gap:.5rem;margin:.5rem 0}.file-upload-divider:after,.file-upload-divider:before{background:#ddd;content:"";flex:1 1;height:1px}.file-upload-divider span{color:#999;font-size:.85rem;padding:0 .5rem}.image-preview{margin-top:.5rem}.image-preview img{border:1px solid #ddd;border-radius:6px;max-height:300px;max-width:100%;object-fit:contain}.thumbnail-preview{margin-top:.5rem}.thumbnail-preview img{border:1px solid #ddd;border-radius:6px;max-height:200px;max-width:200px;object-fit:cover}.admin-categories-page{min-height:100vh;padding:2rem}.category-id{color:#666;font-family:monospace;font-size:.8rem;max-width:200px}.category-id,.category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-name{color:#333;font-weight:500;max-width:250px}.category-actions{display:flex;gap:.5rem}.admin-users-page{min-height:100vh;padding:2rem}.user-id{color:#666;font-family:monospace;font-size:.8rem}.user-id,.user-username{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-username{color:#333;font-weight:500}.modal-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.cancel-btn{background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;color:#4a5568}.cancel-btn:hover{background:#f7fafc;border-color:#cbd5e0;color:#2d3748}.confirm-btn{background:#fff5f5;border:1px solid #feb2b2;color:#c53030}.confirm-btn:hover:not(:disabled){background:#c53030;border-color:#c53030;color:#fff;transform:translateY(-1px)}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 6px #667eea40;color:#fff}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd6,#683999);box-shadow:0 6px 12px #667eea59;transform:translateY(-2px)}.btn-submit:disabled,.confirm-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.level-badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.level-0{background:#e3f2fd;color:#1976d2}.level-1{background:#fff3e0;color:#f57c00}.level-2{background:#f3e5f5;color:#7b1fa2}.status-active{background:#d4edda;color:#155724}.status-inactive{background:#f8d7da;color:#721c24}.user-actions{display:flex;gap:.5rem}.admin-payments-page{padding:24px}.payment-image-thumb{border:1px solid #ddd;border-radius:4px;cursor:pointer;height:50px;object-fit:cover;width:50px}.modal-image-preview{display:block;margin:0 auto;max-height:80vh;max-width:100%;object-fit:contain}.payment-status-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px}.payment-status-pending{background-color:#fff7e6;border:1px solid #ffd591;color:#fa8c16}.payment-status-success{background-color:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.admin-modal-large{max-width:800px}.admin-statistics-page{min-height:100vh;padding:2rem}.statistics-filters{align-items:flex-end;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem}.statistics-filters .filter-group{display:flex;flex-direction:column;gap:.5rem}.statistics-filters .filter-group label{color:#666;font-size:.85rem;font-weight:500}.statistics-filters .filter-group input{border:1px solid #ddd;border-radius:6px;font-size:.9rem;padding:.5rem .75rem}.filter-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1.5rem;transition:all .2s}.filter-btn:hover:not(:disabled){background:#5568d3}.filter-btn:disabled{cursor:not-allowed;opacity:.5}.statistics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:1rem;padding:1.5rem;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;font-size:2.5rem;height:60px;justify-content:center;width:60px}.stat-content{flex:1 1}.stat-content h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 .5rem}.stat-number{color:#667eea;font-size:2rem;font-weight:700;margin:0 0 .25rem}.stat-label{color:#666;font-size:.85rem;margin:0}.statistics-charts{margin-top:2rem}.chart-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.chart-card h3{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.chart-placeholder{background:#f8f9fa;border:2px dashed #ddd;border-radius:8px;padding:4rem 2rem;text-align:center}.chart-placeholder p{color:#666;font-size:1rem;margin:0 0 .5rem}.chart-placeholder small{color:#999;font-size:.85rem}.pricing-page{background:linear-gradient(180deg,#fff5f8,#fafafa);margin:0 auto;max-width:100%;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:0}.pricing-page-content{margin:0 auto;max-width:1400px;padding:2rem}body:has(.pricing-page){height:auto!important;overflow-y:auto!important}#root:has(.pricing-page){height:auto!important;overflow-y:auto!important}.pricing-breadcrumb{color:#666;font-size:.9rem;margin-bottom:1.5rem}.breadcrumb-separator{color:#999;margin:0 .5rem}.pricing-header{margin-bottom:2rem;text-align:center}.pricing-title{color:#333;display:inline-block;font-size:2.5rem;font-weight:700;margin-bottom:1rem;position:relative}.pricing-title:after,.pricing-title:before{background:linear-gradient(90deg,#ff6b9d,#c44569);content:"";height:2px;position:absolute;top:50%;width:30px}.pricing-title:before{left:-50px}.pricing-title:after{right:-50px}.pricing-subtitle{color:#666;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:800px}.promotion-banner{background:linear-gradient(135deg,#ff9a9e,#fecfef);border-radius:16px;box-shadow:0 4px 20px #ff9a9e4d;margin-bottom:3rem;padding:2rem;text-align:center}.promotion-content{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:.5rem}.promotion-icon{font-size:1.5rem}.promotion-title{color:#fff;font-size:1.5rem;font-weight:700;margin:0}.promotion-text{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.promotion-timer{align-items:center;color:#fff;display:flex;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center}.timer-icon{font-size:1.2rem}.pricing-plans{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:2rem}.pricing-card{background:#fff;border:2px solid #e0e0e0;border-radius:16px;box-shadow:0 2px 10px #0000000d;padding:2rem;position:relative;transition:all .3s ease}.pricing-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.pricing-card.current-plan{border-color:#4caf50;box-shadow:0 4px 20px #4caf5033}.pricing-card.basic-plan{border-color:#2196f3}.pricing-card.premium-plan,.pricing-card.pro-plan{border-color:#ff9800}.plan-badges{display:flex;flex-direction:column;gap:.5rem;position:absolute;right:1rem;top:1rem}.plan-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:.4rem .8rem;text-transform:uppercase}.plan-badge.green-badge{background:#4caf50;color:#fff}.plan-badge.blue-badge{background:#2196f3;color:#fff}.plan-badge.orange-badge,.plan-badge.special-badge{background:#ff9800;color:#fff}.plan-header{border-bottom:2px solid #f0f0f0;margin-bottom:2rem;padding-bottom:1.5rem}.plan-name{font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.free-plan .plan-name{color:#4caf50}.basic-plan .plan-name{color:#2196f3}.premium-plan .plan-name{align-items:center;color:#ff9800;display:flex;gap:.5rem}.premium-plan .plan-name:before{content:"👑";font-size:1.5rem}.pro-plan .plan-name{align-items:center;color:#ff9800;display:flex;gap:.5rem}.pro-plan .plan-name:before{content:"👑";font-size:1.5rem}.plan-name-vi{color:#666;font-size:1rem;margin-bottom:1rem}.plan-price-section{margin-top:1rem}.plan-price-row{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.plan-price{color:#e91e63;font-size:2rem;font-weight:700}.basic-plan .plan-price{color:#2196f3}.premium-plan .plan-price{color:#ff9800}.discount-badge{background:#f44336;border-radius:12px;color:#fff;font-size:.9rem;font-weight:600;padding:.3rem .8rem}.plan-original-price{color:#999;font-size:1.2rem;margin-bottom:.5rem;text-decoration:line-through}.plan-timer{align-items:center;color:#666;display:flex;font-size:.85rem;gap:.5rem;margin-top:.5rem}.plan-section{margin-bottom:1.5rem}.section-title{color:#9c27b0;font-size:1rem;margin-bottom:1rem}.section-list{list-style:none;margin:0;padding:0}.section-list li{align-items:flex-start;color:#555;display:flex;font-size:.9rem;padding:.5rem 0}.list-label{color:#666;flex:1 1}.list-value{color:#333;font-weight:600}.features-list li{align-items:center;display:flex;gap:.5rem}.feature-icon{color:#4caf50;flex-shrink:0;font-size:1.1rem;font-weight:700}.plan-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:1rem;transition:all .3s ease;width:100%}.plan-button.green-button{background:#4caf50;color:#fff}.plan-button.green-button:hover:not(:disabled){background:#45a049}.plan-button.red-button{background:#f44336;color:#fff}.plan-button.red-button:hover:not(:disabled){background:#da190b}.plan-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.pricing-plans{grid-template-columns:1fr}.pricing-title{font-size:2rem}.pricing-title:after,.pricing-title:before{display:none}}.upgrade-page{background:#fff;margin:0 auto;max-width:1200px;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:2rem}body:has(.upgrade-page){height:auto!important;overflow-y:auto!important}#root:has(.upgrade-page){height:auto!important;overflow-y:auto!important}.back-button{align-items:center;background:none;border:none;color:#2196f3;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;margin-bottom:1rem;padding:.5rem 0;transition:color .2s}.back-button:hover{color:#1976d2}.upgrade-header{margin-bottom:3rem;text-align:center}.upgrade-title{color:#333;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.upgrade-subtitle{color:#666;font-size:1.1rem}.section-title{font-size:1.5rem}.upgrade-info-section{margin-bottom:3rem}.plan-comparison{align-items:stretch;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.plan-card{background:#fff;border:2px solid #e0e0e0;border-radius:16px;display:flex;flex-direction:column;min-width:280px;padding:2rem;position:relative;text-align:center}.current-plan-card{border-color:#4caf50}.upgrade-plan-card{border-color:#2196f3}.premium-plan-card{border-color:#ff9800}.plan-card-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:.4rem .8rem;position:absolute;right:1rem;text-transform:uppercase;top:1rem}.plan-card-badge.green-badge{background:#4caf50;color:#fff}.plan-card-badge.basic-badge{background:#2196f3;color:#fff}.plan-card-badge.premium-badge{background:#ff9800;color:#fff}.plan-card-name{font-size:1.8rem;font-weight:700;margin-bottom:.5rem;margin-top:1rem}.current-plan-card .plan-card-name{color:#4caf50}.upgrade-plan-card .plan-card-name{color:#2196f3}.premium-plan-card .plan-card-name{color:#ff9800}.plan-card-name-vi{color:#666;font-size:1rem;margin-bottom:1rem}.plan-card-price{align-items:center;display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.current-price{color:#f44336;font-size:2rem;font-weight:700}.upgrade-plan-card .current-price{color:#2196f3}.premium-plan-card .current-price{color:#ff9800}.original-price{color:#999;font-size:1.2rem;text-decoration:line-through}.discount-percent{background:#2196f3;border-radius:12px;color:#fff;font-size:.9rem;font-weight:600;padding:.3rem .8rem}.premium-plan-card .discount-percent{background:#ff9800}.plan-card-timer{align-items:center;color:#666;display:flex;font-size:.85rem;gap:.5rem;justify-content:center;margin-top:1rem}.plan-arrow{color:#999;font-size:2rem}.feature-details-section{margin-bottom:3rem}.feature-category{margin-bottom:2rem}.category-title{color:#9c27b0;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.feature-list{list-style:none;margin:0;padding:0}.feature-item{align-items:flex-start;display:flex;font-size:.95rem;padding:.5rem 0}.feature-item.included{color:#333}.feature-item.excluded{color:#999}.feature-bullet{color:#4caf50;flex-shrink:0;font-weight:700;margin-right:.5rem}.feature-item.excluded .feature-bullet{color:#f44336}.activation-note{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;color:#1976d2;font-size:.95rem;margin-top:1.5rem;padding:1rem}.discount-section{background:#f5f5f5;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.discount-title{align-items:center;color:#333;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.discount-icon{font-size:1.3rem}.discount-input-group{display:flex;gap:1rem}.discount-input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:1rem;outline:none;padding:.75rem 1rem;transition:border-color .2s}.discount-input:focus{border-color:#2196f3}.discount-apply-btn{align-items:center;background:#e91e63;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:background .2s}.discount-apply-btn:hover{background:#c2185b}.discount-applied{color:#4caf50;font-weight:600;margin-top:1rem}.payment-section{background:#fff;border:2px solid #e0e0e0;text-align:center}.final-price{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.price-label{color:#666;font-size:1.2rem}.price-value{color:#f44336;font-size:2rem;font-weight:700}.payment-button{background:#f44336;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;max-width:500px;padding:1.2rem;transition:background .2s;width:100%}.payment-button:hover{background:#da190b}@media (max-width:768px){.plan-comparison{flex-direction:column}.plan-arrow{transform:rotate(90deg)}.discount-input-group{flex-direction:column}.discount-apply-btn{justify-content:center;width:100%}}.payment-page{background:#fff;margin:0 auto;max-width:1000px;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:2rem}body:has(.payment-page){height:auto!important;overflow-y:auto!important}#root:has(.payment-page){height:auto!important;overflow-y:auto!important}.payment-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.payment-title{color:#333;font-size:2rem;font-weight:700;margin:0}.payment-status{align-items:center;display:flex;gap:1rem}.status-badge{border-radius:20px;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.status-badge.pending{background:#ff9800;color:#fff}.status-badge.completed{background:#4caf50;color:#fff}.status-badge.failed{background:#f44336;color:#fff}.time-remaining{color:#666;font-size:.9rem;font-weight:600}.cancel-button{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.cancel-button:hover{background:#e0e0e0}.payment-section{background:#f5f5f5;border-radius:16px;margin-bottom:2rem;padding:2rem}.section-title{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:1.5rem}.qr-container{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.qr-code-wrapper{align-items:center;display:flex;flex-direction:column;gap:1rem}.qr-code-box{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:1.5rem;position:relative}.qr-heart{font-size:2rem;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.payment-provider{margin-top:.5rem}.provider-logo{color:#333;font-size:1.2rem;font-weight:700}.bank-logos{display:flex;gap:1rem;margin-top:.5rem}.bank-logo{color:#666;font-size:.85rem;font-weight:500}.qr-instruction{color:#666;font-size:.9rem;margin-top:.5rem;text-align:center}.payment-details{gap:1.5rem}.detail-item,.payment-details{display:flex;flex-direction:column}.detail-item{gap:.5rem}.detail-label{color:#666;font-size:.9rem;font-weight:500}.detail-value{color:#333;font-size:1.1rem;font-weight:600}.detail-value.amount{color:#f44336;font-size:1.5rem;font-weight:700}.detail-value-group{align-items:center;display:flex;gap:.5rem}.copy-button{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:background .2s}.copy-button:hover{background:#1976d2}.bank-info{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.info-item{border-bottom:1px solid #e0e0e0;justify-content:space-between;padding:.75rem 0}.info-label{color:#666;font-size:.95rem;font-weight:500}.info-value{font-size:1rem}.info-value-group{align-items:center;display:flex;gap:.5rem}.payment-details-manual{background:#fff;flex-direction:column;gap:1rem;padding:1.5rem}.payment-details-manual,.payment-note{border-radius:8px;display:flex;margin-bottom:1rem}.payment-note{align-items:flex-start;background:#fff3cd;border-left:4px solid #ffc107;color:#856404;font-size:.9rem;gap:.5rem;padding:1rem}.note-icon{flex-shrink:0;font-size:1.2rem}.confirmation-message{color:#666;font-size:.9rem;font-style:italic;text-align:center}@media (max-width:768px){.payment-header{align-items:flex-start;flex-direction:column}.qr-container{grid-template-columns:1fr}.info-item{align-items:flex-start;flex-direction:column;gap:.5rem}.info-value-group{justify-content:space-between;width:100%}}.contact-page{background:#fdfdfd;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;width:100%}.contact-main{background:radial-gradient(circle at 10% 20%,#e91e630d 0,#0000 40%),radial-gradient(circle at 90% 80%,#471aff0d 0,#0000 40%);flex:1 1;padding:40px 20px}.contact-container{margin:0 auto;max-width:1000px}.contact-header{margin-bottom:48px;text-align:center}.contact-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#161617,#4a4a4b);-webkit-background-clip:text;background-clip:text;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:36px;font-weight:800;margin-bottom:16px}.contact-subtitle{color:#666;font-size:16px;line-height:1.6;margin:0 auto;max-width:600px}.contact-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:60px}.contact-card{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:24px;box-shadow:0 10px 40px -10px #00000014;color:inherit;display:flex;flex-direction:column;overflow:hidden;padding:32px;position:relative;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.contact-card:hover{box-shadow:0 20px 50px -12px #0000001f;transform:translateY(-8px)}.zalo-card:hover{border-color:#0068ff}.fb-card:hover{border-color:#1877f2}.contact-icon{align-items:center;border-radius:16px;display:flex;font-size:24px;font-weight:800;height:56px;justify-content:center;margin-bottom:20px;width:56px}.zalo-icon{background:#e6f0ff;color:#0068ff}.fb-icon{background:#e7f3ff;color:#1877f2}.card-title{color:#1a1a1a;font-size:20px;font-weight:700;margin-bottom:8px}.card-desc{color:#666;font-size:14px;margin-bottom:24px}.card-action{border-radius:50px;font-size:15px;font-weight:600;padding:10px 24px;transition:all .2s}.zalo-card .card-action{background:#0068ff1a;color:#0068ff}.fb-card .card-action{background:#1877f21a;color:#1877f2}.zalo-card:hover .card-action{background:#0068ff;color:#fff}.fb-card:hover .card-action{background:#1877f2;color:#fff}.contact-info-section{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000a;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-around;padding:32px}.info-item{align-items:center;display:flex;flex-direction:column;gap:8px}.info-label{color:#888;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.info-value{color:#333;font-size:16px;font-weight:600}@media (max-width:768px){.contact-title{font-size:28px}.contact-info-section{align-items:center;flex-direction:column}}.template-list-page{background-color:#f8f9fa;min-height:100vh}.template-list-main{padding:24px 0 60px}.template-list-main .container{margin:0 auto;max-width:1600px;padding:0 24px}.breadcrumb{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000008;color:#888;font-family:Inter,sans-serif;font-size:13px;margin-bottom:40px;padding:12px 20px;width:-webkit-fit-content;width:fit-content}.breadcrumb,.breadcrumb-item{align-items:center;display:flex}.breadcrumb-item{color:#666;font-weight:400;gap:6px;text-decoration:none;transition:all .2s ease}.breadcrumb-item:hover{color:#e91e63}.breadcrumb-item svg{color:currentColor;height:16px;margin-top:-1px;width:16px}.breadcrumb-separator{color:#ddd;font-size:12px;font-weight:300;margin:0 12px}.breadcrumb-item.active{color:#999;font-weight:400;pointer-events:none}.page-title{color:#343a40;display:none;font-size:28px;font-weight:700;margin-bottom:32px}.templates-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding-bottom:40px}.template-item{perspective:1000px}.template-card{background:#fff;border-radius:24px;box-shadow:0 10px 30px -10px #00000026;cursor:pointer;height:auto;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.template-card:hover{box-shadow:0 20px 40px -10px #00000040;transform:translateY(-10px)}.template-preview{aspect-ratio:2/3;background:#f0f0f0;overflow:hidden;position:relative;width:100%}.template-preview img{height:100%;left:0;object-fit:cover;object-position:center;position:absolute;top:0;transition:transform .6s ease;width:100%}.template-card:hover .template-preview img{transform:scale(1.1)}.template-thumbnail-html{background:#fff;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.template-thumbnail-iframe{background:#fff;border:none;display:block;height:250%;left:0;pointer-events:none;position:absolute;top:0;transform:scale(.4);transform-origin:top left;width:250%}.template-thumbnail-iframe-overlay{background:#0000;bottom:0;left:0;position:absolute;right:0;top:0;z-index:5}.template-overlay{align-items:center;background:#0000004d;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%;z-index:20}.template-card:hover .template-overlay{opacity:1}.view-btn{background:#fff;border:none;border-radius:30px;box-shadow:0 8px 20px #0003;color:#333;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:600;padding:12px 32px;transform:translateY(20px);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.view-btn:hover{background:#e91e63;box-shadow:0 10px 25px #e91e6366;color:#fff;transform:translateY(0) scale(1.05)}.template-card:hover .view-btn{transform:translateY(0)}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:100px 0}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e91e631a;border-radius:50%;border-top-color:#e91e63;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.retry-btn{background:#e91e63;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 24px}@media (max-width:768px){.templates-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.template-badge{font-size:9px;padding:4px 10px}.view-btn{font-size:13px;padding:10px 24px}}.floating-support-widget{bottom:24px;display:flex;flex-direction:column;gap:16px;position:fixed;right:24px;z-index:9999}.support-btn-floating{align-items:center;background:#fff;border-radius:50%;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:56px;justify-content:center;text-decoration:none;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);width:56px}.support-btn-floating:hover{transform:scale(1.1)}.zalo-btn{background:#0068ff;font-family:Arial,sans-serif}.messenger-btn,.zalo-btn{border:2px solid #fff;color:#fff}.messenger-btn{background:linear-gradient(45deg,#00b2ff,#006aff)}.zalo-text{font-size:16px;font-weight:800}.error-boundary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-boundary-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:600px;padding:40px;text-align:center;width:100%}.error-boundary-icon{font-size:64px;margin-bottom:20px}.error-boundary-title{color:#333;font-size:28px;font-weight:700;margin:0 0 16px}.error-boundary-message{color:#666;font-size:16px;line-height:1.6;margin:0 0 24px}.error-boundary-details{background:#f5f5f5;border-radius:8px;margin:24px 0;padding:16px;text-align:left}.error-boundary-details summary{color:#333;cursor:pointer;font-weight:600;margin-bottom:12px}.error-boundary-stack{background:#fff;border-radius:4px;color:#d32f2f;font-size:12px;margin:12px 0 0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-all}.error-boundary-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.error-boundary-button{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.error-boundary-button-primary{background:#667eea;color:#fff}.error-boundary-button-primary:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.error-boundary-button-secondary{background:#f5f5f5;color:#333}.error-boundary-button-secondary:hover{background:#e0e0e0;transform:translateY(-2px)}.error-boundary-button:active{transform:translateY(0)}@media (max-width:640px){.error-boundary-content{padding:24px}.error-boundary-title{font-size:24px}.error-boundary-actions{flex-direction:column}.error-boundary-button{width:100%}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{color:inherit}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:Fira Code,Courier New,monospace;font-size:1em;font-variation-settings:normal}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.isolate{isolation:isolate}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.grayscale{--tw-grayscale:grayscale(100%)}.grayscale,.sepia{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.btn-primary{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#7c3aed;background-color:rgb(124 58 237/var(--tw-bg-opacity,1));border-radius:.5rem;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1));font-weight:500;padding:.5rem 1rem;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.btn-primary:hover{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);background-color:#6d28d9;background-color:rgb(109 40 217/var(--tw-bg-opacity,1));box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.btn-secondary{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));border-radius:.5rem;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1));font-weight:500;padding:.5rem 1rem;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.btn-secondary:hover{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}html{font-size:16px;line-height:1.45;scroll-behavior:smooth}body,html{-webkit-font-smoothing:antialiased}body{background-color:var(--background-color);color:var(--text-dark-high-emphasis);font-family:var(--font-family-ibm-sans);font-size:var(--font-regular-size);font-weight:400;height:100vh;-webkit-hyphens:auto;hyphens:auto;line-height:180%;overflow-x:hidden;overflow-y:auto;word-break:break-word}@font-face{font-display:swap;font-family:GT Walsheim Pro;font-style:normal;font-weight:900;src:url(/static/media/GTWalsheimPro-Black.d1a05b37fac1e43eae61.woff) format("woff"),url(/static/media/GTWalsheimPro-Black.3fa5ee7f8e647720d2fb.woff2) format("woff2"),url(/static/media/GTWalsheimPro-Black.2dc24aec84cddc57c649.ttf) format("truetype")}@font-face{font-display:swap;font-family:GT Walsheim Pro;font-style:normal;font-weight:700;src:url(/static/media/GTWalsheimPro-Bold.6ead5fc9d23b21a10d0a.woff) format("woff"),url(/static/media/GTWalsheimPro-Bold.6b113f6b3bd165884e16.woff2) format("woff2"),url(/static/media/GTWalsheimPro-Bold.2dbf49e9fcb548837711.ttf) format("truetype")}@font-face{font-display:swap;font-family:GT Walsheim Pro;font-style:normal;font-weight:800;src:url(/static/media/GTWalsheimPro-Black.d1a05b37fac1e43eae61.woff) format("woff"),url(/static/media/GTWalsheimPro-Black.3fa5ee7f8e647720d2fb.woff2) format("woff2"),url(/static/media/GTWalsheimPro-Black.2dc24aec84cddc57c649.ttf) format("truetype")}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:url(/static/media/IBMPlexSans-Regular.d77342fdcbcb6b3ce1b5.ttf) format("truetype")}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:500;src:url(/static/media/IBMPlexSans-Medium.56fb541cbbc5462f1c33.ttf) format("truetype")}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:600;src:url(/static/media/IBMPlexSans-SemiBold.f2e690b59fb90d236c08.ttf) format("truetype")}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:700;src:url(/static/media/IBMPlexSans-Bold.e933eba4e2fcc3d71b31.ttf) format("truetype")}.h1{font-size:60px;line-height:68px}.h1,.h2{color:var(--ci-foreground-black-default);font-family:var(--font-family-gt);font-weight:700;letter-spacing:-.01em}.h2{font-size:52px;line-height:60px}.h3{font-size:36px;line-height:44px}.h3,.h4{color:var(--ci-foreground-black-default);font-family:var(--font-family-gt);font-weight:700}.h4{font-size:22px;letter-spacing:.01em;line-height:32px}.h5{color:var(--text-dark-high-emphasis);font-family:var(--font-family-gt);font-size:16px;font-weight:700;letter-spacing:.02em;line-height:20px}.subheader{font-size:16px;font-weight:400;letter-spacing:.03em;line-height:24px;text-transform:uppercase}.paragraphBig,.subheader{color:var(--ci-foreground-black-default);font-family:var(--font-family-ibm-sans)}.paragraphBig{font-size:22px;font-weight:500;line-height:32px}.paragraph{color:var(--ci-foreground-black-default);font-size:18px;letter-spacing:.01em;line-height:28px}.paragraph,.paragraphSmall{font-family:var(--font-family-ibm-sans);font-weight:400}.paragraphSmall{color:#161617a6;font-size:14px;letter-spacing:.02em;line-height:20px}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif;height:100%}body{font-feature-settings:"kern";min-height:100%;position:relative}*,:after,:before{border-style:solid;border-width:0;box-sizing:border-box}main{display:block}hr{border-top-width:1px;box-sizing:initial;height:0;overflow:visible}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-regular-size)}a{background-color:initial;color:inherit;text-decoration:inherit}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:700}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:initial}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{-webkit-appearance:none!important;appearance:none!important}[type=search],input[type=number]{-webkit-appearance:textfield;appearance:textfield}[type=search]{outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none!important;appearance:none!important}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none!important}blockquote,body,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:initial;padding:0}fieldset,ol,ul{margin:0;padding:0}textarea{resize:vertical}[role=button],button{cursor:pointer}button::-moz-focus-inner{border:0!important}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}button,input,optgroup,select,textarea{color:inherit;line-height:inherit;padding:0}audio,canvas,embed,iframe,img,object,svg,video{display:block}img,video{height:auto;max-width:100%}[data-js-focus-visible] :focus:not([data-focus-visible-added]){box-shadow:none;outline:none}:focus{-webkit-tap-highlight-color:transparent;outline:none;touch-action:manipulation}:root{--primary-color:#471aff;--primary-pink:#e91e63;--primary-pink-dark:#c2185b;--primary-pink-light:#f8bbd0;--primary-purple:#667eea;--primary-purple-dark:#764ba2;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-pink:linear-gradient(135deg,#e91e63,#c2185b);--gradient-purple:linear-gradient(135deg,#667eea,#764ba2);--gradient-rainbow:linear-gradient(135deg,#667eea,#764ba2 50%,#e91e63);--gradient-soft:linear-gradient(135deg,#667eea1a,#764ba21a);--background-color:#fafafa;--background-white:#fff;--background-gray:#f5f5f5;--background-gray-light:#f9f9f9;--background-glass:#ffffffb3;--background-glass-dark:#ffffff1a;--text-primary:#1a1a1a;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-light:#fff;--border-color:#00000080;--border-light:#00000014;--border-medium:#0000001f;--border-dark:#0003;--divider-color:#80808033;--overlay-bg:#00000080;--overlay-light:#0000001a;--overlay-glass:#ffffff1a;--backdrop-blur:blur(20px);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 4px #00000014,0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000001a,0 2px 4px #0000000f;--shadow-lg:0 8px 24px #0000001f,0 4px 8px #00000014;--shadow-xl:0 16px 48px #00000026,0 8px 16px #0000001a;--shadow-2xl:0 24px 64px #0003,0 12px 24px #0000001f;--shadow-colored:0 8px 24px #667eea40;--shadow-pink:0 8px 24px #e91e6340;--shadow-inner:inset 0 2px 4px #0000000f;--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition-base:0.2s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.3s cubic-bezier(0.4,0,0.2,1);--transition-bounce:0.4s cubic-bezier(0.68,-0.55,0.265,1.55);--transition-smooth:0.5s cubic-bezier(0.4,0,0.2,1);--animation-fast:0.2s;--animation-base:0.3s;--animation-slow:0.5s;--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--z-max:9999;--glass-bg:#ffffff1a;--glass-border:#fff3;--glass-shadow:0 8px 32px #0000001a;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-0.025em;--letter-spacing-normal:0;--letter-spacing-wide:0.025em;--letter-spacing-wider:0.05em;--button-primary-hover-bg:#6038ff;--button-primary-shadow:0 0.25rem 0.625rem 1px #2f12a540;--button-primary-hover-shadow:0 0.25rem 0.625rem 1px #2f12a566;--button-border:none;--button-high-emphasis-bg:var(--primary-color);--button-secondary-bg:#16161714;--button-secondary-hover-bg:#1616171f;--button-dark-bg:#161617;--button-dark-shadow:0 0.25rem 0.625rem 1px #1616171f;--button-dark-hover-bg:#5c5c5c;--button-light-bg:#fff;--button-light-shadow:0 0.25rem 0.25rem #0000000a;--button-light-hover-bg:#e0e0e0;--button-flat-opacity:0.75;--breadcrumbs-opacity:0.75;--code-bg:#fff;--code-header-bg:#f4f4f4;--code-border:1px solid #c8c8c8;--code-line-number-color:grey;--inline-code-border:1px solid #471aff1a;--inline-code-bg:#f5f2ff;--code-line-highlight-color:#471aff1a;--code-text-hover-bg:#1616171f;--code-max-width:1.2;--interactive-text-indicator-hover-shadow:0 0 0 0.125rem var(--code-text-hover-bg);--interactive-text-indicator-active-shadow:0 0 0 0.125rem var(--primary-color);--interactive-text-indicator-border:1px solid #c8c8c8;--interactive-text-indicator-border-opacity:0.5;--blockquote-color:#16161780;--blockquote-bg:#f4f4f4;--blockquote-shadow:inset 2px 0 0 #c8c8c8;--text-light-high-emphasis:#fff;--text-dark-high-emphasis:#161617;--link-hover-opacity:0.5;--link-active-color:#43464d;--input-color:#495057;--input-bg:#fff;--input-border:1px solid #16161780;--input-focus-shadow:0 0 0 4px #471aff80;--toggle-bg:#ccc;--toggle-thumb-bg:#fff;--font-family-gt:GT Walsheim Pro,sans-serif;--font-family-ibm-sans:IBM Plex Sans,SpockEss-Bold,sans-serif;--ci-interactive-default:#16161714;--ci-accent-primary:#471aff;--ci-accent-primary-alternative:#00ffb7;--ci-accent-ce-sdk:#ad00ff;--ci-accent-ve-sdk:#f20c5f;--ci-accent-pe-sdk:#ff5c00;--ci-accent-gradient:linear-gradient(90deg,#471aff,#ad00ff 44.93%,#f20c5f 71.27%,#ff5c00 99.15%);--ci-surface-elevation-1:#f4f4f4;--ci-foreground-black-default:#161617;--ci-foreground-black-light:#161617a6;--ci-foreground-black-lighter:#16161740;--ci-foreground-white-default:#fff;--ci-foreground-white-light:#ffffffa6;--ci-foreground-white-lighter:#ffffff40;--ci-border-primary:#471aff4d;--ci-border-black:#1616174d;--ci-border-black-light:#16161714;--ci-border-white:#ffffff4d}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-grow{flex-grow:1}.flex-wrap{flex-wrap:wrap}.flex-basis-0{flex-basis:0}.space-x-1>*+*{margin-left:.25rem}.space-x-2>*+*{margin-left:.5rem}.space-x-3>*+*{margin-left:.75rem}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.75rem}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.items-center{align-items:center}.items-start{align-items:flex-start}.rounded{border-radius:.75rem}.mt-6{margin-top:1.5rem}.h-full{height:100%}.w-full{width:100%}.text-center{text-align:center}.gap-xs{gap:.5rem}.gap-sm{gap:1rem}.gap-md{gap:1.5rem}.gap-lg{gap:2rem}hr{color:#16161726}.select-wrapper{min-width:8.5rem;position:relative}.select-wrapper--small select{font-size:14px;letter-spacing:.02em;line-height:20px;padding:3px 24px 3px 8px}.select-wrapper:after{background-color:#000;-webkit-clip-path:polygon(100% 0,0 0,50% 100%);clip-path:polygon(100% 0,0 0,50% 100%);content:"";display:inline-block;height:.3125rem;justify-self:end;position:absolute;right:1rem;top:.8rem;width:.5rem}select{-webkit-appearance:none;appearance:none;background-color:initial;background-color:#fff;border:1px solid #1616174d;border-radius:6px;box-sizing:border-box;color:var(--ci-foreground-black-default);cursor:pointer;font-size:16px;font-weight:500;letter-spacing:.01em;line-height:24px;outline:none;padding:3px 12px;width:100%}select:hover{border:1px solid #161617cc}select option{color:#666;font-weight:400}.select--placeholder{color:#999}select::-ms-expand{display:none}select:focus::-ms-value{background-color:initial}input{border:1px solid #6d7379;border-radius:6px;box-shadow:inset 0 2px 4px #121a2129;font-size:16px;font-style:normal;font-weight:400;line-height:28px;padding:1px 12px}input::placeholder{color:#999}.button{align-items:center;border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;font-family:var(--font-family-ibm-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);justify-content:center;letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-normal);overflow:hidden;padding:var(--spacing-sm) var(--spacing-lg);position:relative;text-align:center;transition:all var(--transition-base)}.button:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.button:hover:before{height:300px;width:300px}.button--primary{background:var(--gradient-primary);box-shadow:var(--shadow-colored);color:var(--text-light-high-emphasis)}.button--primary:hover{box-shadow:var(--shadow-lg);filter:brightness(1.1);transform:translateY(-2px)}.button--primary:active{transform:translateY(0) scale(.98)}.button--primary:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.button--white{background-color:var(--background-white);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);color:var(--text-dark-high-emphasis)}.button--white:hover{background-color:var(--background-gray-light);border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.button--white:active{transform:translateY(0) scale(.98)}.button--white:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.button--ghost{background:#0000;color:var(--primary-color)}.button--ghost:hover{background:var(--gradient-soft);text-decoration:underline;transform:translateY(-1px)}.button--ghost:active{transform:translateY(0)}.button--ghost:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.button--light{background:var(--background-white);border:1px solid #471aff4d;box-shadow:var(--shadow-xs);color:var(--primary-color)}.button--light:hover{background:var(--gradient-soft);border-color:var(--primary-color);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.button--light:active{transform:translateY(0) scale(.98)}.button--light:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.button--light-white{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff80;box-shadow:var(--shadow-sm);color:#fff;opacity:.9}.button--light-white:focus,.button--light-white:hover{background:#fff3;border-color:#fff;box-shadow:var(--shadow-md);opacity:1;transform:translateY(-2px)}.button--light-white:active{transform:translateY(0) scale(.98)}.caseHeader{align-items:flex-start;display:flex;flex-direction:column;gap:.5rem;justify-content:flex-start;min-width:200px;text-align:left}.caseHeader>h3{color:#fff;font-family:GT Walsheim Pro;font-size:36px;font-weight:700;line-height:44px;text-align:center;width:100%}.caseHeader>p{color:#fff;display:none;font-family:IBM Plex Sans;font-size:18px;font-weight:400;letter-spacing:.01em;line-height:28px;max-width:60ch}@media (min-width:800px){.caseHeader{margin-bottom:2rem}.caseHeader--no-margin{margin-bottom:0}.caseHeader>p{display:block}.caseHeader>h3{text-align:left}}