:root{--font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.25rem;--fs-xl: clamp(1.75rem, 1.2rem + 2vw, 2.5rem);--fw-regular: 400;--fw-bold: 600;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-pill: 9999px;--accent: #5b3cf5;--accent-ink: #ffffff;--bg: #f6f7fb;--surface: #ffffff;--surface-2: #f1f2f7;--text: #14161f;--text-2: rgb(20 22 31 / .8);--text-3: rgb(20 22 31 / .68);--border: rgb(20 22 31 / .1);--input-border: #8a8d99;--danger: #c62828;--danger-soft: rgb(198 40 40 / .08);--success: #1e7f4a;--shadow-1: 0 1px 2px rgb(20 22 31 / .06), 0 8px 24px color-mix(in srgb, var(--accent) 10%, rgb(20 22 31 / .06));--shadow-2: 0 2px 6px rgb(20 22 31 / .06), 0 24px 48px color-mix(in srgb, var(--accent) 16%, rgb(20 22 31 / .1));--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e0f14;--surface: #171922;--surface-2: #1f222d;--text: #f2f3f7;--text-2: rgb(242 243 247 / .82);--text-3: rgb(242 243 247 / .66);--border: rgb(242 243 247 / .1);--input-border: #6b6f7d;--danger: #ff8a80;--danger-soft: rgb(255 138 128 / .1);--success: #6fd49b;--shadow-1: 0 1px 2px rgb(0 0 0 / .4), 0 8px 24px rgb(0 0 0 / .3);--shadow-2: 0 2px 6px rgb(0 0 0 / .4), 0 24px 48px rgb(0 0 0 / .45);color-scheme:dark}}:root[data-theme=dark]{--bg: #0e0f14;--surface: #171922;--surface-2: #1f222d;--text: #f2f3f7;--text-2: rgb(242 243 247 / .82);--text-3: rgb(242 243 247 / .66);--border: rgb(242 243 247 / .1);--input-border: #6b6f7d;--danger: #ff8a80;--danger-soft: rgb(255 138 128 / .1);--success: #6fd49b;--shadow-1: 0 1px 2px rgb(0 0 0 / .4), 0 8px 24px rgb(0 0 0 / .3);--shadow-2: 0 2px 6px rgb(0 0 0 / .4), 0 24px 48px rgb(0 0 0 / .45);color-scheme:dark}:root,.brand-scope{--accent-text: var(--accent-text-light, var(--accent));--accent-soft: color-mix(in srgb, var(--accent) 10%, transparent);--accent-line: color-mix(in srgb, var(--accent) 28%, transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]),:root:not([data-theme=light]) .brand-scope{--accent-text: var(--accent-text-dark, color-mix(in oklab, var(--accent) 60%, white));--accent-soft: color-mix(in srgb, var(--accent) 18%, transparent);--accent-line: color-mix(in srgb, var(--accent) 45%, transparent)}}:root[data-theme=dark],:root[data-theme=dark] .brand-scope{--accent-text: var(--accent-text-dark, color-mix(in oklab, var(--accent) 60%, white));--accent-soft: color-mix(in srgb, var(--accent) 18%, transparent);--accent-line: color-mix(in srgb, var(--accent) 45%, transparent)}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;font-family:var(--font);font-size:var(--fs-md);font-weight:var(--fw-regular);line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.num{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}fl-icon{display:inline-flex;flex:none;width:20px;height:20px}fl-icon svg{width:100%;height:100%}.brand{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--fs-lg);font-weight:var(--fw-bold);text-decoration:none;width:fit-content;border-radius:var(--r-sm)}.brand-mark{display:inline-block;flex:none;width:32px;height:32px;background-color:currentColor;-webkit-mask:url("./media/yhapa-logo-A4B5WY6R.svg") center/contain no-repeat;mask:url("./media/yhapa-logo-A4B5WY6R.svg") center/contain no-repeat}.role-badge{display:inline-flex;align-items:center;gap:var(--s-2);width:fit-content;padding:var(--s-1) var(--s-3);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent-text);background:var(--accent-soft)}.role-badge fl-icon{width:16px;height:16px}.form,.form-grid{display:grid;gap:var(--s-4)}@media(min-width:640px){.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.field{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-2);align-content:start}.field-label{font-size:var(--fs-sm);font-weight:var(--fw-bold)}.field-optional{font-weight:var(--fw-regular);color:var(--text-3)}.field-hint{font-size:var(--fs-sm);color:var(--text-3)}.input-wrap{position:relative}.input-wrap>fl-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.input{width:100%;height:48px;padding:0 var(--s-4) 0 44px;font-size:var(--fs-md);background:var(--surface);border:1px solid var(--input-border);border-radius:var(--r-md);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.input.no-icon{padding-left:var(--s-4)}.input.has-action{padding-right:52px}.input:is([type=date],[type=time],[type=datetime-local]){display:block;min-width:0;max-width:100%;line-height:46px;-webkit-appearance:none;appearance:none}.input::-webkit-date-and-time-value{min-height:46px;text-align:left}.input::placeholder{color:var(--text-3);opacity:.8}.input:hover{border-color:var(--text-3)}.input:focus{outline:none;border-color:var(--accent-text);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.input[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus{box-shadow:0 0 0 4px var(--danger-soft)}.input-action{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-3);cursor:pointer}.input-action:hover{color:var(--text);background:var(--surface-2)}.field-error{display:flex;gap:var(--s-2);align-items:flex-start;font-size:var(--fs-sm);color:var(--danger)}.field-error fl-icon{width:16px;height:16px;margin-top:2px}.check{display:inline-flex;align-items:center;gap:var(--s-2);min-height:32px;cursor:pointer;font-size:var(--fs-sm);color:var(--text-2)}.check input{width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer}.link{color:var(--accent-text);font-weight:var(--fw-bold);text-decoration:none;border-radius:4px}.link:hover{text-decoration:underline;text-underline-offset:3px}.form-alert{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-4);font-size:var(--fs-sm);color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--r-md)}.form-alert fl-icon{margin-top:1px}.form-alert.is-info{color:var(--text-2);background:var(--accent-soft);border-color:var(--accent-line)}.form-alert.is-info fl-icon{color:var(--accent-text)}.note{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-4);font-size:var(--fs-sm);color:var(--text-2);background:var(--surface-2);border-radius:var(--r-md)}.note fl-icon{width:18px;height:18px;margin-top:1px;color:var(--accent-text)}@media(pointer:coarse){.check{min-height:44px}.input-action{width:44px;height:44px;right:2px}}.chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0;padding:0;border:0}.chip-option{position:relative}.chip-option input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.chip-option span{display:inline-flex;align-items:center;gap:var(--s-2);min-height:40px;padding:0 var(--s-4);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.chip-option input:hover+span{border-color:var(--accent-line)}.chip-option input:checked+span{color:var(--accent-text);background:var(--accent-soft);border-color:var(--accent-line)}.chip-option input:focus-visible+span{outline:2px solid var(--accent-text);outline-offset:2px}@media(pointer:coarse){.chip-option span{min-height:44px}}.segmented{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--s-1);padding:var(--s-1);margin:0;border:0;border-radius:var(--r-pill);background:var(--surface-2)}.segmented label{position:relative}.segmented input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.segmented span{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);width:100%;min-height:40px;padding:0 var(--s-4);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-2);border-radius:var(--r-pill);transition:background-color .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease)}.segmented input:checked+span{color:var(--text);background:var(--surface);box-shadow:var(--shadow-1)}.segmented input:focus-visible+span{outline:2px solid var(--accent-text);outline-offset:2px}.save-tag{padding:0 var(--s-2);font-size:var(--fs-sm);color:var(--accent-text);background:var(--accent-soft);border-radius:var(--r-pill)}.plan-options{display:grid;gap:var(--s-3);margin:0;padding:0;border:0}.plan-card{position:relative;display:block}.plan-card input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.plan-card .plan-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s-1) var(--s-4);padding:var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color .15s var(--ease),background-color .15s var(--ease),box-shadow .15s var(--ease)}.plan-card .plan-name{font-weight:var(--fw-bold)}.plan-card .plan-meta{font-size:var(--fs-sm);color:var(--text-3)}.plan-card .plan-price{grid-row:1/span 2;grid-column:2;text-align:right;font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:1.2}.plan-card .plan-price small{display:block;font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--text-3)}.plan-card input:hover+.plan-body{border-color:var(--accent-line)}.plan-card input:checked+.plan-body{background:color-mix(in srgb,var(--accent) 5%,var(--surface));border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan-card input:focus-visible+.plan-body{outline:2px solid var(--accent-text);outline-offset:3px}.steps{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--s-2);margin:0;padding:0;list-style:none}.step{display:grid;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-3)}.step:before{content:"";height:4px;border-radius:var(--r-pill);background:var(--surface-2);transition:background-color .25s var(--ease)}.step.is-done:before,.step.is-current:before{background:var(--accent)}.step.is-current{font-weight:var(--fw-bold);color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);width:100%;min-height:48px;padding:0 var(--s-5);font-size:var(--fs-md);font-weight:var(--fw-bold);text-decoration:none;border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;transition:background-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease),border-color .15s var(--ease)}.btn:active{transform:translateY(1px)}.btn[disabled]{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none}.btn[disabled][aria-busy=true]{cursor:progress;opacity:.85}.btn-primary{color:var(--accent-ink);background:var(--accent);box-shadow:inset 0 1px #ffffff38,0 8px 20px color-mix(in srgb,var(--accent) 30%,transparent)}.btn-primary:hover{background:color-mix(in oklab,var(--accent) 90%,black)}.btn-primary fl-icon{transition:transform .15s var(--ease)}.btn-primary:hover fl-icon{transform:translate(2px)}.btn-ghost{color:var(--accent-text);background:transparent;border-color:var(--accent-line)}.btn-ghost:hover{background:var(--accent-soft)}.btn-sm{width:auto;min-height:40px;padding:0 var(--s-4);font-size:var(--fs-sm)}.btn-sm fl-icon{width:16px;height:16px}.actions{display:grid;gap:var(--s-3)}@media(min-width:640px){.actions.split{grid-template-columns:auto 1fr}}.spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-alt{display:grid;gap:var(--s-2);text-align:center}.auth-alt p{margin:0;font-size:var(--fs-sm);color:var(--text-2)}.panel-foot{font-size:var(--fs-sm);color:var(--text-2);text-align:center}.success{display:grid;gap:var(--s-5);justify-items:center;text-align:center;padding:var(--s-6) var(--s-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-1)}.success:focus{outline:none}.success-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;color:var(--accent-ink);background:var(--accent);box-shadow:0 0 0 10px var(--accent-soft);animation:pop .45s var(--ease) both}.success-icon fl-icon{width:32px;height:32px}.success-copy{display:grid;gap:var(--s-2)}.success-title{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.success-text{color:var(--text-2)}.success-chip{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent-text);background:var(--accent-soft)}.success-chip fl-icon{width:16px;height:16px}.success-actions{display:grid;gap:var(--s-3);width:100%}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.avatar{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent-text);background:var(--accent-soft);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;border-radius:50%}.progress{height:8px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.progress-bar{display:block;height:100%;border-radius:inherit;background:var(--accent)}.tag{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap;color:var(--text-3);background:var(--surface-2)}.tag-ready{color:var(--accent-ink);background:var(--accent)}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg,var(--surface-2),color-mix(in srgb,var(--surface-2) 40%,var(--surface)),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.panel-head{display:grid;gap:var(--s-2)}.panel-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.panel-text{color:var(--text-2)}.fieldset{min-width:0;margin:0;padding:0;border:0}.page-stack{display:grid;gap:var(--s-5);min-width:0}.skeleton.is-static{animation:none;background:var(--surface-2)}.soon-tag{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap;color:var(--text-3);background:var(--surface-2);border:1px dashed var(--border)}.sk-line{display:block;height:12px;border-radius:var(--r-pill)}.sk-stack{display:grid;gap:var(--s-3)}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s-4)}.page-head-copy{display:grid;gap:var(--s-1)}.eyebrow{font-size:var(--fs-sm);color:var(--text-3)}.eyebrow:first-letter{text-transform:uppercase}.page-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:1.15;letter-spacing:-.02em}.page-text{color:var(--text-2)}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}.btn-auto{width:auto}.dash-grid{display:grid;gap:var(--s-5);grid-template-columns:minmax(0,1fr)}@media(min-width:1024px){.dash-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.span-8{grid-column:span 8}.span-4{grid-column:span 4}.span-12{grid-column:1/-1}}.panel{display:grid;gap:var(--s-5);align-content:start;min-width:0;padding:var(--s-5) var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl)}@media(min-width:768px){.panel{padding:var(--s-5)}}.panel-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.panel-heading{display:grid;gap:2px}.panel-name{font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:1.3}.panel-sub{font-size:var(--fs-sm);color:var(--text-3)}.kpis{display:grid;gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:1024px){.kpis{gap:var(--s-5);grid-template-columns:repeat(4,minmax(0,1fr))}}.kpi{display:grid;gap:var(--s-2);align-content:start;min-width:0;padding:var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl)}@media(min-width:768px){.kpi{padding:var(--s-5)}}.kpi-label{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-2)}.kpi-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--r-sm);color:var(--accent-text);background:var(--accent-soft)}.kpi-icon fl-icon{width:16px;height:16px}.kpi-value{font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:1.1;letter-spacing:-.02em}.kpi-meta{font-size:var(--fs-sm);color:var(--text-3)}.list{display:grid;margin:0;padding:0;list-style:none}.list-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--border)}.list-row:first-child{border-top:0;padding-top:0}.list-main{flex:1;display:grid;min-width:0}.list-title{font-weight:var(--fw-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-meta{display:flex;align-items:center;gap:var(--s-1);font-size:var(--fs-sm);color:var(--text-3)}.list-meta fl-icon{width:16px;height:16px;color:var(--accent-text)}.empty{display:grid;justify-items:center;gap:var(--s-3);padding:var(--s-6) var(--s-4);text-align:center;color:var(--text-2)}.empty-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:var(--accent-text);background:var(--accent-soft)}.empty-icon fl-icon{width:24px;height:24px}.empty-title{font-weight:var(--fw-bold);color:var(--text)}.plan-item{display:grid;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-lg);background:var(--surface-2)}.plan-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.plan-top strong{font-weight:var(--fw-bold)}.plan-tags{display:flex;gap:var(--s-1)}.plan-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);font-size:var(--fs-sm);color:var(--text-3)}.plan-stats strong{display:block;font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text)}.plan-progress{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--text-2)}.plan-item .tag{background:var(--surface)}.tag-accent{color:var(--accent-text);background:var(--accent-soft)!important}.tabs{display:flex;gap:var(--s-1);overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--border);scrollbar-width:none}.tab{display:inline-flex;flex:none;align-items:center;gap:var(--s-2);min-height:48px;padding:0 var(--s-4);margin-bottom:-1px;font-family:inherit;font-size:var(--fs-md);font-weight:var(--fw-bold);white-space:nowrap;color:var(--text-3);background:transparent;border:0;border-bottom:2px solid transparent;border-radius:var(--r-sm) var(--r-sm) 0 0;cursor:pointer;transition:color .15s var(--ease),border-color .15s var(--ease),background-color .15s var(--ease)}.tab:hover{color:var(--text);background:var(--surface-2)}.tab[aria-selected=true]{color:var(--accent-text);border-bottom-color:var(--accent)}.tab[aria-selected=true] .chip-count{color:var(--accent-ink);background:var(--accent)}.chip-count{min-width:20px;padding:0 6px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;line-height:20px;text-align:center;background:var(--surface-2)}.select{height:44px;padding:0 40px 0 var(--s-4);font-family:inherit;font-size:var(--fs-sm);color:var(--text);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/18px;border:1px solid var(--input-border);border-radius:var(--r-md);appearance:none;cursor:pointer}.select:focus{outline:none;border-color:var(--accent-text);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}@media(pointer:coarse){.select,.input,textarea.input{font-size:max(16px,var(--fs-md))}}.reward-thumb{display:grid;place-items:center;flex:none;width:40px;height:40px;overflow:hidden;color:var(--accent-ink);background:var(--accent);border-radius:var(--r-md)}.reward-thumb.is-discount{color:var(--accent-text);background:var(--accent-soft)}.reward-thumb img{width:100%;height:100%;object-fit:cover}.reward-thumb fl-icon{width:20px;height:20px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}.toolbar .search{flex:1 1 240px;max-width:360px}@media(max-width:639px){.toolbar .search{flex-basis:100%;max-width:none}.toolbar .select{flex:1 1 0;min-width:0}}.btn-more{justify-self:center;width:auto;min-width:240px}.btn-ghost-danger{color:var(--danger);background:transparent;border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.btn-ghost-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-danger{color:var(--surface);background:var(--danger);border:1px solid var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in oklab,var(--danger) 88%,black)}.danger-note{display:flex;align-items:flex-start;gap:var(--s-3);margin:0;padding:var(--s-3) var(--s-4);font-size:var(--fs-sm);color:var(--text-2);background:var(--danger-soft);border-radius:var(--r-md)}.danger-note fl-icon{flex:none;width:18px;height:18px;color:var(--danger)}.danger-note strong{font-weight:var(--fw-bold);color:var(--text)}.tag-done{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.tag-idle{color:var(--text-3);background:transparent;box-shadow:inset 0 0 0 1px var(--border)}.tag-locked{color:var(--text-2);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.data-table th{padding:var(--s-2) var(--s-3);font-weight:var(--fw-bold);text-align:left;white-space:nowrap;color:var(--text-3);background:var(--surface);border-bottom:1px solid var(--border)}.data-table td{padding:var(--s-3);vertical-align:middle;border-bottom:1px solid var(--border)}.data-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.person{display:flex;align-items:center;gap:var(--s-3);font-size:var(--fs-md);font-weight:var(--fw-bold);white-space:nowrap}.progress-cell{display:flex;align-items:center;gap:var(--s-3);min-width:160px;font-variant-numeric:tabular-nums}.progress-cell .progress{flex:1;height:6px}.muted{color:var(--text-3)}@media(max-width:767px){.data-table.is-responsive thead{display:none}.data-table.is-responsive tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-2) var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--border)}.data-table.is-responsive tbody tr:hover{background:none}.data-table.is-responsive td{padding:0;border:0}.data-table.is-responsive .cell-progress{grid-column:1/-1}.data-table.is-responsive .cell-last{text-align:right}}.segmented-inline{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);max-width:100%}.segmented-inline span{padding:0 var(--s-3);white-space:nowrap}@media(pointer:coarse){.segmented span{min-height:44px}}.kpi-delta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-2);font-size:var(--fs-sm);color:var(--text-3)}.delta{display:inline-flex;align-items:center;gap:2px;font-weight:var(--fw-bold);color:var(--text-2)}.delta fl-icon{width:16px;height:16px}.delta.is-up{color:var(--success)}.delta.is-down{color:var(--danger)}fl-bar-chart{display:grid;gap:var(--s-4)}.chart{--chart-h: 200px;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--s-2)}@media(min-width:768px){.chart{--chart-h: 232px}}.chart-y{position:relative;min-width:24px;height:var(--chart-h);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;line-height:1;color:var(--text-3);text-align:right}.chart-y span{position:absolute;right:0;transform:translateY(50%)}.chart-plot{position:relative;height:var(--chart-h);border-bottom:1px solid var(--input-border)}.chart-grid{position:absolute;left:0;right:0;height:1px;background:var(--border)}.chart-bars{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));align-items:end;border-radius:var(--r-sm);touch-action:pan-y;cursor:pointer}.chart-bars:focus-visible{outline:2px solid var(--accent-text);outline-offset:6px}.chart-bars.has-active .bar:not(.is-active) .bar-fill{opacity:.55}.bar{position:relative;display:flex;align-items:flex-end;justify-content:center;height:100%}.bar.is-active .bar-fill{filter:brightness(1.15) saturate(1.1)}.bar-fill{width:min(24px,100% - 2px);height:var(--h);min-height:2px;border-radius:4px 4px 0 0;background:var(--accent);transition:filter .15s var(--ease),opacity .15s var(--ease)}.bar-value{position:absolute;bottom:calc(var(--h) + 4px);left:50%;transform:translate(-50%);font-size:var(--fs-sm);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap}.chart-x{grid-column:2;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));margin-top:var(--s-2);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text-3);text-align:center}.chart-x span{display:grid;justify-items:center;gap:2px;white-space:nowrap}.chart-x .is-hidden{visibility:hidden}.chart-x fl-icon{width:16px;height:16px;color:var(--accent-text)}.chart-tip{position:absolute;z-index:2;display:grid;padding:var(--s-2) var(--s-3);font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2)}.chart-tip strong{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text)}.chart-table summary{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent-text);cursor:pointer;border-radius:4px}.chart-table .table-wrap{max-height:280px;overflow-y:auto}.chart-table .num-col{text-align:right}@media(prefers-reduced-motion:reduce){.bar-fill{transition:none}}.nav-badge{min-width:24px;padding:0 var(--s-2);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:24px;text-align:center;color:var(--accent-ink);background:var(--accent)}.account{position:relative}.account-btn{display:grid;place-items:center;min-width:44px;min-height:44px;padding:2px;background:transparent;border:0;border-radius:50%;cursor:pointer}.account-btn:hover .avatar,.account-btn[aria-expanded=true] .avatar{box-shadow:0 0 0 3px var(--accent-soft),0 0 0 4px var(--accent-line)}.menu{position:absolute;top:calc(100% + var(--s-2));right:0;z-index:20;display:grid;gap:var(--s-1);width:max-content;min-width:240px;max-width:calc(100vw - 2 * var(--s-4));padding:var(--s-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2)}.menu-head{display:grid;min-width:0;padding:var(--s-2) var(--s-3) var(--s-3);margin-bottom:var(--s-1);border-bottom:1px solid var(--border)}.menu-head strong{font-weight:var(--fw-bold)}.menu-head span{overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-sm);color:var(--text-3)}.menu-item{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:44px;padding:0 var(--s-3);font:inherit;font-size:var(--fs-md);text-align:left;text-decoration:none;color:var(--text-2);background:transparent;border:0;border-radius:var(--r-md);cursor:pointer}.menu-item:hover,.menu-item:focus-visible{color:var(--text);background:var(--surface-2)}.menu-item[aria-disabled=true]{cursor:default;color:var(--text-3)}.menu-item[aria-disabled=true]:hover{background:transparent}.menu-item[aria-disabled=true] .soon-tag{margin-left:auto}.settings{display:grid;gap:var(--s-5)}.settings-section{display:grid;gap:var(--s-4);padding:var(--s-5) var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl)}@media(min-width:768px){.settings-section{padding:var(--s-5) var(--s-6)}}.settings-head{display:grid;gap:2px}.field-wide{grid-column:1/-1}.form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--s-3)}.form-actions .btn{width:auto}@media(max-width:479px){.form-actions .btn{flex:1;padding-inline:var(--s-3);white-space:nowrap}.form-actions .save-state{flex-basis:100%}}.save-state{display:flex;align-items:center;gap:var(--s-2);margin:0 auto 0 0;font-size:var(--fs-sm);color:var(--text-3)}.save-state fl-icon{width:16px;height:16px}.setting-list{display:grid;margin:0;padding:0;list-style:none}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) 0;border-top:1px solid var(--border)}.setting-row:first-child{padding-top:0;border-top:0}.setting-row:last-child{padding-bottom:0}.setting-row .btn{flex:none;width:auto}.setting-text{display:grid;gap:2px;min-width:0}.setting-title{font-weight:var(--fw-bold)}.setting-desc{font-size:var(--fs-sm);color:var(--text-3)}.switch{position:relative;flex:none;width:48px;height:28px;margin-block:8px;cursor:pointer}.switch input{position:absolute;inset:-8px 0;width:100%;height:calc(100% + 16px);margin:0;opacity:0;cursor:pointer}.switch-track{position:absolute;inset:0;pointer-events:none;background:color-mix(in srgb,var(--text) 22%,transparent);border-radius:var(--r-pill);transition:background-color .15s var(--ease)}.switch-track:after{position:absolute;top:3px;left:3px;width:22px;height:22px;content:"";background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;transition:transform .15s var(--ease)}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent-text);outline-offset:3px}.switch input:disabled{cursor:default}.switch input:disabled+.switch-track{opacity:.5}@media(prefers-reduced-motion:reduce){.switch-track,.switch-track:after{transition:none}}.auth{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}@media(min-width:1024px){.auth{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:none}}.auth-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:var(--s-5);padding:calc(var(--s-5) + env(safe-area-inset-top)) var(--s-4) var(--s-6);color:var(--accent-ink);background:linear-gradient(150deg,var(--accent) 0%,color-mix(in oklab,var(--accent) 78%,black) 100%);isolation:isolate}.auth-visual:before,.auth-visual:after{content:"";position:absolute;z-index:-1;border-radius:50%;background:currentColor;opacity:.08;pointer-events:none}.auth-visual:before{width:520px;height:520px;top:-240px;right:-200px}.auth-visual:after{width:320px;height:320px;bottom:-160px;left:-120px}.auth-visual :focus-visible{outline-color:currentColor}@media(min-width:768px){.auth-visual{padding:var(--s-6) var(--s-6) var(--s-7)}}@media(min-width:1024px){.auth-visual{position:sticky;top:0;height:100dvh;justify-content:space-between;gap:var(--s-7);padding:var(--s-7) var(--s-8)}}.visual-copy{display:grid;gap:var(--s-3);max-width:34rem}.visual-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.visual-text{opacity:.86;max-width:30rem}.visual-figure{display:none}@media(max-width:639px){.visual-text{display:none}}@media(min-width:1024px){.visual-figure{display:block;position:relative;width:100%;max-width:440px}.visual-text{font-size:var(--fs-lg)}}.auth-panel{display:grid;place-items:start center;padding:var(--s-6) var(--s-4) var(--s-7);background:var(--bg)}@media(min-width:768px){.auth-panel{padding:var(--s-7) var(--s-6)}}@media(min-width:1024px){.auth-panel{place-items:center}}.auth-panel-inner{width:100%;max-width:440px;display:grid;gap:var(--s-5)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.stamp-card{display:grid;gap:var(--s-5);padding:var(--s-5);color:var(--text);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-2)}.card-head{display:flex;align-items:center;gap:var(--s-3)}.card-title strong{font-weight:var(--fw-bold)}.card-title span{font-size:var(--fs-sm);color:var(--text-3)}.card-count{text-align:right;display:grid;line-height:1.2}.card-count strong{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.card-count span{font-size:var(--fs-sm);color:var(--text-3)}.stamps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-3);margin:0;padding:0;list-style:none}.stamp{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:50%;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-3);border:2px dashed var(--border);background:var(--surface-2)}.stamp fl-icon{width:45%;height:45%;max-width:22px;max-height:22px}.stamp.is-reward{color:var(--accent-text);border:2px solid var(--accent-line);background:var(--accent-soft)}.stamp.is-done{color:var(--accent-ink);border:2px solid var(--accent);background:var(--accent)}.stamp.is-next{border-style:solid;border-color:var(--accent)}.stamp.is-next:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:ping 1.8s var(--ease) infinite}@keyframes ping{0%{transform:scale(.85);opacity:.6}to{transform:scale(1.2);opacity:0}}.card-foot{display:grid;gap:var(--s-3)}.card-next{font-size:var(--fs-sm);color:var(--text-2)}.card-next strong{color:var(--text);font-weight:var(--fw-bold)}.rewards{display:grid;gap:var(--s-2);margin:0;padding:0;list-style:none}.reward{display:flex;align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--text-2)}.reward-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--r-sm);color:var(--accent-text);background:var(--accent-soft)}.reward-icon fl-icon{width:16px;height:16px}.reward-label{flex:1}.reward-label strong{color:var(--text);font-weight:var(--fw-bold)}.float-chip{position:absolute;display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4) var(--s-2) var(--s-2);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);background:var(--surface);box-shadow:var(--shadow-2);animation:float 4s ease-in-out infinite}.float-chip .reward-icon{border-radius:50%}.float-chip-top{top:-20px;right:-16px}.float-chip-bottom{bottom:-20px;left:-24px;animation-delay:-2s}.sheet{width:min(100% - 32px,480px);max-height:calc(100dvh - 32px);padding:0;color:var(--text);background:var(--surface);border:0;border-radius:var(--r-xl);box-shadow:var(--shadow-2)}.sheet[open]{animation:sheet-in .22s var(--ease)}.sheet::backdrop{background:#0a0c1480}@media(max-width:639px){.sheet{width:100%;max-width:100%;margin:auto 0 0;border-radius:var(--r-xl) var(--r-xl) 0 0;padding-bottom:env(safe-area-inset-bottom)}.sheet[open]{animation-name:sheet-up}}@keyframes sheet-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet-inner{display:grid;gap:var(--s-5);padding:var(--s-5)}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.sheet-title{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.sheet-text{font-size:var(--fs-sm);color:var(--text-2)}.sheet fieldset{margin:0;padding:0;border:0;min-width:0}.sheet legend{padding:0;margin-bottom:var(--s-3);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}@media(min-width:768px){.sheet.drawer{width:min(440px,100%);height:100dvh;max-height:100dvh;margin:0 0 0 auto;border-radius:var(--r-xl) 0 0 var(--r-xl)}.sheet.drawer[open]{animation:drawer-in .24s var(--ease)}}@keyframes drawer-in{0%{transform:translate(40px);opacity:0}}.drawer .sheet-inner{align-content:start}.sheet-person{display:flex;align-items:center;gap:var(--s-3);min-width:0}.avatar-lg{width:56px;height:56px;font-size:var(--fs-lg)}.mini-stamps{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0;padding:0;list-style:none}.mini-stamp{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--text-3);background:var(--surface);border:2px dashed color-mix(in srgb,var(--text) 14%,transparent)}.mini-stamp fl-icon,.mini-stamp svg{display:block;width:12px;height:12px}.mini-stamp.is-reward{color:var(--accent-text);background:var(--accent-soft);border:2px solid var(--accent-line)}.mini-stamp.is-done{color:var(--accent-ink);background:var(--accent);border:2px solid var(--accent)}.mini-stamp.is-next{border-style:solid;border-color:var(--accent)}.toast{position:fixed;left:50%;bottom:calc(var(--s-5) + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--surface);background:var(--text);box-shadow:var(--shadow-2);transform:translate(-50%,16px);opacity:0;pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease)}.toast.is-visible{opacity:1;transform:translate(-50%)}.toast fl-icon{width:18px;height:18px}.visit-preview{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);font-size:var(--fs-sm);color:var(--text-2);background:var(--surface-2);border-radius:var(--r-md)}.visit-preview.is-reward{color:var(--text);background:var(--accent-soft)}.visit-preview fl-icon{color:var(--accent-text)}.visit-preview strong{font-weight:var(--fw-bold)}.ready-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(256px,82%);gap:var(--s-3);margin:0 calc(var(--s-4) * -1);padding:0 var(--s-4) var(--s-2);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0 var(--s-4);list-style:none}@media(min-width:768px){.ready-row{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(256px,1fr));margin:0;padding:0;overflow:visible}}.ready-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:var(--s-3);height:100%;padding:var(--s-5);color:var(--accent-ink);background:linear-gradient(150deg,var(--accent),color-mix(in oklab,var(--accent) 80%,black));border-radius:var(--r-xl);scroll-snap-align:start;isolation:isolate}.ready-card:after{content:"";position:absolute;z-index:-1;width:200px;height:200px;top:-90px;right:-70px;border-radius:50%;background:currentColor;opacity:.1}.ready-biz{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.ready-biz .avatar{color:inherit;background:color-mix(in srgb,currentColor 18%,transparent)}.ready-title{display:-webkit-box;overflow:hidden;font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.ready-meta{font-size:var(--fs-sm);opacity:.86}.ready-card>.btn-on-accent,.ready-card>.ready-paused{align-self:flex-start;margin-top:auto}.btn-on-accent{justify-self:start;color:var(--accent);background:var(--accent-ink);box-shadow:0 6px 16px #00000029}.btn-on-accent:hover{background:color-mix(in oklab,var(--accent-ink) 90%,var(--accent))}.ready-card :focus-visible{outline-color:currentColor}.ready-card.is-locked{color:var(--text-2);background:var(--surface-2)}.ready-paused{display:inline-flex;align-items:center;gap:var(--s-1);justify-self:start;padding:2px var(--s-2);font-size:var(--fs-sm);font-weight:var(--fw-bold);border:1px solid var(--border);border-radius:var(--r-pill)}.qr-box{justify-self:center;width:min(240px,100%);padding:var(--s-4);background:#fff;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px #00000014}.qr-box svg{display:block;width:100%;height:auto}.qr-code{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:.08em;text-align:center}.qr-hint{text-align:center}.qr-reward{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--accent-soft)}.qr-reward strong{font-weight:var(--fw-bold)}.logo{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:var(--r-md);color:var(--accent-ink);background:linear-gradient(145deg,color-mix(in oklab,var(--accent) 80%,white),var(--accent) 60%);box-shadow:inset 0 1px #ffffff40}.logo fl-icon{width:50%;height:50%}.logo.is-round{border-radius:50%}.logo-xs{width:32px;height:32px;border-radius:var(--r-sm)}.logo-lg{width:72px;height:72px;border-radius:var(--r-xl)}.scanner{position:relative;display:grid;place-items:center;height:200px;overflow:hidden;color:#ffffff40;background:radial-gradient(circle at 50% 40%,#2a2d38,#0e0f14);border-radius:var(--r-lg)}.scanner>fl-icon{width:72px;height:72px}.scanner-frame{position:absolute;inset:32px calc(50% - 72px);border-radius:var(--r-md);box-shadow:0 0 0 999px #00000040;background:linear-gradient(var(--accent),var(--accent)) top left/24px 4px,linear-gradient(var(--accent),var(--accent)) top left/4px 24px,linear-gradient(var(--accent),var(--accent)) top right/24px 4px,linear-gradient(var(--accent),var(--accent)) top right/4px 24px,linear-gradient(var(--accent),var(--accent)) bottom left/24px 4px,linear-gradient(var(--accent),var(--accent)) bottom left/4px 24px,linear-gradient(var(--accent),var(--accent)) bottom right/24px 4px,linear-gradient(var(--accent),var(--accent)) bottom right/4px 24px;background-repeat:no-repeat}.scanner-line{position:absolute;left:calc(50% - 64px);width:128px;height:2px;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:scan-line 2s ease-in-out infinite alternate}@keyframes scan-line{0%{top:40px}to{top:158px}}@media(prefers-reduced-motion:reduce){.scanner-line{animation:none;top:50%}}.scan-card{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);background:var(--surface-2);border-radius:var(--r-md)}.scanner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}@media(max-width:639px){.scanner{height:min(56vh,360px)}}.icon-btn{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-md);color:var(--text-2);background:transparent;cursor:pointer}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.sheet{overflow-y:auto;overscroll-behavior:contain}.toast{width:max-content;max-width:calc(100vw - 2 * var(--s-4))}.app .toast{bottom:calc(88px + env(safe-area-inset-bottom))}@media(min-width:1024px){.app .toast{bottom:calc(var(--s-5) + env(safe-area-inset-bottom))}}.app{min-height:100dvh}.sidebar{display:none}@media(min-width:1024px){.app{display:grid;grid-template-columns:256px minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--s-6);height:100dvh;padding:var(--s-5) var(--s-4);overflow-y:auto;background:var(--surface);border-right:1px solid var(--border)}}.main{min-width:0}.brand{padding:0 var(--s-2)}.brand-mark{color:var(--text)}.nav-list{display:grid;gap:var(--s-1);margin:0;padding:0;list-style:none}.nav-link{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:44px;padding:0 var(--s-3);font-size:var(--fs-md);text-align:left;text-decoration:none;color:var(--text-2);background:transparent;border:0;border-radius:var(--r-md);cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease)}.nav-link:hover{color:var(--text);background:var(--surface-2)}.nav-link[aria-current=page]{font-weight:var(--fw-bold);color:var(--accent-text);background:var(--accent-soft)}.nav-link.is-soon{cursor:default;color:var(--text-3)}.nav-link.is-soon:hover{background:transparent}.nav-link.is-soon .soon-tag{margin-left:auto}.sidebar-foot{margin-top:auto;display:grid;gap:var(--s-2)}.user-card{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);margin-bottom:var(--s-2);border-radius:var(--r-lg);background:var(--surface-2)}.user-card .avatar{background:var(--surface)}.card-title{flex:1;display:grid;min-width:0}.card-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);color:var(--text-3)}.mobile-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:calc(var(--s-3) + env(safe-area-inset-top)) var(--s-4) var(--s-3);background:var(--surface);border-bottom:1px solid var(--border)}.mobile-bar-actions{display:flex;align-items:center;gap:var(--s-2)}.mobile-bar-actions .icon-btn[aria-current=page]{color:var(--accent-text);background:var(--accent-soft)}@media(min-width:1024px){.mobile-bar .agenda-link{display:none}}@media(min-width:1024px){.mobile-bar{position:static;justify-content:flex-end;max-width:1280px;margin:0 auto;padding:var(--s-4) var(--s-7) 0;background:transparent;border:0}.mobile-bar .brand{display:none}}.nav-link .nav-badge{margin-left:auto}.nav-link .nav-badge+.soon-tag{margin-left:0}.bottom-badge{position:absolute;top:0;left:calc(50% + 6px);min-width:20px;padding:0 var(--s-1);line-height:20px;font-size:12px}.bottom-nav{position:fixed;inset:auto 0 0;z-index:5;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;padding:var(--s-2) var(--s-2) calc(var(--s-2) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border)}@media(min-width:1024px){.bottom-nav{display:none}}:root[data-keyboard=open] .bottom-nav{display:none}button.bottom-link{font-family:inherit;background:none;border:0;cursor:pointer}.bottom-link{position:relative;white-space:nowrap;display:grid;justify-items:center;gap:2px;min-height:48px;padding:var(--s-1) 0;font-size:var(--fs-sm);text-decoration:none;color:var(--text-3);border-radius:var(--r-md)}.bottom-link fl-icon{width:24px;height:24px}.bottom-link[aria-current=page]{font-weight:var(--fw-bold);color:var(--accent-text)}.bottom-link.is-soon{opacity:.55}.bottom-main-icon{display:grid;place-items:center;width:52px;height:52px;margin-top:-24px;border-radius:50%;color:var(--accent-ink);background:var(--accent);box-shadow:0 0 0 4px var(--surface),0 8px 20px color-mix(in srgb,var(--accent) 35%,transparent)}.content{display:grid;gap:var(--s-6);align-content:start;width:100%;max-width:1280px;margin:0 auto;padding:var(--s-5) var(--s-4) calc(112px + env(safe-area-inset-bottom))}@media(min-width:768px){.content{padding:var(--s-6) var(--s-6) calc(120px + env(safe-area-inset-bottom))}}@media(min-width:1024px){.content{gap:var(--s-7);padding:var(--s-6) var(--s-7) var(--s-8)}}.brand-biz{min-width:0;max-width:100%}.brand-biz .brand-name{min-width:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav.is-short{grid-template-columns:repeat(3,minmax(0,1fr))}.path-section{position:relative;display:grid;justify-items:center;gap:var(--s-5);min-width:0}.path-head{display:grid;justify-self:stretch;gap:2px}.path-head .panel-sub{margin:0}.path-scroll{display:flex;flex-direction:column-reverse;align-items:center;gap:var(--s-5);width:100%}.path-start{display:inline-flex;align-items:center;gap:var(--s-2);margin:0;padding:var(--s-1) var(--s-3);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent-text);background:var(--accent-soft);border-radius:var(--r-pill)}.path-start fl-icon{width:16px;height:16px}.path{--amp: 64px;--node: 68px;display:flex;flex-direction:column-reverse;gap:22px;width:100%;max-width:440px;margin:0;padding:var(--s-5) 0 0;list-style:none}@media(min-width:768px){.path{--amp: 92px;--node: 76px}}.path-step{position:relative;display:flex;justify-content:center}.path-step.has-bubble{margin-top:46px}.node-wrap{position:relative;left:calc(var(--x) * var(--amp));display:grid;place-items:center}.node{--face: color-mix(in srgb, var(--accent) 20%, var(--surface));--edge: color-mix(in srgb, var(--accent) 40%, var(--surface));--ink: var(--accent-text);--size: var(--node);position:relative;display:grid;place-items:center;width:var(--size);height:calc(var(--size) * .9);padding:0;font:inherit;font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--ink);cursor:pointer;background:var(--face);border:0;border-radius:50%;box-shadow:0 7px 0 var(--edge);transition:transform .12s var(--ease),box-shadow .12s var(--ease);-webkit-tap-highlight-color:transparent}.node>fl-icon{width:40%;height:40%}.node.is-done{--face: var(--accent);--edge: color-mix(in oklab, var(--accent) 66%, black);--ink: var(--accent-ink)}.node.is-done:before{position:absolute;inset:9% 24% 62%;pointer-events:none;content:"";background:#fff;border-radius:50%;opacity:.16}.node:active,.node[aria-expanded=true]{transform:translateY(5px);box-shadow:0 2px 0 var(--edge)}.node:focus-visible{outline:3px solid var(--accent-text);outline-offset:10px}.node.is-next{outline:5px solid var(--accent-line);outline-offset:7px}.node.is-ready:after{position:absolute;inset:-6px;pointer-events:none;content:"";border:3px solid var(--accent);border-radius:50%;animation:node-ring 1.8s ease-out infinite}.node.is-redeemed{--face: color-mix(in oklab, var(--accent) 82%, var(--surface))}@media(hover:hover){.node:hover{transform:translateY(-2px);box-shadow:0 9px 0 var(--edge)}}:root[data-theme=dark] .node.is-locked{--face: color-mix(in srgb, var(--accent) 34%, var(--surface));--edge: color-mix(in srgb, var(--accent) 22%, var(--bg))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .node.is-locked{--face: color-mix(in srgb, var(--accent) 34%, var(--surface));--edge: color-mix(in srgb, var(--accent) 22%, var(--bg))}}.node-reward{--size: calc(var(--node) * 1.18)}.node-goal{--size: calc(var(--node) * 1.32)}.node.node-plain{height:var(--size);background:var(--surface);border:3px dashed var(--accent-line);box-shadow:none}.node.node-plain:before{content:none}.node.node-plain.is-done{color:var(--accent-ink);background:var(--accent);border-style:solid;border-color:var(--accent)}.node.node-plain:active,.node.node-plain[aria-expanded=true]{transform:scale(.94);box-shadow:none}.path-step:has(.is-ready) .node-wrap{animation:node-bob 2.4s ease-in-out infinite}.node-badge{position:absolute;right:-2px;bottom:-4px;display:grid;place-items:center;width:26px;height:26px;color:#fff;background:var(--success);border:3px solid var(--bg);border-radius:50%}.node-badge fl-icon{width:14px;height:14px}.node-bubble{position:absolute;bottom:calc(100% + 16px);left:50%;z-index:1;padding:6px var(--s-3);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent-text);white-space:nowrap;pointer-events:none;background:var(--surface);border:2px solid var(--accent-line);border-radius:var(--r-md);box-shadow:0 3px 0 var(--accent-line);transform:translate(-50%);animation:bubble-bob 1.6s ease-in-out infinite}.node-bubble:after{position:absolute;top:100%;left:50%;width:10px;height:10px;margin-top:-4px;content:"";background:inherit;border:inherit;border-width:0 2px 2px 0;transform:translate(-50%) rotate(45deg)}.node-bubble.is-filled{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);box-shadow:0 3px color-mix(in oklab,var(--accent) 66%,black)}.node-caption{position:absolute;top:50%;display:grid;width:max-content;max-width:132px;font-size:var(--fs-sm);line-height:1.3;color:var(--text-3);pointer-events:none;transform:translateY(-50%)}.node-caption strong{font-weight:var(--fw-bold);color:var(--text)}.cap-right{left:calc(100% + 16px)}.cap-left{right:calc(100% + 16px);text-align:right}@media(max-width:479px){.node-caption{max-width:96px}}.path-compact .path{--amp: 44px;--node: 56px;gap:18px}.path-compact .node-caption{max-width:92px}.path-compact .cap-right{left:calc(100% + 12px)}.path-compact .cap-left{right:calc(100% + 12px)}.node-pop{position:absolute;top:calc(100% + 18px);left:50%;z-index:5;display:grid;gap:var(--s-1);width:min(300px,100vw - 32px);padding:var(--s-4);color:var(--accent-ink);background:var(--accent);border-radius:var(--r-lg);box-shadow:var(--shadow-2);transform:translate(-50%);animation:pop-in .18s var(--ease)}.node-pop:before{position:absolute;top:-7px;left:calc(50% + var(--x, 0) * var(--amp));width:16px;height:16px;margin-left:-8px;content:"";background:inherit;border-radius:3px;transform:rotate(45deg)}.node-pop p{margin:0}.node-pop .btn{width:100%;margin-top:var(--s-2)}.node-pop :focus-visible{outline-color:currentColor}.node-pop-img{width:100%;margin-bottom:var(--s-2);aspect-ratio:16/9;object-fit:cover;background:color-mix(in srgb,var(--accent-ink) 14%,transparent);border-radius:var(--r-md)}.node-pop-meta{font-size:var(--fs-sm);opacity:.86}.node-pop-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:1.3}.node-pop-text{font-size:var(--fs-sm)}.node-pop-cond strong{font-weight:var(--fw-bold)}.path.is-entering .node-wrap{animation:node-in .42s var(--ease) both;animation-delay:calc(var(--d) * 60ms)}.path.is-entering .path-step:has(.is-ready) .node-wrap{animation:node-in .42s var(--ease) both,node-bob 2.4s ease-in-out infinite;animation-delay:calc(var(--d) * 60ms),1s}@keyframes node-in{0%{opacity:0;transform:translateY(24px) scale(.6)}to{opacity:1;transform:none}}@keyframes node-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes node-ring{0%{opacity:.9;transform:scale(.96)}to{opacity:0;transform:scale(1.4)}}@keyframes bubble-bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}@keyframes pop-in{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.path.is-entering .node-wrap,.path-step:has(.is-ready) .node-wrap,.node-bubble,.node.is-ready:after,.node-pop{animation:none}.node{transition:none}}.back-link{display:inline-flex;align-items:center;gap:var(--s-2);width:fit-content}.back-link fl-icon{width:18px;height:18px}.plan-page{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6);align-items:start}.plan-page .inline-icon{display:inline-block;width:14px;height:14px;vertical-align:-2px}@media(min-width:1024px){.plan-page{grid-template-columns:minmax(0,1fr) 340px;column-gap:var(--s-7)}.plan-page .plan-aside{position:sticky;top:var(--s-6);grid-column:2;grid-row:1/span 2}}.plan-page .card-skeleton{display:block;height:420px;border-radius:var(--r-xl)}.plan-page .card-skeleton.is-short{height:160px}.plan-page .plan-aside{display:grid;gap:var(--s-5)}.plan-page .plan-hero{position:relative;display:grid;gap:var(--s-4);padding:var(--s-5);overflow:hidden;color:var(--accent-ink);background:linear-gradient(150deg,var(--accent),color-mix(in oklab,var(--accent) 76%,black));border-radius:var(--r-xl);isolation:isolate}.plan-page .plan-hero:after{position:absolute;top:-120px;right:-80px;z-index:-1;width:260px;height:260px;content:"";background:currentColor;border-radius:50%;opacity:.1}.plan-page .plan-hero p{margin:0}.plan-page .plan-hero .progress{background:color-mix(in srgb,currentColor 22%,transparent)}.plan-page .plan-hero .progress-bar{background:currentColor}.plan-page .plan-hero :focus-visible{outline-color:currentColor}.plan-page .plan-summary-main{display:grid;gap:var(--s-3);min-width:0}.plan-page .plan-summary-title{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-bold)}.plan-page .plan-hero-count strong{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.plan-page .plan-hero-next{font-size:var(--fs-sm);opacity:.9}.plan-page .plan-hero-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.plan-page .plan-hero-actions .btn{width:auto}.plan-page .rewards .reward{align-items:flex-start}.plan-page .rewards .tag,.plan-page .rewards .btn{flex:none;margin-left:auto}.plan-page .reward-cond{display:block;margin-top:2px;font-size:var(--fs-sm);color:var(--text-3)}.plan-page .previous-title{margin:var(--s-4) 0 var(--s-2);font-weight:var(--fw-bold)}.plan-page .about-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3)}.plan-page .plan-slogan{font-style:italic;color:var(--text-2)}.plan-page .plan-facts{display:grid;gap:var(--s-2);margin:0 0 var(--s-3)}.plan-page .plan-facts div{display:flex;justify-content:space-between;gap:var(--s-3);font-size:var(--fs-sm)}.plan-page .plan-facts dt{color:var(--text-3)}.plan-page .plan-facts dd{margin:0;font-weight:var(--fw-bold);text-align:right;overflow-wrap:anywhere}.biz-links{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3)}.biz-links .btn{width:auto}.biz-links fl-icon{width:16px;height:16px}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--s-5)}@media(min-width:1024px){.profile-layout{grid-template-columns:minmax(0,340px) minmax(0,1fr)}.profile-card{position:sticky;top:var(--s-6)}}.profile-card{position:relative;display:grid;justify-items:center;gap:var(--s-4);padding:0 var(--s-5) var(--s-5);overflow:hidden;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl)}.profile-card>.btn{width:100%}.profile-photo{position:relative}.avatar-xl{display:grid;place-items:center;width:104px;height:104px;overflow:hidden;font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--accent-text);background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:50%;box-shadow:0 0 0 4px var(--surface),var(--shadow-1)}.avatar-xl img{width:100%;height:100%;object-fit:cover}.photo-btn{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:44px;height:44px;color:var(--accent-ink);cursor:pointer;background:var(--accent);border-radius:50%;box-shadow:0 0 0 3px var(--surface)}.photo-btn fl-icon{width:18px;height:18px}.photo-btn:has(input:focus-visible){outline:2px solid var(--accent-text);outline-offset:3px}@media(hover:hover){.photo-btn:hover{background:color-mix(in oklab,var(--accent) 90%,black)}}.profile-id{display:grid;justify-items:center;gap:var(--s-1)}.profile-id .panel-sub{margin:0}.profile-name{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:1.3;overflow-wrap:anywhere}.profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;padding:var(--s-4) 0;border-block:1px solid var(--border)}.profile-stats div{display:grid;gap:2px}.profile-stats div+div{border-left:1px solid var(--border)}.profile-stats strong{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.profile-stats span{font-size:var(--fs-sm);color:var(--text-3)}.bell-btn{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--text-2);text-decoration:none}.bell-btn fl-icon{width:24px;height:24px}.bell-btn:hover,.bell-btn.is-active{color:var(--accent-text);background:var(--accent-soft)}.bell-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bell-badge{position:absolute;top:2px;right:0;min-width:20px;padding:0 5px;font-size:12px;line-height:20px;box-shadow:0 0 0 2px var(--surface)}@media(min-width:1024px){.mobile-bar .bell-btn{display:none}}.content.inbox{max-width:800px}.inbox .inbox-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3)}.inbox .inbox-list{display:grid;gap:var(--s-2);margin:0;padding:0;list-style:none}.inbox .inbox-item{display:flex;align-items:flex-start;gap:var(--s-3);width:100%;min-height:72px;padding:var(--s-4);font:inherit;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:background-color .15s var(--ease),border-color .15s var(--ease)}.inbox .inbox-item:hover{border-color:var(--accent-line)}.inbox .inbox-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.inbox .inbox-item.is-unread{background:color-mix(in srgb,var(--accent) 5%,var(--surface));border-color:var(--accent-line)}.inbox .inbox-item.is-unread .inbox-title{font-weight:var(--fw-bold)}.inbox .inbox-icon{display:grid;flex:none;place-items:center;width:40px;height:40px;border-radius:var(--r-md);color:var(--accent-text);background:var(--accent-soft)}.inbox .inbox-icon fl-icon{width:20px;height:20px}.inbox .inbox-text{display:grid;flex:1;gap:2px;min-width:0}.inbox .inbox-title{font-weight:var(--fw-regular)}.inbox .inbox-body{font-size:var(--fs-sm);color:var(--text-2)}.inbox .inbox-time{font-size:var(--fs-sm);color:var(--text-3)}.inbox .inbox-dot{flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--accent)}.inbox .inbox-skeleton{display:block;height:88px;border-radius:var(--r-lg)}.inbox .inbox-prefs{display:inline-flex;align-items:center;gap:var(--s-2);justify-self:start;min-height:44px}.inbox .inbox-prefs fl-icon{width:18px;height:18px}.success.is-warning .success-icon{color:#fff;background:var(--danger);box-shadow:0 0 0 10px var(--danger-soft)}.form-row{display:flex;justify-content:flex-end;margin-top:calc(-1 * var(--s-2));font-size:var(--fs-sm)}#notificaciones{scroll-margin-top:88px}@media(min-width:1024px){#notificaciones{scroll-margin-top:var(--s-5)}}.push-prompt{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-3) var(--s-4);margin-bottom:var(--s-6);padding:var(--s-4);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-lg)}.push-prompt-icon{display:grid;place-items:center;width:40px;height:40px;color:var(--accent-ink);background:var(--accent);border-radius:50%}.push-prompt-icon fl-icon{width:20px;height:20px}.push-prompt-copy{display:grid;gap:var(--s-1)}.push-prompt-title{margin:0;font-size:var(--fs-md)}.push-prompt-text{margin:0;font-size:var(--fs-sm);color:var(--text-2)}.push-prompt-actions{display:flex;grid-column:1/-1;justify-content:flex-end;gap:var(--s-2)}.push-prompt-actions .btn{width:auto}@media(min-width:768px){.push-prompt{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.push-prompt-actions{grid-column:auto}}.form-alert.push-status{align-items:center;margin-bottom:var(--s-4);color:var(--text-2);background:var(--accent-soft);border-color:var(--accent-line)}.form-alert.push-status fl-icon{flex:none;margin-top:0;color:var(--accent-text)}.form-alert.push-status span{flex:1}.form-alert.push-status .btn{flex:none;width:auto}.is-cita{--evt: var(--accent);--evt-bg: color-mix(in srgb, var(--accent) 14%, var(--surface));--evt-text: var(--accent-text)}.is-otra{--evt: color-mix(in srgb, var(--text) 55%, var(--surface));--evt-bg: var(--surface-2);--evt-text: var(--text)}.main:has(>app-agenda-page){display:flex;flex-direction:column;height:100dvh}app-agenda-page{display:flex;flex:1;min-height:0}.agenda-page.content{display:flex;flex-direction:column;flex:1;min-height:0;padding-top:var(--s-3)}.agenda-page .agenda-panel{display:flex;flex-direction:column;flex:1;gap:var(--s-3);min-width:0;min-height:0;padding:var(--s-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl)}.agenda-page .agenda-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3)}.agenda-page .agenda-nav{display:flex;flex:1;align-items:center;gap:var(--s-1);min-width:0}.agenda-page .agenda-nav .btn{width:auto;margin-right:var(--s-2)}.agenda-page .agenda-range{margin-left:var(--s-2);font-size:var(--fs-md);font-weight:var(--fw-bold)}.agenda-page .agenda-add{flex:none;order:2;width:44px;height:44px;padding:0}.agenda-page .agenda-options{display:flex;flex-wrap:wrap;align-items:center;order:3;gap:var(--s-3);width:100%}.agenda-page .agenda-views{width:100%}.agenda-page .agenda-hint{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-3)}.agenda-page .agenda-hint fl-icon{width:16px;height:16px}.agenda-page .agenda-scroll{--gutter: 52px;--col-min: 136px;position:relative;flex:1;min-height:240px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--r-lg)}.agenda-page .agenda-scroll.view-dia{--col-min: 0px}.agenda-page .agenda-head,.agenda-page .agenda-body{display:grid;grid-template-columns:var(--gutter) repeat(var(--days),minmax(var(--col-min),1fr));min-width:fit-content}.agenda-page .view-dia :is(.agenda-head,.agenda-body){min-width:0}.agenda-page .agenda-head{position:sticky;top:0;z-index:4;background:var(--surface);border-bottom:1px solid var(--border)}.agenda-page .agenda-corner{position:sticky;left:0;z-index:1;background:var(--surface)}.agenda-page .agenda-dayhead{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:56px;padding:var(--s-2);font:inherit;text-align:left;color:var(--text-2);background:transparent;border:0;border-left:1px solid var(--border);cursor:pointer}.agenda-page .agenda-dayhead:disabled{cursor:default}.agenda-page .agenda-dayhead strong{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text)}.agenda-page .agenda-dayhead.is-today{color:var(--accent-text);box-shadow:inset 0 -3px 0 var(--accent)}.agenda-page .agenda-dayhead.is-today strong{color:var(--accent-text)}.agenda-page .agenda-weekday{font-size:var(--fs-sm)}.agenda-page .agenda-count{position:absolute;top:var(--s-2);right:var(--s-2);min-width:22px;padding:0 6px;font-size:var(--fs-sm);line-height:22px;text-align:center;border-radius:var(--r-pill);background:var(--surface-2)}.agenda-page .agenda-body{position:relative;height:calc(var(--hour) * 24)}.agenda-page .agenda-hours{position:sticky;left:0;z-index:3;background:var(--surface)}.agenda-page .agenda-hour{position:absolute;right:var(--s-2);font-size:.75rem;line-height:1;color:var(--text-3);white-space:nowrap;transform:translateY(-50%)}.agenda-page .agenda-col{position:relative;min-width:0;border-left:1px solid var(--border);cursor:cell;background-image:repeating-linear-gradient(to bottom,var(--border) 0 1px,transparent 1px calc(var(--hour) / 2),color-mix(in srgb,var(--border) 50%,transparent) calc(var(--hour) / 2) calc(var(--hour) / 2 + 1px),transparent calc(var(--hour) / 2 + 1px) var(--hour))}.agenda-page .agenda-col.is-today{background-color:color-mix(in srgb,var(--accent) 4%,transparent)}.agenda-page .agenda-event{position:absolute;z-index:1;display:flex;flex-direction:column;gap:2px;min-height:18px;padding:6px var(--s-2) 6px 10px;overflow:hidden;font:inherit;font-size:var(--fs-sm);line-height:1.25;text-align:left;color:var(--evt-text);background:var(--evt-bg);border:0;border-left:4px solid var(--evt);border-radius:var(--r-sm);box-shadow:0 0 0 1px var(--surface);cursor:pointer;transition:box-shadow .15s var(--ease),filter .15s var(--ease)}.agenda-page .agenda-event>span{flex:none}.agenda-page .agenda-event:focus-visible{z-index:2;outline:2px solid var(--accent-text);outline-offset:1px}.agenda-page .agenda-event-title{display:-webkit-box;min-width:0;overflow:hidden;font-weight:var(--fw-bold);overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.agenda-page .agenda-event-title fl-icon{display:inline-block;width:14px;height:14px;margin-right:4px;vertical-align:-2px}.agenda-page .agenda-event-time{color:var(--text-2)}.agenda-page .agenda-event-sub{display:-webkit-box;overflow:hidden;color:var(--text-2);-webkit-box-orient:vertical;-webkit-line-clamp:2}.agenda-page .agenda-event.is-compact{flex-direction:row;align-items:center;gap:var(--s-2);padding-block:0}.agenda-page .agenda-event.is-compact .agenda-event-title{flex:0 1 auto;min-width:45%;-webkit-line-clamp:1}.agenda-page .agenda-event.is-compact .agenda-event-time{flex:0 1 auto;min-width:0;overflow:hidden;font-size:.75rem;white-space:nowrap}.agenda-page .agenda-event.is-short{gap:0;padding-block:2px;line-height:1.2}.agenda-page .agenda-event.is-short .agenda-event-title{-webkit-line-clamp:1}.agenda-page .agenda-now{position:absolute;inset-inline:0;z-index:2;height:2px;background:var(--danger);pointer-events:none}.agenda-page .agenda-now:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--danger)}.agenda-page .agenda-scroll.view-mes{overflow-x:hidden;overflow-y:auto}.agenda-page .month-head,.agenda-page .month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.agenda-page .month-head{border-bottom:1px solid var(--border)}.agenda-page .month-head>span{padding:var(--s-2) 4px;font-size:var(--fs-sm);text-align:center;color:var(--text-2)}.agenda-page .month-wd-long{display:none}.agenda-page .month-cell{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;min-height:76px;padding:4px 2px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer}.agenda-page .month-cell:nth-child(7n){border-right:0}.agenda-page .month-cell:nth-last-child(-n+7){border-bottom:0}.agenda-page .month-cell.is-out{background:color-mix(in srgb,var(--surface-2) 45%,transparent)}.agenda-page .month-cell.is-out .month-day{color:var(--text-3)}.agenda-page .month-cell.is-today .month-day{color:var(--accent-ink);background:var(--accent)}.agenda-page .month-day{display:grid;place-items:center;min-width:32px;height:32px;padding:0 6px;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);background:transparent;border:0;border-radius:var(--r-pill);cursor:pointer}.agenda-page .month-events{display:grid;gap:2px;width:100%;margin:0;padding:0;list-style:none}.agenda-page .month-event{display:flex;align-items:baseline;gap:6px;width:100%;height:6px;min-height:6px;padding:0;overflow:hidden;font:inherit;font-size:.8125rem;line-height:1.3;text-align:left;color:var(--evt-text);background:var(--evt);border:0;border-radius:var(--r-pill);cursor:pointer}.agenda-page .month-event>span{display:none}.agenda-page .month-event-time{flex:none;color:var(--text-2)}.agenda-page .month-event-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-bold)}.agenda-page .month-more{padding:2px 4px;font:inherit;font-size:.75rem;font-weight:var(--fw-bold);color:var(--accent-text);background:transparent;border:0;border-radius:var(--r-sm);cursor:pointer}@media(hover:hover){.agenda-page .agenda-dayhead:not(:disabled):hover,.agenda-page .month-day:hover{background:var(--surface-2)}.agenda-page .agenda-event:hover{z-index:2;box-shadow:0 0 0 1px var(--surface),var(--shadow-1);filter:saturate(1.15)}.agenda-page .month-cell:hover{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.agenda-page .month-more:hover{background:var(--accent-soft)}}@media(min-width:768px){.agenda-page .agenda-panel{padding:var(--s-4)}.agenda-page .agenda-range{font-size:var(--fs-lg)}.agenda-page .agenda-options{order:2;width:auto}.agenda-page .agenda-add{order:3}.agenda-page .agenda-views{width:auto;min-width:300px}.agenda-page .agenda-scroll{--gutter: 64px;--col-min: 140px}.agenda-page .agenda-dayhead{padding:var(--s-2) var(--s-3)}.agenda-page .view-dia .agenda-dayhead{flex-direction:row;align-items:baseline;gap:var(--s-2)}.agenda-page .agenda-event{padding:4px var(--s-2) 4px 10px}.agenda-page .month-head>span{padding:var(--s-2) var(--s-3);text-align:left}.agenda-page .month-wd-long{display:inline}.agenda-page .month-wd-short{display:none}.agenda-page .month-cell{align-items:stretch;min-height:124px;padding:var(--s-1) var(--s-1) var(--s-2);cursor:cell}.agenda-page .month-day{align-self:flex-start;min-width:28px;height:28px}.agenda-page .month-event{height:auto;min-height:24px;padding:2px 6px 2px 8px;background:var(--evt-bg);border-left:3px solid var(--evt);border-radius:var(--r-sm)}.agenda-page .month-event>span{display:inline}.agenda-page .month-more{align-self:flex-start;padding:2px 6px;font-size:.8125rem}}@media(min-width:1024px){.agenda-page .agenda-scroll{--col-min: 108px}}.time-range{display:flex;align-items:center;gap:var(--s-2);color:var(--text-3)}.time-range .input{flex:1;min-width:0;padding:0 var(--s-3)}.agenda-conflict{display:flex;align-items:flex-start;gap:var(--s-2);margin:0;padding:var(--s-2) var(--s-3);font-size:var(--fs-sm);color:var(--text-2);background:var(--surface-2);border-radius:var(--r-sm)}.agenda-conflict fl-icon{flex:none;width:16px;height:16px;margin-top:2px;color:var(--accent-text)}.agenda-conflict strong{font-weight:var(--fw-bold);color:var(--text)}.activity-form .picked-client{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--surface-2);border-radius:var(--r-md)}.activity-form .picked-client .list-main{flex:1;min-width:0}.activity-form .client-results{margin:0;padding:var(--s-1);list-style:none;border:1px solid var(--border);border-radius:var(--r-md)}.activity-form .client-results .list-row{width:100%;font:inherit;text-align:left;color:inherit;background:transparent;border:0;border-radius:var(--r-sm);cursor:pointer}.activity-form .client-results .list-row:focus-visible{outline:2px solid var(--accent-text)}.activity-form .client-results-empty{padding:var(--s-3);font-size:var(--fs-sm);color:var(--text-3)}.activity-form .btn-ghost-danger{justify-self:center}@media(hover:hover){.activity-form .client-results .list-row:hover{background:var(--surface-2)}}.appts .appt-time{display:grid;flex:none;min-width:56px;font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:1.3}.appts .appt-time span{font-weight:var(--fw-regular);color:var(--text-3)}.appts .appt.is-now{margin-inline:calc(var(--s-3) * -1);padding-inline:var(--s-3);background:var(--accent-soft);border-radius:var(--r-md)}.appts .appt.is-done :is(.appt-time,.list-main,.avatar){opacity:.55}.appts .appt .list-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appts .appt .list-main .tag{justify-self:start;margin-top:var(--s-1)}.appts-more{display:flex;align-items:flex-start;gap:var(--s-2);margin:0;padding-top:var(--s-3);font-size:var(--fs-sm);color:var(--text-2);border-top:1px solid var(--border)}.appts-more fl-icon{flex:none;width:16px;height:16px;margin-top:2px;color:var(--text-3)}.welcome{position:relative;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--s-4);height:100dvh;overflow-y:auto;padding:calc(var(--s-4) + env(safe-area-inset-top)) 0 calc(var(--s-5) + env(safe-area-inset-bottom));color:var(--accent-ink);background:linear-gradient(160deg,var(--accent) 0%,color-mix(in oklab,var(--accent) 72%,black) 100%);isolation:isolate}.welcome:before{content:"";position:absolute;z-index:-1;width:520px;height:520px;top:-260px;right:-220px;border-radius:50%;background:currentColor;opacity:.08;pointer-events:none}.welcome :focus-visible{outline-color:currentColor}.welcome-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:0 var(--s-4)}.welcome-top .brand{display:inline-flex;align-items:center;gap:var(--s-2);padding:0;font-size:var(--fs-lg);font-weight:var(--fw-bold);color:inherit;text-decoration:none}.welcome-top .brand-mark{color:var(--accent-ink)}.welcome-top .role-badge{color:inherit;background:color-mix(in srgb,currentColor 14%,transparent)}.welcome .carousel{min-height:0}.welcome-slide{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:var(--s-5);padding:0 var(--s-5);text-align:center}.welcome-art{position:relative;display:grid;place-items:center;min-height:0;container:welcome-art/size}.welcome-copy{display:grid;gap:var(--s-2);max-width:26rem;margin:0 auto}.welcome-copy h2{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.welcome-copy p{margin:0;opacity:.86;text-wrap:pretty}.welcome-icon{display:grid;place-items:center;width:148px;height:148px;border-radius:50%;background:color-mix(in srgb,currentColor 14%,transparent);box-shadow:0 0 0 20px color-mix(in srgb,currentColor 6%,transparent),0 0 0 44px color-mix(in srgb,currentColor 4%,transparent)}.welcome-icon fl-icon{width:64px;height:64px}.welcome-art .float-chip{position:absolute;width:max-content;height:max-content;color:#14161c;background:#fff}.welcome-art .float-chip .reward-icon{color:color-mix(in oklab,var(--accent) 82%,black);background:color-mix(in srgb,var(--accent) 14%,#fff)}.welcome-chip-a{top:12%;left:6%}.welcome-chip-b{bottom:10%;right:6%;animation-delay:-2s}.welcome-card{width:min(100%,340px);max-height:100%;text-align:left;color:var(--text)}.welcome-actions{display:grid;gap:var(--s-3);padding:0 var(--s-4)}.welcome-actions .btn-primary{color:color-mix(in oklab,var(--accent) 82%,black);background:#fff;box-shadow:0 8px 24px color-mix(in srgb,black 18%,transparent)}@media(hover:hover){.welcome-actions .btn-primary:hover{background:color-mix(in srgb,#fff 90%,var(--accent))}}.welcome-actions .btn-ghost{color:inherit;border-color:color-mix(in srgb,currentColor 45%,transparent)}@media(hover:hover){.welcome-actions .btn-ghost:hover{background:color-mix(in srgb,currentColor 10%,transparent)}}.carousel{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:var(--s-3)}.carousel-track{display:flex;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.carousel-dots{display:flex;justify-content:center}.carousel-dot{display:grid;place-items:center;width:32px;height:44px;padding:0;color:inherit;background:none;border:0;cursor:pointer}.carousel-dot:before{content:"";width:8px;height:8px;border-radius:var(--r-pill);background:currentColor;opacity:.4;transition:width .2s var(--ease),opacity .2s var(--ease)}.carousel-dot.is-active:before{width:24px;opacity:1}.auth-sheet{display:grid;gap:var(--s-5)}.auth-sheet .panel-title,.auth-sheet .role-badge{display:none}@media(prefers-reduced-motion:reduce){.carousel-dot:before{transition:none}}.welcome .welcome-card .rewards,.welcome .welcome-card .client-row:nth-child(n+3){display:none}.welcome-path{display:grid;gap:var(--s-2);width:min(100%,300px);padding:var(--s-4) var(--s-4) var(--s-5);color:var(--text);text-align:left;pointer-events:none;background:var(--surface);border-radius:var(--r-xl);box-shadow:0 16px 40px color-mix(in srgb,black 22%,transparent)}.welcome-path .path-compact .path{--amp: 40px;--node: 44px;gap:14px;padding-top:var(--s-2)}.welcome-path .path-step.has-bubble{margin-top:40px}.welcome-path .node{font-size:var(--fs-md)}.welcome-path .node-caption{max-width:88px}.welcome-path-head{display:flex;justify-content:space-between;margin:0;font-size:var(--fs-sm);color:var(--text-2)}.welcome-path-head strong{color:var(--text)}@container welcome-art (max-height: 380px){.welcome .welcome-card .stats,.welcome .welcome-card .rewards,.welcome .welcome-card .section-label{display:none}.welcome-path .path-compact .path{--node: 36px;gap:10px}.welcome-icon{width:116px;height:116px}.welcome-icon fl-icon{width:52px;height:52px}}@container welcome-art (max-height: 300px){.welcome .welcome-card .client-list,.welcome .welcome-card .card-foot,.welcome-path .path-step:first-child{display:none}}:root{--accent: #5b3cf5}
