:root{--blue:#005b99;--blue-dark:#073b69;--deep:#092c55;--red:#e51635;--red-dark:#bd1432;--pale:#edf5fb;--soft:#f6f8fb;--ink:#082a50;--gray:#6f7d89;--border:#d9e3ed;--shadow:0 4px 11px rgba(3,37,73,.12);--font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9eef4;color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.42}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #f9b02e;outline-offset:3px}button{touch-action:manipulation}.sprite{position:absolute;top:0;left:0;width:0;height:0;overflow:hidden}.icon{width:23px;height:23px;flex-shrink:0;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.app-frame{width:min(100%,430px);margin:auto;min-height:100dvh;display:flex;flex-direction:column;position:relative;background:#fff;box-shadow:0 0 32px #34405218;overflow:hidden}.app-header{height:142px;position:relative;flex-shrink:0;isolation:isolate}.top-blue{height:90px;background:linear-gradient(135deg,#004e83,#0573ae);position:absolute;top:0;left:0;right:0}.white-arc{height:101px;position:absolute;top:60px;left:-9%;width:118%;border-radius:50% 50% 0 0 / 46% 46% 0 0;background:white}.header-content{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-start;padding:77px 16px 0}.logo-link{background:transparent;border:0;display:flex;flex-direction:column;align-items:center;color:var(--blue-dark);font-size:12px;font-weight:800;line-height:1.2}.dominos-logo{display:block;width:167px;height:auto;max-height:49px;object-fit:contain;mix-blend-mode:multiply}.logo-link span{margin-top:-1px}.go-back{position:absolute;left:15px;top:82px;border:0;background:transparent;color:var(--blue-dark);padding:5px}.go-back .icon{width:27px;height:27px}.main-content{padding:10px 15px 12px;flex:1;position:relative}.view[hidden],.demo-badge[hidden]{display:none!important}.view{animation:page-in .14s ease-out}@keyframes page-in{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.demo-badge{margin:-3px auto 10px;border:1px solid #e4c77b;background:#fff8df;color:#805a0c;border-radius:30px;width:max-content;max-width:100%;padding:4px 11px;font-size:10px;font-weight:750}.home-kicker{width:max-content;padding:5px 18px;background:var(--red);color:white;border-radius:4px;text-align:center;font-weight:850;font-size:12px;letter-spacing:.2px;margin:0 auto 13px;transform:skewX(-7deg)}.headline{font-family:var(--font);display:flex;flex-direction:column;align-items:center;line-height:.99;letter-spacing:-1.5px;margin:0 auto 17px;text-align:center;font-weight:950}.headline span,.headline strong{display:block;color:white;text-shadow:1px 2px 0 #05375e22;transform:skewX(-5deg);padding:4px 28px 7px}.headline span{font-size:38px;background:var(--blue);min-width:72%}.headline strong{font-size:49px;background:var(--red);min-width:83%;margin-top:-1px}.stamps-card{background:white;border:1px solid #edf1f5;border-radius:20px;padding:18px 14px 14px;box-shadow:0 6px 18px #15365518;margin-bottom:16px}.pizza-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 8px}.pizza-stamp{width:100%;aspect-ratio:1 / 1;position:relative;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 0 #bdcbd512)}.pizza-stamp svg{width:100%;height:100%;max-width:70px;overflow:visible}.pizza-base{fill:var(--pizza-base,#f8d17b);stroke:var(--pizza-line,#914328);stroke-width:4;stroke-linejoin:round}.pizza-crust{fill:var(--pizza-crust,#f2a043);stroke:var(--pizza-crust-line,#a3442b);stroke-width:3;stroke-linejoin:round}.pizza-top{fill:var(--pizza-top,#c82e21)}.pizza-basil{fill:var(--pizza-basil,#4d9b46)}.pizza-stamp.empty{--pizza-base:#fff;--pizza-line:#a5bacb;--pizza-crust:#f5f7fa;--pizza-crust-line:#a5bacb;--pizza-top:#bbcad5;--pizza-basil:#bbcad5}.pizza-number{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);font-size:19px;font-weight:950;color:#4b2b26;text-shadow:0 1px 2px #fff9}.pizza-stamp.empty .pizza-number{color:#61768a}.rewards-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.reward-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);border:1px solid #e7eef4;overflow:hidden}.reward-title{text-align:center;color:white;font-weight:950;font-size:20px;letter-spacing:-.3px;padding:6px 5px}.wheel .reward-title{background:var(--blue)}.menu .reward-title{background:var(--red)}.reward-body{display:flex;align-items:center;gap:8px;padding:10px 10px;min-height:82px;color:var(--blue-dark)}.reward-body strong{font-size:15px;line-height:1.06;font-weight:950}.reward-icon{width:49px;height:49px;color:var(--blue);flex:0 0 49px}.menu .reward-icon{width:52px;flex-basis:52px}.eligibility{font-size:14px;color:var(--blue-dark);text-align:center;font-weight:800;display:flex;align-items:center;gap:9px;margin:4px 0 17px;white-space:nowrap}.eligibility::before,.eligibility::after{content:"";flex:1;height:2px;background:var(--blue)}.big-qr{width:100%;background:var(--red);border:0;border-radius:18px;box-shadow:0 6px 13px #af1e3c25;color:#fff;display:flex;align-items:center;justify-content:center;gap:13px;padding:13px 16px;min-height:65px;font-size:23px;font-weight:950;letter-spacing:.2px}.big-qr .icon{width:37px;height:37px}.big-qr:hover{background:var(--red-dark)}.location-pill{background:#dfedf9;display:flex;align-items:center;gap:8px;margin:16px auto 8px;width:max-content;max-width:100%;padding:9px 14px;color:#005a95;border-radius:28px;font-size:12px;font-weight:850}.location-pill .icon{height:21px;width:21px;color:var(--red)}.bottom-nav{margin-top:auto;display:flex;justify-content:space-around;align-items:stretch;padding:7px 14px 4px;background:#fff;border-top:1px solid #e9edf2;position:relative;z-index:1}.bottom-nav button{border:0;background:none;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;color:#708298;width:33.333%;padding:5px 0;font-size:11px;font-weight:800}.bottom-nav .icon{width:21px;height:21px}.bottom-nav button.active{color:var(--blue)}.red-wave{height:36px;background:var(--red);position:relative;z-index:0;flex:0 0 36px;overflow:hidden}.red-wave:before{content:"";position:absolute;left:-10%;width:120%;top:-25px;height:43px;border-radius:50% 50% 0 0 / 80% 80% 0 0;background:white}.page-title{text-align:center;font-size:25px;line-height:1.1;letter-spacing:-.6px;font-weight:900;margin:12px 0 27px;color:var(--deep)}.white-card{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px}.total-card{padding:18px 17px 22px;margin-bottom:18px}.total-card-inner{display:flex;align-items:center;gap:14px;justify-content:center}.total-card-inner strong{font-size:28px;letter-spacing:-1px}.divider-text{font-size:20px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.total-pizza{width:62px;height:62px}.total-card progress{display:block;margin-top:12px;appearance:none;width:100%;height:14px;border:0;border-radius:16px;overflow:hidden}.total-card progress::-webkit-progress-bar{background:#dee5eb}.total-card progress::-webkit-progress-value{background:var(--red);border-radius:16px}.total-card progress::-moz-progress-bar{background:var(--red);border-radius:16px}.balances{margin-bottom:24px;overflow:hidden}.balance-item{display:grid;grid-template-columns:31px 1fr auto;gap:12px;align-items:center;min-height:58px;padding:12px 14px}.balance-item+.balance-item{border-top:1px solid var(--border)}.balance-item .icon{width:30px;height:30px}.balance-item .red{color:var(--red)}.balance-item strong{font-size:13px;line-height:1.15}.balance-item span{font-size:23px;font-weight:900}.action-main{display:flex!important;width:100%;margin-bottom:10px}.solid-blue,.outline-blue{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;border:2px solid var(--blue);padding:12px 14px;font-size:15px;line-height:1.3;font-weight:850;min-height:50px;background:var(--blue);color:white}.solid-blue:hover{background:#00477f}.outline-blue{background:white;color:var(--blue)}.outline-blue:hover{background:#edf7ff}.helper-note{font-size:13px;margin:16px 6px 0;line-height:1.5}.navigation-list{display:grid;gap:12px}.nav-row{width:100%;display:flex;align-items:center;gap:13px;padding:13px 12px;background:#fff;border:1px solid #cfdae5;border-radius:14px;box-shadow:0 2px 5px #0f2b4d12;text-align:left;min-height:71px}.nav-row>.icon{width:34px;height:34px;color:var(--red)}.nav-row>span{display:flex;flex:1;flex-direction:column;min-width:0}.nav-row strong{font-size:14px;font-weight:900;line-height:1.15}.nav-row small{font-size:11px;color:var(--deep);margin-top:4px;line-height:1.3}.nav-row>.chevron{width:20px;height:20px;color:var(--blue-dark)}.steps{display:grid;gap:12px}.step{display:grid;grid-template-columns:24px 59px 1fr;gap:10px;align-items:center;background:white;border:1px solid #dae3ec;border-radius:15px;padding:13px 11px;box-shadow:var(--shadow);min-height:95px}.step-num{background:var(--red);color:white;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:13px;font-weight:900;align-self:start}.step>.icon{width:56px;height:56px;color:var(--red)}.step strong{font-size:15px;line-height:1.12;display:block;font-weight:900}.step p{font-size:12px;margin:5px 0 0;line-height:1.35}.note-box{font-size:12px;background:#eaf3fa;color:#254e6b;border:1px solid #cee4f3;border-radius:12px;padding:12px;margin:16px 1px 0}.filters{display:flex;background:#e9eef2;border-radius:9px;overflow:hidden;margin-bottom:19px}.filter{border:0;flex:1;min-height:38px;background:transparent;font-size:13px;color:var(--blue-dark);font-weight:850}.filter.selected{background:linear-gradient(90deg,#006cbb,#005a96);color:#fff;border-radius:9px}.history-list{list-style:none;padding:0;display:grid;gap:9px}.history-item{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #dbe5ed;border-radius:13px;box-shadow:0 2px 5px #132f5314;min-height:68px;padding:11px 12px}.history-item .icon{height:31px;width:31px;color:var(--red)}.history-item strong{font-size:12px;font-weight:900;line-height:1.2;display:block}.history-item small{display:block;font-size:11px;color:var(--deep);margin-top:4px}.history-item b{color:#168a48;font-size:14px}.history-empty{background:#f6f9fc;border:1px dashed #cbd9e5;border-radius:12px;padding:25px 16px;text-align:center;color:#4c6377;font-size:14px}.text-card{padding:20px;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow);background:white}.text-card h2{font-size:16px;margin:17px 0 7px}.text-card h2:first-child{margin-top:0}.text-card p{font-size:13px;margin:6px 0 12px;color:#304a60;line-height:1.62}.text-card .small-print{border-top:1px solid var(--border);padding-top:12px;font-size:11px;color:var(--gray)}.demo-controls{padding:10px 0 0;margin-top:15px;border-top:1px solid var(--border)}.demo-controls .outline-blue{display:flex;width:100%;margin:10px 0}.text-link{background:transparent;border:0;color:var(--blue);padding:10px 0;text-decoration:underline;font-weight:750}.recovery-symbol{text-align:center;padding:6px}.recovery-symbol .icon{width:44px;height:44px;color:var(--blue)}.form-label{font-size:13px;font-weight:850;display:block;margin:20px 0 8px}.form-input{width:100%;min-height:46px;border:1px solid #bfcfdf;border-radius:11px;padding:11px 12px;outline:none}.form-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0068ad22}#recoverButton{width:100%;margin-top:10px}.recover-existing{margin-top:25px;border-top:1px solid var(--border);padding-top:10px}.recover-existing .outline-blue{width:100%;margin-bottom:8px}.secret-key{font:12px/1.5 ui-monospace,monospace;word-break:break-all;background:#f5f8fb;padding:12px;border-radius:8px}.qr-dialog{width:min(92vw,360px);max-height:92vh;border:0;border-radius:22px;box-shadow:0 19px 65px #0005;padding:27px 20px 22px;text-align:center;color:var(--deep)}.qr-dialog::backdrop{background:#0d2448b8;backdrop-filter:blur(2px)}.qr-dialog h2{font-size:25px;margin:6px 0}.qr-dialog p{font-size:13px;color:#58718a}.dialog-eyebrow{font-size:11px;letter-spacing:1px;font-weight:900;color:var(--blue)}.dialog-close{position:absolute;right:13px;top:7px;background:none;border:0;color:var(--blue);font-size:28px}.qr-image-holder{margin:15px auto 8px;width:233px;height:233px;background:#fff;display:flex;justify-content:center;align-items:center;border:2px solid #ddeaf4;border-radius:16px}.qr-image-holder img{width:208px;height:208px;object-fit:contain}.qr-id{font:12px ui-monospace,monospace;color:#005a96!important;font-weight:800}.qr-warning{font-size:11px!important}.qr-dialog .solid-blue{width:100%;margin-top:12px}.toast{position:fixed;left:50%;bottom:55px;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 30px);padding:12px 16px;background:#08385e;color:white;font-size:12px;font-weight:700;border-radius:12px;box-shadow:0 6px 25px #0004;z-index:60}.toast.error{background:#a51632}.toast[hidden]{display:none}.app-frame :is(button,a){-webkit-tap-highlight-color:transparent}
@media (max-width:360px){.main-content{padding:8px 12px 10px}.app-header{height:134px}.home-kicker{margin-bottom:10px}.headline span{font-size:34px}.headline strong{font-size:44px}.stamps-card{padding:12px 9px}.pizza-grid{gap:5px}.pizza-number{font-size:17px}.reward-body{padding:10px 7px;gap:4px}.reward-icon{width:40px;height:40px;flex-basis:40px}.reward-body strong{font-size:13px}.eligibility{font-size:12px}.step{gap:7px;grid-template-columns:22px 48px 1fr}.step>.icon{width:48px;height:48px}.step strong{font-size:13px}.step p{font-size:11px}}
@media(min-width:431px){body{padding:25px 0}.app-frame{border-radius:25px;min-height:840px;box-shadow:0 18px 70px #27364c24}.app-header{border-radius:25px 25px 0 0;overflow:hidden}}
@media(prefers-reduced-motion:reduce){.view{animation:none}html{scroll-behavior:auto}}
/* A página inicial cabe melhor em ecrãs móveis sem perder os elementos principais. */
@media(max-width:430px){
 .app-header{height:127px}.top-blue{height:80px}.white-arc{top:51px;height:91px}.header-content{padding-top:69px}.go-back{top:74px}
 .main-content{padding-top:6px;padding-bottom:8px}.demo-badge{padding:3px 10px;margin-bottom:7px}
 .home-kicker{margin-bottom:9px;padding:4px 16px;font-size:11px}.headline{margin-bottom:10px}.headline span{font-size:34px;padding:3px 24px 5px}.headline strong{font-size:44px;padding:3px 24px 5px}
 .stamps-card{padding:10px 12px;margin-bottom:12px}.pizza-grid{gap:5px 7px}.pizza-number{font-size:18px}
 .rewards-grid{margin-bottom:9px}.reward-title{font-size:18px;padding:5px 4px}.reward-body{min-height:69px;padding:7px 8px}.reward-icon{width:42px;height:42px;flex-basis:42px}.menu .reward-icon{width:44px;flex-basis:44px}.reward-body strong{font-size:14px}
 .eligibility{margin:3px 0 12px;font-size:13px}.big-qr{min-height:58px;padding:10px 12px;font-size:21px}.big-qr .icon{width:31px;height:31px}.location-pill{margin:11px auto 4px;padding:7px 11px;font-size:11px}
 .bottom-nav{padding-top:5px;padding-bottom:3px}.red-wave{height:29px;flex-basis:29px}
}

/* Criação de cartão com nickname */
.nickname-label{display:block;text-align:left;font-size:13px;font-weight:850;margin:18px 0 6px}
.nickname-tip{text-align:left;font-size:11px!important;color:#62768a!important;line-height:1.5!important;margin:10px 0 17px!important}
.create-dialog .solid-blue{width:100%}
.client-nickname{text-align:center;color:#547895;font-weight:800;margin:-14px auto 20px;font-size:13px}
.home-nickname{text-align:center;color:#005b99;font-weight:750;font-size:12px;margin:0 0 7px}
