:root{color-scheme:light dark;--bg: #f6f6fb;--surface: #ffffff;--surface-2: #f1f1f8;--text: #12131a;--muted: #5c6070;--line: #e3e4ee;--line-strong: #8b8fa3;--primary: #4f46e5;--primary-strong: #4338ca;--primary-soft: #eef0ff;--on-primary: #ffffff;--hero-from: #1e1b4b;--hero-mid: #3730a3;--hero-to: #6d28d9;--glow: rgb(99 102 241 / 14%);--gradient-text: linear-gradient(135deg, var(--hero-mid), var(--hero-to));--accent: #c99a2e;--accent-soft: #fbf5e6;--on-accent-soft: #6b4c08;--shimmer: rgb(255 255 255 / 55%);--success: #126b34;--success-soft: #e9f7ee;--error: #c0392b;--error-soft: #fdeeec;--whatsapp: #0f7a40;--on-whatsapp: #ffffff;--shadow-sm: 0 1px 2px rgb(17 19 34 / 6%);--shadow: 0 1px 2px rgb(17 19 34 / 5%), 0 8px 24px -6px rgb(17 19 34 / 10%);--shadow-lg: 0 2px 4px rgb(17 19 34 / 6%), 0 18px 40px -12px rgb(30 27 75 / 30%);--radius: 18px;--radius-sm: 12px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.2, 1.4, .4, 1)}@media screen and (prefers-color-scheme:dark){:root{--bg: #0b0c12;--surface: #14151d;--surface-2: #1c1e29;--text: #ececf3;--muted: #a0a3b5;--line: #272939;--line-strong: #6b6f86;--primary: #8b8cff;--primary-strong: #a5a6ff;--primary-soft: #1f2042;--on-primary: #0b0c1a;--hero-from: #1a1846;--hero-mid: #312e81;--hero-to: #5b21b6;--glow: rgb(129 140 248 / 16%);--gradient-text: linear-gradient(135deg, #c4b5fd, #a5b4fc);--accent: #e6c15a;--accent-soft: #2a2312;--on-accent-soft: #f1d58a;--shimmer: rgb(255 255 255 / 12%);--success: #4ade80;--success-soft: #11291b;--error: #ff8077;--error-soft: #361615;--whatsapp: #25d366;--on-whatsapp: #0b0c1a;--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 10px 28px -8px rgb(0 0 0 / 50%);--shadow-lg: 0 2px 6px rgb(0 0 0 / 45%), 0 22px 44px -12px rgb(0 0 0 / 60%)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:radial-gradient(900px 420px at 50% -140px,var(--glow),transparent 70%) no-repeat,var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}app-root{flex:1 0 auto;display:flex;flex-direction:column}::selection{background:var(--primary-soft);color:var(--text)}main{flex:1 0 auto;width:100%;max-width:30rem;margin:0 auto;padding:16px max(16px,env(safe-area-inset-right)) 40px max(16px,env(safe-area-inset-left))}h1{font-size:1.8rem;font-weight:800;line-height:1.15;letter-spacing:-.025em;margin:.5rem 0 .75rem;text-wrap:balance}h2{font-size:1.12rem;font-weight:750;letter-spacing:-.015em;margin:1.9rem 0 .65rem;text-wrap:balance}h3{font-size:.95rem;font-weight:700;margin:1.25rem 0 .5rem}p{margin:.5rem 0;text-wrap:pretty}a{color:var(--primary);font-weight:600;text-decoration:none}a:not(.button):not(.brand){text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s,opacity .15s}a:not(.button):not(.brand):hover{color:var(--primary-strong)}a:not(.button):active{opacity:.7}hr{border:none;border-top:1px solid var(--line);margin:1.5rem 0}.lead{font-size:1.08rem}.small{color:var(--muted);font-size:.9rem}.muted{color:var(--muted)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}a:not(.button):focus-visible,summary:focus-visible{border-radius:4px}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.app-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.app-header-inner{max-width:30rem;margin:0 auto;padding:4px max(16px,env(safe-area-inset-right)) 4px max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between}.app-header a.header-link{display:inline-flex;align-items:center;min-height:44px;padding:0 .25rem;font-size:.92rem;font-weight:650}.brand{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;color:var(--text);font-weight:800;letter-spacing:-.015em;background:none}.brand-mark{position:relative;overflow:hidden;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--hero-mid),var(--hero-to));box-shadow:0 4px 12px -4px color-mix(in srgb,var(--hero-to) 70%,transparent);color:#fff;font-size:.8rem;font-weight:800;transition:transform .3s var(--ease-spring)}.brand-mark:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgb(255 255 255 / 55%) 50%,transparent 65%);transform:translate(-120%);animation:sweep 1.4s var(--ease-out) .4s both}.brand:hover .brand-mark{transform:rotate(-6deg) scale(1.06)}.app-footer{width:100%;max-width:30rem;margin:0 auto;padding:8px max(16px,env(safe-area-inset-right)) max(32px,calc(16px + env(safe-area-inset-bottom))) max(16px,env(safe-area-inset-left));text-align:center;font-size:.8rem;color:var(--muted)}.app-footer a{color:var(--muted)}.hero{position:relative;overflow:hidden;isolation:isolate;margin:.5rem 0 1.4rem;padding:1.35rem 1.3rem 1.4rem;border-radius:var(--radius);background:linear-gradient(135deg,var(--hero-from) 0%,var(--hero-mid) 55%,var(--hero-to) 100%);color:#fff;box-shadow:var(--shadow-lg);animation:rise .3s var(--ease-out) both}.hero:before{content:"";position:absolute;z-index:-1;width:260px;height:260px;top:-130px;right:-90px;border-radius:50%;background:radial-gradient(circle,rgb(167 139 250 / 55%),transparent 65%);animation:drift 8s ease-in-out both}.hero:after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgb(255 255 255 / 10%),transparent 40%);pointer-events:none}.hero h1{margin:.2rem 0 .45rem;color:#fff}.hero p{margin:0;color:#ffffffdb}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffffc7}.eyebrow:before{content:"";width:18px;height:1.5px;background:currentColor;opacity:.7}label{display:block;margin:1rem 0 .35rem;font-weight:650}input,select{display:block;width:100%;padding:.82rem .95rem;font:inherit;color:inherit;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .25s var(--ease-out),background .2s}input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}input:hover,select:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line-strong))}input:not([type=radio]):not([type=checkbox]):focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 22%,transparent)}.code-input{font-size:1.6rem;font-weight:700;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.captcha:not(:empty){margin-top:1rem}button,a.button{position:relative;overflow:hidden;display:block;width:100%;margin-top:1rem;padding:.92rem 1rem;font:inherit;font-weight:700;letter-spacing:-.005em;text-align:center;text-decoration:none;color:var(--on-primary);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 88%,#ffffff),var(--primary));border:none;border-radius:var(--radius-sm);box-shadow:0 1px #ffffff2e inset,0 6px 16px -6px color-mix(in srgb,var(--primary) 60%,transparent);cursor:pointer;transition:transform .18s var(--ease-out),box-shadow .25s var(--ease-out),background .2s,opacity .2s}button:not(.link):not(.secondary):after,a.button:not(.secondary):after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgb(255 255 255 / 28%) 50%,transparent 70%);transform:translate(-120%);transition:transform .7s var(--ease-out);pointer-events:none}@media(hover:hover){button:hover:not(:disabled):not(.link),a.button:hover{transform:translateY(-1px);box-shadow:0 1px #ffffff2e inset,0 10px 22px -8px color-mix(in srgb,var(--primary) 70%,transparent)}button:not(.link):not(.secondary):hover:not(:disabled):after,a.button:not(.secondary):hover:after{transform:translate(120%)}}button:active:not(:disabled),a.button:active{transform:translateY(0) scale(.98);transition-duration:.08s}button:disabled{opacity:.5;cursor:default;box-shadow:none}button.secondary,a.button.secondary{color:var(--primary);background:var(--surface);border:1.5px solid color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:var(--shadow-sm)}button.secondary:hover:not(:disabled),a.button.secondary:hover{background:var(--primary-soft);border-color:var(--primary)}a.button.whatsapp{color:var(--on-whatsapp);background:var(--whatsapp);box-shadow:0 1px #fff3 inset,0 6px 16px -6px color-mix(in srgb,var(--whatsapp) 65%,transparent)}a.button.whatsapp:hover{box-shadow:0 1px #fff3 inset,0 10px 22px -8px color-mix(in srgb,var(--whatsapp) 75%,transparent)}button.link{display:inline-block;width:auto;min-height:44px;margin:.25rem 0 0;padding:.5rem 0;overflow:visible;color:var(--primary);background:none;box-shadow:none;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}button.link:hover:not(:disabled){background:none;transform:none;box-shadow:none;color:var(--primary-strong)}.row-links{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.row{display:flex;gap:.5rem}.row input{flex:1;min-width:0}.row button{width:auto;margin:0;padding:0 1.3rem}.panel,.card,details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:1.05rem 1.15rem 1.15rem;margin:1rem 0}.panel>:first-child,.panel form>:first-child{margin-top:0}.card{padding:.95rem 1.05rem;margin:.65rem 0;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),border-color .25s}@media(hover:hover){.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--primary) 25%,var(--line))}}.card p{margin:.25rem 0 0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.link-box{padding:.85rem .95rem;border:1.5px dashed color-mix(in srgb,var(--primary) 30%,var(--line));border-radius:var(--radius-sm);background:var(--surface-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}details{margin:1.25rem 0 0;padding:.95rem 1.05rem;transition:box-shadow .25s var(--ease-out)}details[open]{box-shadow:var(--shadow-lg)}summary{display:flex;align-items:center;justify-content:space-between;font-weight:750;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"";width:9px;height:9px;margin-right:4px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .3s var(--ease-out)}details[open]>summary:after{transform:rotate(225deg) translateY(-2px)}details[open]>:not(summary){animation:rise .25s var(--ease-out) both}.error{color:var(--error);font-weight:650}p.error[role=alert]{padding:.8rem .95rem;background:var(--error-soft);border:1px solid color-mix(in srgb,var(--error) 25%,transparent);border-radius:var(--radius-sm);animation:shake .4s ease}.success{padding:.9rem 1rem;color:var(--success);font-weight:700;background:var(--success-soft);border:1.5px solid color-mix(in srgb,var(--success) 55%,transparent);border-radius:var(--radius-sm);animation:pop .5s var(--ease-spring) both,glow-success 1.6s ease-out .3s}.notice{padding:.9rem 1rem;font-weight:650;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.loading{display:flex;align-items:center;gap:.65rem;color:var(--muted);animation:fade .4s ease .15s both}.loading:before{content:"";width:18px;height:18px;border:2.5px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite}app-problem{display:block}.problem{margin:1.25rem 0;padding:1.6rem 1.2rem 1.25rem;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.problem-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto .85rem;border-radius:50%;color:var(--error);background:var(--error-soft);border:1.5px solid color-mix(in srgb,var(--error) 30%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--error-soft) 55%,transparent);font-size:1.5rem;font-weight:800;line-height:1;animation:pop .45s var(--ease-spring) .1s both}.problem h1{margin:0 0 .45rem;font-size:1.45rem}.problem p{max-width:24rem;margin:0 auto;color:var(--muted)}.problem p+:is(button,a.button){margin-top:1.25rem}.problem button+a.button{margin-top:.6rem}.pill{display:inline-block;padding:.18rem .65rem;font-size:.76rem;font-weight:700;letter-spacing:.01em;border-radius:999px;white-space:nowrap;color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,currentColor 18%,transparent);animation:pop .45s var(--ease-spring) .15s both}.pill[data-status=first_done]{color:var(--on-accent-soft);background:var(--accent-soft)}.pill[data-status=returned]{color:var(--success);background:var(--success-soft)}.pill[data-status=expired]{color:var(--muted);background:var(--surface-2)}.pill[data-status=cancelled]{color:var(--error);background:var(--error-soft)}.pill[data-status=ready]{color:var(--on-accent-soft);background:var(--accent-soft)}.pill[data-status=ready]{background-image:linear-gradient(110deg,transparent 30%,var(--shimmer) 50%,transparent 70%);background-size:250% 100%;animation:pop .45s var(--ease-spring) .15s both,shimmer 2.8s ease-in-out .8s}.steps{display:flex;list-style:none;margin:1.1rem 0;padding:0}.steps li{position:relative;flex:1;text-align:center;font-size:.8rem;font-weight:650;color:var(--muted)}.steps li:before{content:"";display:grid;place-items:center;width:26px;height:26px;margin:0 auto .35rem;border-radius:50%;border:2.5px solid var(--line);background:var(--surface);font-size:.8rem;font-weight:800;color:var(--on-primary);position:relative;z-index:1;transition:background .3s,border-color .3s}.steps li+li:after{content:"";position:absolute;top:12px;right:50%;width:100%;height:2.5px;border-radius:2px;background:var(--line)}.steps li.done{color:var(--text)}.steps li.done:before{content:"\2713";color:#fff;background:linear-gradient(135deg,var(--primary),var(--hero-to));border-color:transparent;box-shadow:0 4px 10px -3px color-mix(in srgb,var(--primary) 60%,transparent);animation:dot-pop .5s var(--ease-spring) both}.steps li:nth-child(2).done:before{animation-delay:.12s}.steps li:nth-child(3).done:before{animation-delay:.24s}.steps li.done+li.done:after,.steps li.done+li.current:after{background-color:var(--line);background-image:linear-gradient(90deg,var(--primary),var(--hero-to));background-repeat:no-repeat;background-size:100% 100%;animation:line-fill .6s var(--ease-out) both}.steps li:nth-child(3).done:after,.steps li:nth-child(3).current:after{animation-delay:.15s}.steps li.current:before{border-color:var(--primary);animation:pulse 2s ease-in-out 3}.steps li.current{color:var(--primary)}.steps.closed{opacity:.5;filter:grayscale(1)}.steps.compact{margin:.6rem 0 .25rem}.steps.compact li:before{width:18px;height:18px;font-size:.62rem;border-width:2px}.steps.compact li+li:after{top:8px;height:2px}fieldset.options{border:none;margin:0;padding:0}label.option{display:flex;align-items:center;gap:.8rem;margin:.5rem 0;padding:.88rem 1rem;font-weight:600;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .25s var(--ease-out),transform .15s var(--ease-out)}@media(hover:hover){label.option:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line-strong))}}label.option:has(:focus-visible){outline:2px solid var(--primary);outline-offset:2px}label.option:has(:focus-visible) input{outline:none}label.option:active{transform:scale(.985)}label.option:has(input:checked){border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent);animation:select .35s var(--ease-spring)}label.option input{display:inline;width:20px;height:20px;margin:0;flex:none;accent-color:var(--primary)}.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.5rem 0;padding:0;list-style:none}.chips li{padding:.38rem .8rem;font-size:.88rem;font-weight:650;color:var(--on-accent-soft);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px;animation:pop .45s var(--ease-spring) both}.chips li:nth-child(2){animation-delay:.06s}.chips li:nth-child(3){animation-delay:.12s}.chips li:nth-child(n+4){animation-delay:.18s}.ticket{position:relative;margin:1.1rem 0;padding:1.4rem 1rem 1.1rem;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;animation:ticket-in .4s var(--ease-out) both}.ticket:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--hero-mid),var(--hero-to),var(--accent))}.ticket-label{margin:0 0 .85rem;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}img.qr{display:block;max-width:100%;height:auto;aspect-ratio:1;margin:0 auto;border-radius:12px;background:#fff;padding:4px;box-shadow:var(--shadow-sm);animation:qr-in .45s var(--ease-out) .1s both}.ticket-divider{position:relative;margin:1.1rem -1rem;border-top:2px dashed var(--line)}.ticket-divider:before,.ticket-divider:after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}.ticket-divider:before{left:-12px}.ticket-divider:after{right:-12px}.short-code{margin:0;font-size:2.5rem;font-weight:800;letter-spacing:.3em;padding-left:.3em;font-variant-numeric:tabular-nums;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}.reward-now{margin:1rem 0;padding:1.15rem 1rem;font-size:1.38rem;font-weight:800;letter-spacing:-.01em;text-align:center;color:var(--on-accent-soft);background:linear-gradient(180deg,var(--accent-soft),color-mix(in srgb,var(--accent-soft) 70%,var(--accent)));border:1.5px solid var(--accent);border-radius:var(--radius);box-shadow:0 10px 26px -12px color-mix(in srgb,var(--accent) 70%,transparent);animation:pop .5s var(--ease-spring) both,glow-accent 2s ease-out .4s}.reward-now small{display:block;margin-bottom:.15rem;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.8}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1.9rem}.month-nav h2{margin:0}.month-nav button{width:auto;min-width:44px;min-height:44px;margin:0;padding:.25rem .95rem;font-size:1.1rem;line-height:1;border-radius:999px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1rem 0}.stat{position:relative;overflow:hidden;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);font-size:.86rem;color:var(--muted);animation:pop .5s var(--ease-spring) both}.stat:nth-child(2){animation-delay:.06s}.stat:nth-child(3){animation-delay:.12s}.stat:nth-child(4){animation-delay:.18s}.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--primary);opacity:.6}.stat strong{display:block;font-size:2rem;line-height:1.1;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}.stat.good:before{background:var(--success)}.stat.good strong{color:var(--success)}.stat.warn:before{background:var(--error)}.stat.warn strong{color:var(--error)}.money{padding:1rem 1.1rem;font-size:1.08rem;font-weight:750;color:var(--on-accent-soft);background:linear-gradient(135deg,var(--accent-soft),color-mix(in srgb,var(--accent-soft) 75%,var(--accent)));border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.table th,.table td{padding:.6rem .65rem;text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.table th{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--surface-2)}.table th:first-child,.table td:first-child{text-align:left;font-weight:650}.table tbody tr{transition:background .2s}.table tbody tr:hover{background:var(--surface-2)}.table tr:last-child td{border-bottom:none}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.5rem 0;padding:.15rem .35rem .15rem .9rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);font-weight:600;animation:rise .25s var(--ease-out) both}.menu-item button{width:auto;min-height:44px;margin:0;padding:.5rem .55rem}.days{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr));gap:.5rem}.days label.option{justify-content:center;margin:0;padding:.6rem .4rem;gap:.4rem}@media(min-width:768px){body:has(app-dashboard) :is(main,.app-header-inner,.app-footer){max-width:48rem}body:has(app-dashboard) .stats{grid-template-columns:repeat(4,1fr)}}ol.how{margin:0;padding-left:1.3rem}ol.how li{margin:.55rem 0;padding-left:.3rem}ol.how li::marker{color:var(--primary);font-weight:800}.poster{page:a5-poster;text-align:center;padding:1rem 0}.poster-shop{font-size:1.05rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0}.poster-headline{font-size:2.9rem;line-height:1.05;letter-spacing:-.03em;margin:.3rem 0 .75rem;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}.poster-offer{font-size:1.2rem;margin:0 auto 1rem;max-width:24rem}.poster-scan{font-size:1.15rem;font-weight:800;margin:1rem 0 .5rem}.poster-rewards{margin:.25rem 0}.poster-footer{margin-top:1.25rem;font-size:.85rem;color:var(--muted)}.guide li{margin:.4rem 0}.guide ul ul{margin-top:.35rem}.value-card{margin:1.25rem 0;padding:1.1rem 1.2rem;color:#fff;background:linear-gradient(135deg,var(--hero-from),var(--hero-mid) 55%,var(--hero-to));border-radius:var(--radius);box-shadow:var(--shadow-lg)}.value-card .eyebrow{color:#fffc}.value-card p{margin:.25rem 0;color:#ffffffe0}.value-card .small{color:#ffffffc7}.value-big{font-size:1.25rem;font-weight:700}.value-big strong{font-size:2.6rem;line-height:1;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}.meter{height:10px;margin:.5rem 0;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);border-radius:999px}.meter span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--success));border-radius:inherit;transition:width .4s var(--ease-out)}.on-the-way,.plain-list,.leaderboard{margin:.5rem 0;padding:0;list-style:none}.on-the-way li,.plain-list li,.leaderboard li{padding:.45rem 0;border-bottom:1px solid var(--line)}.on-the-way li:last-child,.plain-list li:last-child,.leaderboard li:last-child{border-bottom:none}.on-the-way strong{display:inline-block;min-width:2ch;font-variant-numeric:tabular-nums}.leaderboard{counter-reset:place}.leaderboard li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;counter-increment:place}.leaderboard li:before{content:counter(place);width:1.6rem;font-weight:800;color:var(--accent)}.checklist{margin:.5rem 0;padding:0;list-style:none}.checklist li{position:relative;padding:.45rem 0 .45rem 2rem}.checklist li:before{content:"";position:absolute;left:0;top:.55rem;width:1.2rem;height:1.2rem;border:2px solid var(--line-strong);border-radius:50%}.checklist li.done{color:var(--muted)}.checklist li.done:before{content:"\2713";display:grid;place-items:center;font-size:.75rem;font-weight:800;color:#fff;background:var(--success);border-color:var(--success)}.stat .delta{display:block;margin-top:.2rem;font-size:.78rem;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .75rem}button.chip{width:auto;min-height:44px;margin:0;padding:.35rem .85rem;font-size:.86rem;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;box-shadow:none}button.chip.on{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.plain-fieldset{margin:0;padding:0;border:none}.plain-fieldset legend{padding:0}.price-row{align-items:center;max-width:10rem}.price-row span{font-weight:700}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.panel-head h2{margin:0}.panel-head button.link{flex:none;margin:0}app-share-offer{display:block}app-share-offer>:first-child{margin-top:0}details>app-share-offer{margin-top:.9rem}fieldset.presets{min-width:0;margin:1.1rem 0 0;padding:0;border:none}fieldset.presets legend{margin:0 0 .45rem;padding:0;font-weight:650}.preset-list{display:flex;flex-wrap:wrap;gap:.45rem}label.preset{position:relative;display:inline-flex;align-items:center;min-height:44px;margin:0;padding:.4rem .95rem;font-size:.92rem;font-weight:650;color:var(--text);background:var(--surface);border:1.5px solid var(--line-strong);border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .18s var(--ease-out)}label.preset input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}label.preset:has(input:checked){color:var(--primary);background:var(--primary-soft);border-color:var(--primary)}label.preset:has(:focus-visible){outline:2px solid var(--primary);outline-offset:2px}label.preset:active{transform:scale(.97)}textarea.share-text{display:block;width:100%;min-height:7.5rem;margin:.6rem 0 0;padding:.82rem .95rem;font:inherit;line-height:1.45;color:inherit;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);resize:vertical;transition:border-color .2s,box-shadow .25s var(--ease-out)}textarea.share-text:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line-strong))}textarea.share-text:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 22%,transparent)}ul.rules{margin:0;padding:0;list-style:none}ul.rules li{position:relative;margin:.5rem 0;padding-left:1.6rem}ul.rules li:before{content:"";position:absolute;left:.15rem;top:.45em;width:.7rem;height:.38rem;border-left:2px solid var(--primary);border-bottom:2px solid var(--primary);transform:rotate(-45deg)}a.card.card-link{display:block;color:inherit;font-weight:inherit;text-decoration:none;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),border-color .25s,opacity .15s}a.card.card-link:hover{color:inherit}a.card.card-link:focus-visible{border-radius:var(--radius)}.card-go{color:var(--muted);font-size:1.4rem;line-height:1}.hero p.hero-meta{margin-top:.45rem;font-size:.88rem;font-variant-numeric:tabular-nums;color:#ffffffb8}.undo-row{display:flex;flex-wrap:wrap;align-items:center;gap:0 .6rem;margin:0 0 .75rem;font-weight:600}.undo-row button.link{margin:0}.notice.warning{color:var(--on-accent-soft);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,transparent);border-left:4px solid var(--accent)}.confirm-panel{border:1.5px solid color-mix(in srgb,var(--error) 45%,var(--line))}button.danger{color:#fff;background:var(--error);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--error) 60%,transparent)}.temp-banner{padding:.9rem 1rem;color:#fff;font-weight:600;background:var(--error);border-radius:var(--radius-sm)}@media screen and (prefers-color-scheme:dark){button.danger,.temp-banner{color:#1a0b0b}}.public-panel{border:1.5px solid color-mix(in srgb,var(--primary) 40%,var(--line))}.public-panel p{margin:0}.public-panel a.button{margin:.75rem 0}.public-panel .public-customer{padding-top:.75rem;border-top:1px solid var(--line)}.ticket .screenshot-tip{max-width:18rem;margin:.75rem auto 0}.closed-notice p{margin:0}.closed-notice p+p{margin-top:.45rem;font-weight:500}.today-tag{display:inline-block;margin:0 0 .5rem;padding:.22rem .75rem;font-size:.88rem;font-weight:700;color:var(--success);background:var(--success-soft);border:1px solid color-mix(in srgb,var(--success) 35%,transparent);border-radius:999px;animation:pop .45s var(--ease-spring) .15s both}.today-tag.no{color:var(--on-accent-soft);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.calendar-links,.shop-info{display:flex;flex-wrap:wrap;align-items:center;gap:0 1rem;margin:.5rem 0;font-size:.92rem}.calendar-links span,.shop-info span{color:var(--muted);font-weight:600}.shop-info span{flex-basis:100%}.calendar-links a,.calendar-links button.link,.shop-info a{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0}.saved-note strong{margin-right:.35rem;color:var(--success)}.days-left{color:var(--on-accent-soft)}.password-row{display:flex;align-items:center;gap:.5rem}.password-row input{flex:1;min-width:0}.password-row button.link{flex:none;margin:0;padding:0 .6rem}.check-result{display:flex;align-items:flex-start;gap:.85rem;margin:1rem 0;padding:1rem 1.05rem;border:1.5px solid;border-radius:var(--radius);animation:pop .45s var(--ease-spring) both}.check-result.ok{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 55%,transparent)}.check-result.bad{background:var(--error-soft);border-color:color-mix(in srgb,var(--error) 40%,transparent)}.check-mark{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--surface);font-size:1.1rem;font-weight:800}.check-result.ok .check-mark{background:var(--success)}.check-result.bad .check-mark{background:var(--error)}.guide-check{display:flex;align-items:center;gap:1rem;margin:.75rem 0 .5rem;padding:.75rem;border:1px dashed var(--line-strong);border-radius:var(--radius-sm)}.guide-check app-qr-code{flex:none}.guide-check img.qr,.guide-check p{margin:0}.guide-quote{margin:.4rem 0;padding:.6rem .9rem;font-weight:700;color:var(--on-accent-soft);background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.size-switch{display:flex;gap:.35rem;margin:0 0 1rem;padding:.3rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}nav.size-switch a:not(.button){flex:1;display:grid;place-items:center;min-height:44px;padding:.4rem .6rem;text-align:center;font-size:.92rem;color:var(--muted);text-decoration:none;border-radius:9px}nav.size-switch a.on{color:var(--primary);background:var(--surface);box-shadow:var(--shadow-sm)}.poster .poster-offer{margin-bottom:.5rem}.poster-you{max-width:26rem;margin:0 auto 1rem;font-size:1.05rem}@page a4-cards{size:A4;margin:10mm}.mirror-cards{page:a4-cards;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.mirror-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.9rem .5rem;text-align:center;background:var(--surface);border:1.5px dashed var(--line-strong);border-radius:var(--radius-sm)}.mirror-card p{margin:0}.mirror-card .poster-shop{font-size:.75rem}.mirror-card p.mirror-headline{margin:.2rem 0 .6rem;font-size:1.55rem;font-weight:800;line-height:1.1;letter-spacing:-.03em;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}.mirror-card p.mirror-scan{margin-top:.6rem;font-size:.95rem;font-weight:800}@media print{.guide-part-2{break-before:page}.guide .guide-part-2 h2{margin:.7rem 0 .2rem}.guide .guide-part-2>h2:first-child{margin-top:0}.guide .guide-part-2 p{margin:.2rem 0}.guide-check{break-inside:avoid}.mirror-cards{grid-template-rows:1fr 1fr;gap:0;height:270mm;border-top:1px dashed #999999;border-left:1px dashed #999999}.mirror-card{border:none;border-right:1px dashed #999999;border-bottom:1px dashed #999999;border-radius:0;break-inside:avoid}.mirror-card .poster-shop{font-size:12pt}.mirror-card p.mirror-headline{font-size:30pt}.mirror-card p.mirror-scan{font-size:14pt}.mirror-card img.qr{width:62mm!important}.mirror-card *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.94)}60%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes select{0%{transform:scale(1)}40%{transform:scale(.98)}to{transform:scale(1)}}@keyframes dot-pop{0%{transform:scale(.4)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes line-fill{0%{background-size:0% 100%}to{background-size:100% 100%}}@keyframes ticket-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@keyframes qr-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--primary) 45%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--primary) 0%,transparent)}}@keyframes glow-success{0%{box-shadow:0 0 color-mix(in srgb,var(--success) 40%,transparent)}to{box-shadow:0 0 0 14px color-mix(in srgb,var(--success) 0%,transparent)}}@keyframes glow-accent{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 45%,transparent)}to{box-shadow:0 0 0 16px color-mix(in srgb,var(--accent) 0%,transparent)}}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(-70px,60px) scale(1.25)}}@keyframes shimmer{0%,to{background-position:120% 0}50%{background-position:-20% 0}}@keyframes sweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}main>:not(router-outlet)>*{animation:rise .25s var(--ease-out) both}main>:not(router-outlet)>:nth-child(2){animation-delay:.04s}main>:not(router-outlet)>:nth-child(n+3){animation-delay:.08s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@page{margin:12mm}@page a5-poster{size:A5;margin:10mm}@media print{:root{color-scheme:light;--bg: #ffffff;--surface: #ffffff;--surface-2: #ffffff;--text: #000000;--muted: #333333;--line: #999999;--line-strong: #666666;--hero-from: #1e1b4b;--hero-mid: #3730a3;--hero-to: #6d28d9;--shadow: none;--shadow-lg: none;--shadow-sm: none}body,app-root{display:block;min-height:0;background:#fff}.no-print,.app-header,.app-footer{display:none}main{max-width:none;padding:0}main>:not(router-outlet)>*,img.qr{animation:none}.poster{padding:0}.poster *,.short-code{-webkit-print-color-adjust:exact;print-color-adjust:exact}.guide{font-size:11pt;line-height:1.4}.guide h1{font-size:1.6rem;margin-top:0}.guide h2{margin:.9rem 0 .3rem}.guide li{margin:.15rem 0}.guide ul ul{margin-top:.15rem}.guide .small{font-size:9.5pt}}
