@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Fira+Sans:wght@300;400;500;600;700&display=swap";.sidebar{width:var(--sidebar-width);background:var(--gradient-surface);border-right:1px solid var(--glass-border);z-index:100;height:100vh;transition:transform var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;left:0;box-shadow:2px 0 10px #0003}.sidebar-header{border-bottom:1px solid var(--glass-border);flex-direction:column;align-items:center;padding:1.5rem;display:flex;position:relative}.sidebar-logo{object-fit:contain;max-height:85px;margin-bottom:1rem}.sidebar-brand{text-align:center}.sidebar-brand h3{color:var(--text-primary);font-size:1.1rem;font-weight:700;line-height:1.2}.sidebar-brand span{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.sidebar-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;display:none;position:absolute;top:1rem;right:1rem}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1.5rem 1rem;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:1rem;padding:.8rem 1rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item.active{background:linear-gradient(90deg, rgba(var(--accent-rgb), .1), transparent);color:var(--accent-light)}.nav-item.active:before{content:"";background:var(--gradient-accent);border-radius:0 4px 4px 0;width:3px;height:80%;position:absolute;top:10%;left:0}.nav-icon{transition:transform var(--transition-fast);display:flex}.nav-item:hover .nav-icon{transform:scale(1.1)}.sidebar-footer{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.user-profile{align-items:center;gap:.75rem;display:flex}.user-avatar{background:var(--gradient-accent);color:#fff;width:40px;height:40px;box-shadow:0 0 10px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.user-info{flex-direction:column;display:flex}.user-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.user-role{margin-top:.2rem;padding:.1rem .5rem;font-size:.7rem}.logout-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;padding:.5rem}.logout-btn:hover{background:var(--danger-bg);color:var(--danger-light)}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;background:#00000080;display:none;position:fixed;inset:0}@media (width<=1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close,.sidebar-overlay.show{display:block}}.header{height:var(--header-height);background:var(--surface-0);border-bottom:1px solid var(--glass-border);z-index:50;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:1rem;display:flex}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;padding:.5rem;display:none}.mobile-menu-btn:hover{background:var(--surface-1)}.header-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.header-right{align-items:center;gap:1rem;display:flex}.notification-btn{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;padding:.5rem;position:relative}.notification-btn:hover{color:var(--text-primary);background:var(--surface-1)}.notification-badge{background:var(--danger);color:#fff;border:2px solid var(--surface-0);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.header-divider{background:var(--glass-border);width:1px;height:24px;margin:0 .5rem}.header-avatar{background:var(--gradient-primary);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:600;display:flex}.header-logo{object-fit:contain;height:32px;margin-left:.5rem}@media (width<=1024px){.mobile-menu-btn{display:block}.header{padding:0 1rem}.header-logo{display:none}}.layout-container{background-color:var(--bg-color);min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-base);flex-direction:column;flex-grow:1;display:flex}.content-area{flex-grow:1;width:100%;max-width:1400px;margin:0 auto;padding:24px 32px}@media (width<=1024px){.main-content{margin-left:0}.content-area{padding:16px}}.ppf{--purple:#7c3aed;--purple-d:#5b21b6;--blue:#2563eb;--sky:#0ea5e9;--green:#16a34a;--lime:#84cc16;--amber:#f59e0b;--orange:#f97316;--red:#ef4444;--pink:#ec4899;--ink:#211a47;--ink-soft:#4b4670;--muted:#6b6790;--line:#ebe7f5;--paper:#fff;--cloud:#f6f4fd;--cloud-2:#fbfafe;--rainbow:linear-gradient(90deg,#7c3aed,#2563eb,#0ea5e9,#16a34a,#f59e0b,#f97316,#ef4444);--shadow-sm:0 2px 8px #211a470f;--shadow-md:0 10px 30px #211a471a;--shadow-lg:0 30px 60px -20px #211a4747;--radius:22px;--radius-lg:32px;--maxw:1180px;--ease:cubic-bezier(.22,1,.36,1);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;position:relative;overflow-x:hidden}.ppf *{box-sizing:border-box;margin:0;padding:0}.ppf h1,.ppf h2,.ppf h3,.ppf .display{letter-spacing:-.01em;font-family:Fredoka,sans-serif;line-height:1.08}.ppf a{color:inherit;text-decoration:none}.ppf img{max-width:100%;display:block}.ppf section{position:relative}.ppf .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.ppf .center{text-align:center}.ppf .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--purple);background:#7c3aed17;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-family:Inter;font-size:.78rem;font-weight:700;display:inline-flex}.ppf .eyebrow .dot{background:var(--rainbow);border-radius:50%;width:8px;height:8px}.ppf .grad-text{background:var(--rainbow);color:#0000;-webkit-background-clip:text;background-clip:text}.ppf .btn{cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:15px 28px;font-family:Inter;font-size:1rem;font-weight:700;display:inline-flex}.ppf .btn svg{width:18px;height:18px}.ppf .btn-primary{color:#fff;background:linear-gradient(120deg,var(--purple),var(--blue));box-shadow:0 12px 24px -8px #7c3aed99}.ppf .btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 32px -8px #7c3aedb3}.ppf .btn-sun{color:#fff;background:linear-gradient(120deg,var(--orange),var(--red));box-shadow:0 12px 24px -8px #f973168c}.ppf .btn-sun:hover{transform:translateY(-3px);box-shadow:0 18px 32px -8px #f97316a6}.ppf .btn-ghost{color:var(--ink);border:1.5px solid var(--line);box-shadow:var(--shadow-sm);background:#fff}.ppf .btn-ghost:hover{border-color:var(--purple);color:var(--purple);transform:translateY(-3px)}.ppf .btn-white{color:var(--purple);background:#fff}.ppf .btn-white:hover{transform:translateY(-3px);box-shadow:0 18px 40px -10px #00000059}.ppf .nav{z-index:100;-webkit-backdrop-filter:saturate(180%)blur(18px);background:#ffffffb8;border-bottom:1px solid #0000;transition:border-color .3s,box-shadow .3s,background .3s;position:sticky;top:0}.ppf .nav.scrolled{border-color:var(--line);box-shadow:var(--shadow-sm)}.ppf .nav-in{justify-content:space-between;align-items:center;height:76px;display:flex}.ppf .brand{align-items:center;gap:12px;font-family:Fredoka;font-size:1.12rem;font-weight:600;display:flex}.ppf .brand img{width:auto;height:46px}.ppf .brand .bt{line-height:1.05}.ppf .brand .bt small{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:Inter;font-size:.66rem;font-weight:600;display:block}.ppf .nav-links{align-items:center;gap:6px;display:flex}.ppf .nav-links a{color:var(--ink-soft);border-radius:999px;padding:9px 15px;font-size:.94rem;font-weight:600;transition:color .2s,background .2s}.ppf .nav-links a:hover{color:var(--purple);background:var(--cloud)}.ppf .nav-cta{margin-left:10px}.ppf .nav-cta .btn{padding:11px 22px;font-size:.92rem}.ppf .burger{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;padding:8px;display:none}.ppf .burger span{background:var(--ink);border-radius:2px;width:24px;height:2.5px;transition:all .3s}.ppf .hero{padding:72px 0 90px;overflow:hidden}.ppf .hero-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ppf .hero>.wrap{z-index:1;position:relative}.ppf .blob{filter:blur(60px);opacity:.5;border-radius:50%;position:absolute}.ppf .blob.b1{background:radial-gradient(circle,#c4b5fd,#0000 70%);width:520px;height:520px;top:-160px;right:-120px}.ppf .blob.b2{background:radial-gradient(circle,#bae6fd,#0000 70%);width:460px;height:460px;top:120px;left:-180px}.ppf .blob.b3{background:radial-gradient(circle,#fed7aa,#0000 70%);width:400px;height:400px;bottom:-160px;right:20%}.ppf .hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;display:grid}.ppf .hero h1{margin:22px 0 20px;font-size:clamp(2.5rem,5.4vw,4.3rem);font-weight:700}.ppf .hero h1 .line{display:block}.ppf .hero p.lead{color:var(--ink-soft);max-width:540px;margin-bottom:16px;font-size:1.2rem}.ppf .hero .assurance{color:var(--green);align-items:center;gap:9px;margin-bottom:30px;font-size:.95rem;font-weight:600;display:flex}.ppf .hero-cta{flex-wrap:wrap;gap:14px;margin-bottom:34px;display:flex}.ppf .trust{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;font-size:.9rem;font-weight:500;display:flex}.ppf .trust .who{align-items:center;gap:8px;display:flex}.ppf .trust .who b{color:var(--ink)}.ppf .hero-visual{justify-content:center;align-items:center;min-height:460px;display:flex;position:relative}.ppf .logo-stage{aspect-ratio:1;width:100%;max-width:460px;box-shadow:var(--shadow-lg);background:radial-gradient(circle at 50% 45%,#fff,#f4f1fe);border:10px solid #fff;border-radius:50%;justify-content:center;align-items:center;animation:6s ease-in-out infinite ppfFloaty;display:flex;position:relative}.ppf .logo-stage:before{content:"";z-index:-1;filter:blur(2px);opacity:.9;background:conic-gradient(#7c3aed,#2563eb,#0ea5e9,#16a34a,#f59e0b,#f97316,#ef4444,#ec4899,#7c3aed);border-radius:50%;animation:16s linear infinite ppfSpin;position:absolute;inset:-10px;-webkit-mask:radial-gradient(circle,#0000 62%,#000 63%);mask:radial-gradient(circle,#0000 62%,#000 63%)}.ppf .logo-stage img{filter:drop-shadow(0 12px 20px #211a4724);width:86%}@keyframes ppfSpin{to{transform:rotate(360deg)}}@keyframes ppfFloaty{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.ppf .chip{box-shadow:var(--shadow-md);background:#fff;border-radius:16px;align-items:center;gap:11px;padding:12px 16px;font-size:.92rem;font-weight:700;animation:5s ease-in-out infinite ppfFloaty;display:flex;position:absolute}.ppf .chip .ic{border-radius:11px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:1.2rem;display:grid}.ppf .chip small{color:var(--muted);font-family:Inter;font-size:.72rem;font-weight:500;display:block}.ppf .chip.c1{animation-delay:.4s;top:14px;left:-8px}.ppf .chip.c2{animation-delay:1.1s;bottom:56px;left:-24px}.ppf .chip.c3{animation-delay:.7s;bottom:8px;right:0}.ppf .chip.c1 .ic{background:#16a34a1f}.ppf .chip.c2 .ic{background:#f9731624}.ppf .chip.c3 .ic{background:#2563eb1f}.ppf .stats{margin-top:14px}.ppf .stats-card{background:linear-gradient(120deg,var(--purple-d),var(--purple),var(--blue));border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-lg);grid-template-columns:repeat(4,1fr);gap:24px;padding:44px 40px;display:grid;position:relative;overflow:hidden}.ppf .stats-card:after{content:"";opacity:.14;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Ctext y='30' font-size='30'%3E%F0%9F%91%9F%3C/text%3E%3C/svg%3E") 0 0/90px;position:absolute;inset:0}.ppf .stat{z-index:1;text-align:center;position:relative}.ppf .stat .num{font-family:Fredoka;font-size:2.6rem;font-weight:700;line-height:1}.ppf .stat .lbl{opacity:.85;margin-top:6px;font-size:.9rem;font-weight:500}.ppf .stat+.stat{border-left:1px solid #ffffff2e}.ppf .section{padding:96px 0}.ppf .section.tint{background:var(--cloud)}.ppf .head{text-align:center;max-width:720px;margin:0 auto 56px}.ppf .head h2{margin:18px 0 16px;font-size:clamp(2rem,4vw,3rem);font-weight:700}.ppf .head p{color:var(--ink-soft);font-size:1.12rem}.ppf .feat-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.ppf .feat{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease);background:#fff;padding:32px 28px;position:relative;overflow:hidden}.ppf .feat:before{content:"";background:var(--rainbow);height:5px;position:absolute;top:0;left:0;right:0}.ppf .feat:hover{box-shadow:var(--shadow-md);transform:translateY(-8px)}.ppf .feat .fic{border-radius:16px;place-items:center;width:58px;height:58px;margin-bottom:18px;font-size:1.7rem;display:grid}.ppf .feat h3{margin-bottom:10px;font-size:1.28rem;font-weight:600}.ppf .feat p{color:var(--muted);font-size:.98rem}.ppf .c-purple{background:#7c3aed1a}.ppf .c-blue{background:#2563eb1a}.ppf .c-green{background:#16a34a1a}.ppf .c-orange{background:#f973161f}.ppf .c-pink{background:#ec48991a}.ppf .c-sky{background:#0ea5e91a}.ppf .steps{grid-template-columns:repeat(5,1fr);gap:16px;display:grid;position:relative}.ppf .steps:before{content:"";z-index:0;background:repeating-linear-gradient(90deg,var(--purple) 0 14px,transparent 14px 26px);opacity:.35;height:3px;position:absolute;top:38px;left:8%;right:8%}.ppf .step{z-index:1;text-align:center;padding:0 6px;position:relative}.ppf .step .bubble{width:78px;height:78px;box-shadow:var(--shadow-md);background:#fff;border:3px solid #fff;border-radius:50%;place-items:center;margin:0 auto 18px;font-size:2rem;display:grid;position:relative}.ppf .step .n{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-family:Fredoka;font-size:.9rem;font-weight:600;display:grid;position:absolute;top:-6px;right:-6px}.ppf .step h3{margin-bottom:7px;font-size:1.08rem;font-weight:600}.ppf .step p{color:var(--muted);font-size:.9rem}.ppf .split{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.ppf .check-list{gap:14px;margin-top:26px;display:grid}.ppf .check-list li{align-items:flex-start;gap:14px;list-style:none;display:flex}.ppf .check-list .ck{width:28px;height:28px;color:var(--green);background:#16a34a24;border-radius:50%;flex-shrink:0;place-items:center;margin-top:2px;display:grid}.ppf .check-list .ck svg{width:15px;height:15px}.ppf .check-list b{font-size:1.02rem;display:block}.ppf .check-list span{color:var(--muted);font-size:.94rem}.ppf .freq-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--line);background:#fff;padding:8px}.ppf .freq-inner{background:var(--cloud-2);border-radius:26px;padding:34px 32px}.ppf .freq-inner h3{margin-bottom:6px;font-size:1.3rem;font-weight:600}.ppf .freq-inner>p{color:var(--muted);margin-bottom:24px;font-size:.94rem}.ppf .gauge{gap:20px;display:flex}.ppf .g{text-align:center;flex:1}.ppf .ring{--p:75;--c:var(--blue);background:conic-gradient(var(--c) calc(var(--p)*1%),#eee9fa 0);border-radius:50%;place-items:center;width:120px;height:120px;margin:0 auto 12px;display:grid;position:relative}.ppf .ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:12px}.ppf .ring b{color:var(--ink);font-family:Fredoka;font-size:1.7rem;font-weight:700;position:relative}.ppf .g p{color:var(--ink-soft);font-size:.9rem;font-weight:500}.ppf .g small{color:var(--muted);font-size:.8rem;display:block}.ppf .voucher-sec{color:#fff;background:linear-gradient(160deg,#1b1440,#2b1a6b 55%,#3730a3);overflow:hidden}.ppf .voucher-sec .head h2{color:#fff}.ppf .voucher-sec .head p{color:#ffffffc7}.ppf .voucher-sec .eyebrow{color:#fff;background:#ffffff24}.ppf .v-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:52px;display:grid}.ppf .ticket{color:var(--ink);max-width:400px;transition:transform .4s var(--ease);background:#fff;border-radius:24px;padding:32px;position:relative;transform:rotate(-3deg);box-shadow:0 40px 80px -30px #0009}.ppf .ticket:hover{transform:rotate(0)}.ppf .ticket:before,.ppf .ticket:after{content:"";background:#241850;border-radius:50%;width:30px;height:30px;position:absolute;top:50%;transform:translateY(-50%)}.ppf .ticket:before{left:-15px}.ppf .ticket:after{right:-15px}.ppf .ticket .tk-top{border-bottom:2px dashed var(--line);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.ppf .ticket .tk-top img{height:34px}.ppf .ticket .tk-top .val{color:var(--purple);font-family:Fredoka;font-size:1.5rem;font-weight:700}.ppf .ticket .tk-body{gap:10px;padding:18px 0;display:grid}.ppf .ticket .row{justify-content:space-between;font-size:.9rem;display:flex}.ppf .ticket .row span{color:var(--muted)}.ppf .ticket .row b{font-weight:600}.ppf .ticket .tk-amount{text-align:center;border-top:2px dashed var(--line);border-bottom:2px dashed var(--line);margin:6px 0;padding:16px 0}.ppf .ticket .tk-amount .big{background:var(--rainbow);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Fredoka;font-size:3rem;font-weight:700;line-height:1}.ppf .ticket .tk-amount small{color:var(--muted);font-size:.82rem}.ppf .ticket .qr{color:var(--muted);justify-content:center;align-items:center;gap:12px;padding-top:14px;font-size:.8rem;display:flex}.ppf .ticket .qr svg{width:46px;height:46px}.ppf .v-facts{gap:16px;display:grid}.ppf .v-fact{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.ppf .v-fact .ic{background:#ffffff1f;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.3rem;display:grid}.ppf .v-fact b{margin-bottom:3px;font-size:1.04rem;display:block}.ppf .v-fact p{color:#ffffffb8;font-size:.92rem}.ppf .merchant{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.ppf .mreq{gap:12px;margin:26px 0;display:grid}.ppf .mreq .r{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;align-items:center;gap:13px;padding:14px 18px;display:flex}.ppf .mreq .r .num{background:var(--rainbow);color:#fff;border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;font-family:Fredoka;font-weight:600;display:grid}.ppf .mreq .r p{font-size:.96rem}.ppf .m-visual{position:relative}.ppf .m-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--line);background:#fff;padding:36px;position:relative;overflow:hidden}.ppf .m-card .badge{background:var(--green);color:#fff;padding:7px 52px;font-size:.82rem;font-weight:700;position:absolute;top:22px;right:-42px;transform:rotate(38deg)}.ppf .m-card h3{margin-bottom:8px;font-size:1.5rem;font-weight:600}.ppf .m-card>p{color:var(--muted);margin-bottom:22px}.ppf .m-benefits{gap:14px;margin-bottom:26px;display:grid}.ppf .m-benefits li{align-items:center;gap:12px;font-weight:500;list-style:none;display:flex}.ppf .m-benefits .ic{border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.ppf .shoe-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.ppf .spec{border:1px solid var(--line);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease);background:#fff;padding:26px 22px}.ppf .spec:hover{transform:translateY(-6px)}.ppf .spec .ic{margin-bottom:12px;font-size:2.1rem}.ppf .spec b{color:var(--purple);margin-bottom:4px;font-family:Fredoka;font-size:1.55rem;font-weight:600;display:block}.ppf .spec p{color:var(--muted);font-size:.9rem}.ppf .spec .cap{color:var(--ink);font-family:Inter;font-size:1.02rem;font-weight:600}.ppf .faq{gap:14px;max-width:820px;margin:0 auto;display:grid}.ppf .q{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;transition:box-shadow .3s,border-color .3s;overflow:hidden}.ppf .q.open{box-shadow:var(--shadow-md);border-color:#7c3aed59}.ppf .q button{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;font-family:Inter;font-size:1.05rem;font-weight:600;display:flex}.ppf .q .ico{background:var(--cloud);border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;transition:transform .3s,background .3s;display:grid}.ppf .q.open .ico{background:var(--purple);color:#fff;transform:rotate(45deg)}.ppf .q .ico svg{width:16px;height:16px}.ppf .q .ans{max-height:0;transition:max-height .4s var(--ease);overflow:hidden}.ppf .q .ans p{color:var(--ink-soft);padding:0 24px 24px;font-size:.98rem}.ppf .cta-final{padding:40px 0 100px}.ppf .cta-box{background:var(--rainbow);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:4px}.ppf .cta-inner{text-align:center;color:#fff;background:linear-gradient(160deg,#241850,#3b2a7a);border-radius:28px;padding:64px 40px;position:relative;overflow:hidden}.ppf .cta-inner:after{content:"";opacity:.1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Ctext y='34' font-size='34'%3E%F0%9F%91%9F%3C/text%3E%3C/svg%3E") 0 0/80px;position:absolute;inset:0}.ppf .cta-inner h2{margin-bottom:16px;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;position:relative}.ppf .cta-inner p{color:#ffffffd1;max-width:560px;margin:0 auto 32px;font-size:1.15rem;position:relative}.ppf .cta-inner .btns{flex-wrap:wrap;justify-content:center;gap:14px;display:flex;position:relative}.ppf .foot{color:#fff;background:#150f31;padding:70px 0 30px}.ppf .foot-grid{border-bottom:1px solid #ffffff1a;grid-template-columns:1.4fr 1fr 1fr;gap:44px;padding-bottom:44px;display:grid}.ppf .foot-brand img{background:#fff;border-radius:12px;height:60px;margin-bottom:18px;padding:10px 14px}.ppf .foot-brand p{color:#fff9;max-width:340px;font-size:.94rem}.ppf .foot-col h4{margin-bottom:16px;font-family:Fredoka;font-size:1.05rem;font-weight:600}.ppf .foot-col a,.ppf .foot-col p{color:#ffffff9e;margin-bottom:10px;font-size:.92rem;transition:color .2s;display:block}.ppf .foot-col a:hover{color:#fff}.ppf .foot-bottom{color:#ffffff80;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:26px;font-size:.85rem;display:flex}.ppf .foot-bottom .rb{background:var(--rainbow);border-radius:4px;width:120px;height:4px}.ppf .reveal{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);transform:translateY(28px)}.ppf .reveal.in{opacity:1;transform:none}.ppf .reveal[data-d="1"]{transition-delay:80ms}.ppf .reveal[data-d="2"]{transition-delay:.16s}.ppf .reveal[data-d="3"]{transition-delay:.24s}.ppf .reveal[data-d="4"]{transition-delay:.32s}.ppf .totop{cursor:pointer;background:linear-gradient(120deg,var(--purple),var(--blue));color:#fff;width:52px;height:52px;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;z-index:90;border:0;border-radius:50%;place-items:center;transition:all .3s;display:grid;position:fixed;bottom:26px;right:26px;transform:translateY(20px)}.ppf .totop.show{opacity:1;pointer-events:auto;transform:none}.ppf .totop svg{width:22px;height:22px}@media (width<=960px){.ppf .hero-grid{grid-template-columns:1fr;gap:36px}.ppf .hero-visual{min-height:auto;margin-top:4px}.ppf .chip{display:none}.ppf .logo-stage{max-width:300px}.ppf .split,.ppf .v-grid,.ppf .merchant{grid-template-columns:1fr;gap:36px}.ppf .feat-grid{grid-template-columns:1fr 1fr}.ppf .steps{grid-template-columns:1fr 1fr;gap:32px 16px}.ppf .steps:before{display:none}.ppf .shoe-grid{grid-template-columns:1fr 1fr}.ppf .stats-card{grid-template-columns:1fr 1fr;gap:30px 16px}.ppf .stat+.stat{border-left:0}.ppf .stat:nth-child(3),.ppf .stat:nth-child(4){border-top:1px solid #ffffff2e;padding-top:22px}.ppf .foot-grid{grid-template-columns:1fr 1fr}.ppf .foot-brand{grid-column:1/-1}}@media (width<=640px){.ppf .section{padding:70px 0}.ppf .nav-links,.ppf .nav-cta{display:none}.ppf .burger{display:flex}.ppf .nav-links.open{box-shadow:var(--shadow-md);border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:4px;padding:16px;display:flex;position:absolute;top:76px;left:0;right:0}.ppf .nav-links.open a{padding:14px 16px}.ppf .feat-grid,.ppf .steps,.ppf .shoe-grid,.ppf .stats-card{grid-template-columns:1fr}.ppf .stat+.stat{border-top:1px solid #ffffff2e;border-left:0;padding-top:22px}.ppf .hero-cta .btn,.ppf .cta-inner .btn{width:100%}.ppf .foot-grid{grid-template-columns:1fr}.ppf .ticket{margin:0 auto;transform:none}.ppf .gauge{flex-direction:column;gap:26px}}@media (prefers-reduced-motion:reduce){.ppf *{transition:none!important;animation:none!important}.ppf .reveal{opacity:1;transform:none}}.login-container{background:var(--bg-color);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-background{z-index:0;background-image:radial-gradient(circle at top right, var(--primary-100), var(--bg-color) 40%);width:100%;height:100%;position:absolute;top:0;left:0}.login-card-wrapper{z-index:1;width:100%;max-width:440px;padding:2rem;position:relative}.login-card{background:var(--surface-0);border:1px solid var(--primary-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:3rem 2.5rem}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo{object-fit:contain;max-height:80px;margin-bottom:1.5rem}.login-header h2{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--text-secondary);font-size:.9rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.input-group{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);transition:color var(--transition-fast);position:absolute;left:1rem}.input-group .login-input{background:var(--surface-0);border:1px solid var(--primary-300);height:3.2rem;color:var(--text-primary);padding:.75rem 1rem .75rem 3rem}.login-input:focus{background:var(--surface-0);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-group:focus-within .input-icon{color:var(--accent)}.login-btn{letter-spacing:.5px;height:3.2rem;margin-top:1rem;font-size:1rem}.login-error{background:var(--danger-bg);color:var(--danger-light);border-radius:var(--radius-md);text-align:center;border:1px solid #ff3c3c33;padding:.75rem;font-size:.9rem;animation:.3s slideInLeft}.login-footer{text-align:center;color:var(--text-muted);margin-top:2.5rem;font-size:.8rem}.stats-card{flex-direction:column;padding:1.5rem;display:flex;position:relative;overflow:hidden}.stats-border{background:var(--card-color);width:4px;box-shadow:0 0 10px var(--card-color);border-radius:0 4px 4px 0;position:absolute;top:10%;bottom:10%;left:0}.stats-content{flex-direction:column;gap:1rem;display:flex}.stats-header{justify-content:space-between;align-items:center;display:flex}.stats-title{color:var(--text-secondary);margin:0;font-size:.95rem;font-weight:500}.stats-icon{border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 10px #0003}.stats-body{align-items:baseline;gap:1rem;display:flex}.stats-value{color:var(--text-primary);font-family:Fira Code,monospace;font-size:2rem;font-weight:800;line-height:1}.stats-trend{border-radius:var(--radius-full);align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.85rem;font-weight:600;display:flex}.trend-up{color:var(--success);background:var(--success-bg)}.trend-down{color:var(--danger);background:var(--danger-bg)}.voucher-card-wrapper{justify-content:center;align-items:center;padding:2rem;display:flex}.voucher-ticket{color:#1a1a1a;width:100%;max-width:600px;box-shadow:var(--shadow-xl);border:1px solid #0000001a;border-top:12px solid var(--primary-color);background:#fff;border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.voucher-ticket:before,.voucher-ticket:after{content:"";background-color:var(--bg-color);z-index:10;border-radius:50%;width:30px;height:30px;position:absolute;top:180px;box-shadow:inset 0 0 5px #0003}.voucher-ticket:before{left:-15px}.voucher-ticket:after{right:-15px}.voucher-ticket-divider{z-index:5;border-top:2px dashed #ccc;margin:0 15px;position:absolute;top:195px;left:0;right:0}.voucher-ticket-header{color:var(--primary-color);background:#fff;justify-content:space-between;align-items:center;height:195px;padding:1.5rem 2rem;display:flex}.voucher-ticket-logos{flex-direction:column;gap:1rem;max-width:60%;display:flex}.voucher-ticket-logo-prog{object-fit:contain;height:85px}.voucher-ticket-logo-pref{object-fit:contain;height:45px}.voucher-ticket-value{text-align:right;color:#1a1a1a}.voucher-ticket-value h3{color:var(--primary-color);margin:0;font-size:2.5rem;font-weight:800;line-height:1}.voucher-ticket-value p{opacity:.8;text-transform:uppercase;letter-spacing:1px;color:#666;margin:0;font-size:.9rem}.voucher-ticket-body{background:#fff;justify-content:space-between;gap:2rem;padding:2.5rem 2rem 2rem;display:flex}.voucher-ticket-info{flex-direction:column;flex:1;gap:1.5rem;display:flex}.info-group{flex-direction:column;gap:.25rem;display:flex}.info-label{text-transform:uppercase;color:#666;letter-spacing:.5px;font-size:.75rem;font-weight:600}.info-value{color:#1a1a1a;margin:0;font-size:1.1rem;font-weight:600}.voucher-ticket-qr-section{flex-direction:column;align-items:center;gap:1rem;min-width:150px;display:flex}.qr-container{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #eee;border-radius:8px;padding:10px}.voucher-ticket-code{letter-spacing:2px;color:#1a1a1a;font-family:Fira Code,monospace;font-size:1.2rem;font-weight:800}.voucher-ticket-footer{color:#666;text-align:center;background:#f8f9fa;border-top:1px solid #eee;padding:1rem 2rem;font-size:.75rem}@media print{.voucher-ticket{box-shadow:none;border:2px solid #000}.voucher-ticket:before,.voucher-ticket:after{box-shadow:none;background-color:#fff;border:2px solid #000}.voucher-ticket-header{-webkit-print-color-adjust:exact;border-bottom:2px solid #000;color:#000!important;background:#fff!important}.voucher-ticket-logo-prog,.voucher-ticket-logo-pref{filter:none}}.data-table-container{padding:0;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--glass-border);padding:12px 16px}.data-table th{color:var(--text-muted);background:#0003;font-weight:600}.data-table tr:hover{background:var(--glass-bg)}:root{--primary-50:#f8fafc;--primary-100:#f1f5f9;--primary-200:#e2e8f0;--primary-300:#cbd5e1;--primary-400:#94a3b8;--primary-500:#64748b;--primary-600:#475569;--primary-700:#334155;--primary-800:#1e293b;--primary-900:#0f172a;--accent:#0369a1;--accent-light:#0ea5e9;--accent-dark:#075985;--accent-glow:#0369a14d;--success:#16a34a;--success-light:#22c55e;--success-bg:#16a34a1f;--warning:#ca8a04;--warning-light:#eab308;--warning-bg:#ca8a041f;--danger:#dc2626;--danger-light:#ef4444;--danger-bg:#dc26261f;--info:#0284c7;--purple:#7e22ce;--purple-bg:#7e22ce1f;--bg-color:#f8fafc;--surface-0:#fff;--surface-1:#f1f5f9;--surface-2:#e2e8f0;--surface-3:#cbd5e1;--surface-hover:#f1f5f9;--text-primary:#020617;--text-secondary:#334155;--text-muted:#64748b;--text-inverse:#fff;--glass-bg:#ffffffb3;--glass-bg-hover:#ffffffe6;--glass-border:#0f172a1a;--glass-border-hover:#0f172a33;--gradient-primary:linear-gradient(135deg, var(--primary-900), var(--primary-700));--gradient-accent:linear-gradient(135deg, var(--accent), var(--accent-light));--gradient-success:linear-gradient(135deg, var(--success), var(--success-light));--gradient-surface:linear-gradient(180deg, var(--surface-0), var(--surface-1));--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-glow:0 0 15px var(--accent-glow);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--sidebar-width:270px;--sidebar-collapsed:72px;--header-height:64px;--transition-fast:.15s ease-out;--transition-base:.25s ease-out;--transition-slow:.35s ease-out;--transition-spring:.5s cubic-bezier(.175, .885, .32, 1.275)}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-family:Fira Sans,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface-0)}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--surface-hover)}::selection{background:var(--accent-glow);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(var(--accent-rgb), .7);transform:scale(1)}70%{box-shadow:0 0 0 10px rgba(var(--accent-rgb), 0);transform:scale(1.05)}to{box-shadow:0 0 0 0 rgba(var(--accent-rgb), 0);transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.card-glass{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);transition:all var(--transition-base);padding:1.5rem}.card-glass:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 15px var(--accent-glow)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px var(--accent-glow);filter:brightness(1.1);transform:translateY(-2px)}.btn-success{background:var(--gradient-success);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-light);transform:translateY(-2px)}.btn-warning{background:var(--warning);color:var(--text-inverse)}.btn-warning:hover:not(:disabled){background:var(--warning-light);transform:translateY(-2px)}.btn-outline{border:1px solid var(--glass-border);color:var(--text-primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--surface-hover);border-color:var(--glass-border-hover)}.btn-ghost{color:var(--text-primary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-hover)}.btn-icon-only{border-radius:var(--radius-full);padding:.6rem}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-gerado{background:var(--info);color:var(--text-inverse)}.badge-distribuido{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning)}.badge-resgatado{background:var(--purple-bg);color:var(--purple);border:1px solid var(--purple)}.badge-em_liquidacao{background:var(--warning);color:var(--text-inverse)}.badge-pago{background:var(--success-bg);color:var(--success);border:1px solid var(--success);animation:2s infinite pulse}.badge-cancelado,.badge-suspenso,.badge-rejeitado{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger)}.badge-expirado{background:var(--surface-3);color:var(--text-muted)}.badge-ativo{background:var(--success);color:#fff}.badge-pendente{background:var(--warning);color:var(--text-inverse)}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.input,.select{background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-fast);padding:.75rem 1rem;font-family:inherit;font-size:1rem}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--surface-2);outline:none}.data-table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--surface-0);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{background:var(--surface-1);color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;padding:1rem;font-weight:600}.data-table td{border-bottom:1px solid var(--glass-border);color:var(--text-primary);padding:1rem;font-family:Fira Code,monospace;font-size:.9rem}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:nth-child(2n){background:var(--glass-bg)}.data-table tbody tr:hover{background:var(--surface-2)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.page-header h1{background:linear-gradient(90deg, #fff, var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.8rem;font-weight:700}.page-actions{gap:1rem;display:flex}.search-bar{background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-full);width:300px;transition:all var(--transition-fast);align-items:center;padding:.5rem 1rem;display:flex}.search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);width:350px}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;padding-left:.5rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn var(--transition-fast);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface-0);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:90%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-xl);animation:scaleIn var(--transition-base);overflow-y:auto}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-state svg{opacity:.5;width:64px;height:64px;margin-bottom:1rem}.loading-spinner{border:3px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}.dropzone{border:2px dashed var(--glass-border-hover);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-fast);background:var(--surface-1);cursor:pointer;padding:3rem}.dropzone:hover{border-color:var(--accent);background:var(--surface-2)}@media (width<=1024px){.charts-grid{grid-template-columns:1fr}}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column;align-items:flex-start}.search-bar{width:100%}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}}@media print{html,body{color:#000!important;background:#fff!important;height:auto!important;min-height:100%!important;overflow:visible!important}.no-print,.sidebar,.header-container,.header,.page-header{display:none!important}.layout-container{background:#fff!important}.main-content{background:#fff!important;margin-left:0!important;padding:0!important}.content-area{max-width:100%!important;padding:0!important}.printable-voucher-section{width:100%;padding-top:1cm;display:block;position:absolute;top:0;left:0}}
