.site-header{display:flex;align-items:center;gap:.75rem;padding:.85rem max(1.25rem,calc((100vw - 75rem)/2));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{color:var(--accent);font-size:1.35rem;font-weight:800;letter-spacing:-.035em;text-decoration:none}.site-nav{display:flex;flex:1;gap:1rem;min-width:0}.site-nav a{color:var(--ink-soft);text-decoration:none;white-space:nowrap}.site-nav a:hover,.site-nav a.active{color:var(--accent-deep)}.site-header-controls{display:flex;gap:.35rem}.site-header-controls .ghost-button{min-width:2.4rem;padding:.4rem .5rem}.theme-toggle svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media screen and (max-width:560px){.site-header{padding:.7rem .9rem}.brand{font-size:1.15rem}.site-nav{gap:.75rem;font-size:.85rem}}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:2rem 1.5rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.9rem}.site-footer-nav{display:flex;flex-wrap:wrap;gap:1.25rem}.site-footer-nav a{color:inherit;text-decoration:none}.site-footer-nav a:hover,.site-footer-nav a:focus-visible{color:var(--ink);text-decoration:underline}.site-footer-note{margin:0}@media screen and (max-width:720px){.site-footer{flex-direction:column;align-items:flex-start}}.toast{position:fixed;z-index:80;bottom:1.1rem;inset-inline:0;display:flex;align-items:center;gap:.75rem;width:max-content;max-width:min(28rem,calc(100vw - 2rem));margin-inline:auto;padding:.65rem .9rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-md);font-size:.85rem}.toast-message{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-undo{flex:none;padding:.2rem .6rem;border:1px solid var(--accent);border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-weight:700;cursor:pointer}.toast-close{flex:none;padding:0;border:0;background:none;color:var(--ink-soft);font-size:1.1rem;line-height:1;cursor:pointer}@media screen and (max-width:720px){.toast{bottom:calc(4.9rem + env(safe-area-inset-bottom))}}@media print{.toast{display:none!important}}.app-layout{min-height:100vh;background:var(--paper)}.app-layout main{width:min(100%,75rem);margin:0 auto;padding:2.25rem 1.25rem 3rem}@media screen and (max-width:620px){.app-layout main{padding:1.4rem 1rem 2.25rem}}.not-found{text-align:center;padding:6rem 1rem}.spinner{display:flex;align-items:center;justify-content:center;padding:3rem 1rem}.spinner.is-inline{padding:0}.spinner-gif{display:block;height:4.5rem;width:auto}.spinner-ring,.spinner.is-inline .spinner-gif{display:none}.spinner.is-inline .spinner-ring{display:block;width:1rem;height:1rem;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spinner-spin .7s linear infinite}@keyframes spinner-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner-gif{display:none}.spinner-ring{display:block;width:1.75rem;height:1.75rem;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spinner-fade 1.2s ease-in-out infinite}.spinner.is-inline .spinner-ring{width:1rem;height:1rem;animation:spinner-fade 1.2s ease-in-out infinite}@keyframes spinner-fade{50%{opacity:.35}}}.product-panel{position:relative;overflow:hidden;width:100%;max-width:min(48rem,calc((100dvh - 11rem)*1.05));margin:0;border-radius:1.5rem;animation:product-panel-in .9s ease-out .12s both}.product-panel-logo{width:100%;height:100%;object-fit:contain;object-position:top center}video{width:100%;border:1px solid var(--line);height:100%;object-fit:contain;object-position:top center}.product-panel-debt{position:absolute;inset-block-end:0;inset-inline:0;display:block;width:118%;height:auto;max-width:none;border-block-start:1px solid var(--line)}.product-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to bottom,transparent 55%,color-mix(in srgb,var(--paper) 55%,transparent))}@keyframes product-panel-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.product-panel{animation:none}}.home-hero{position:relative;display:flex;align-items:center;min-height:clamp(22rem,calc(100dvh - 16rem),40rem);padding:1.1rem 0}.home-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);align-items:center;gap:clamp(1.25rem,3vw,2.75rem);width:100%}.home-hero-left{display:flex;flex-direction:column;align-items:center;width:100%;max-width:31rem;margin-inline:auto;text-align:center}.home-hero-eyebrow{margin:0 0 .9rem;color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;animation:home-rise .7s ease-out both}.home-hero-title{margin:0;max-width:16ch;font-family:Heebo,Heebo,serif;font-weight:700;font-size:7em;line-height:1.1;letter-spacing:-.12em;animation:home-rise .7s ease-out 90ms both}.home-hero-sub{max-width:27rem;margin:1.1rem 0 0;color:var(--ink-soft);font-family:Heebo,Heebo,serif;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.55;animation:home-rise .7s ease-out .17s both}.home-auth-card{margin-top:clamp(1.5rem,3.5vh,2.25rem);animation:home-rise .7s ease-out .25s both}.home-secondary-link{margin-top:1.4rem;animation:home-rise .7s ease-out .32s both}.home-hero-right{display:flex;justify-content:center}@keyframes home-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.home-hero-eyebrow,.home-hero-title,.home-hero-sub,.home-auth-card,.home-secondary-link{animation:none}}@media screen and (max-width:960px){.home-hero-grid{grid-template-columns:1fr}.home-hero-right{order:-1;margin-bottom:1rem}.home-hero-right .product-panel{max-width:14rem}}@media screen and (max-width:620px){.home-hero{min-height:clamp(18rem,calc(100dvh - 13rem),34rem);padding:1.5rem 0}.home-hero-title{font-size:clamp(2.4rem,13vw,3.4rem)}}.pricing-tiers{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:clamp(1.35rem,3vw,2rem);border:1px solid var(--accent);border-radius:var(--pricing-card-radius, 1.4rem);background:var(--surface);box-shadow:0 18px 50px color-mix(in srgb,var(--accent) 12%,transparent)}.pricing-tiers:before{position:absolute;inset:0 0 auto;height:.28rem;background:linear-gradient(90deg,var(--accent-deep),var(--accent-bright));content:""}.pricing-tier-badge{margin-bottom:.55rem;padding:.27rem .65rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep)}.pricing-tiers .pricing-plan-heading h2{margin:0;font-size:clamp(1.35rem,2vw,1.65rem);letter-spacing:-.025em}.pricing-billing-toggle{margin:1.15rem 0 0;padding:0;border:0}.pricing-billing-options{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface-muted)}.pricing-billing-options button{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;padding:.5rem .7rem;border:0;border-radius:.6rem;background:transparent;color:var(--ink-soft);font:inherit;font-size:.84rem;font-weight:750;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .1s ease-out}.pricing-billing-options button span{padding:.08rem .34rem;border-radius:999px;background:var(--secondary-soft);color:var(--secondary-deep);font-size:.64rem;white-space:nowrap}@media(hover:hover)and (pointer:fine){.pricing-billing-options button:hover{color:var(--ink)}}.pricing-billing-options button:active{transform:scale(.96)}.pricing-billing-options button.is-selected{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.pricing-billing-options button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pricing-tier-price{display:flex;align-items:baseline;gap:.5rem;min-height:3.15rem;margin:.7rem 0 0;font-size:clamp(2.1rem,5vw,3.15rem);font-variant-numeric:tabular-nums;font-weight:800;line-height:1;letter-spacing:-.045em}.pricing-tier-price span{color:var(--ink-soft);font-size:.86rem;font-weight:600;letter-spacing:0}.pricing-tier-alternate{margin:.45rem 0 0;color:var(--ink-soft);font-size:.78rem}.pricing-tiers .pricing-plan-sub{margin:.75rem 0 0;color:var(--ink-soft);font-size:.94rem;line-height:1.55}.pricing-tiers .pricing-feature-list{display:flex;flex:1;flex-direction:column;gap:.62rem;margin:1.55rem 0;padding:0;list-style:none}.pricing-tiers .pricing-feature-list li{display:flex;align-items:flex-start;gap:.6rem;color:var(--ink-soft);font-size:.91rem;line-height:1.45}.pricing-tiers .pricing-feature-list svg{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.08rem;border-radius:50%;background:var(--secondary-soft);stroke:var(--secondary-deep);stroke-width:2;fill:none}.pricing-tiers .primary-button{width:100%;min-height:3.1rem}.pricing-trial-note,.pricing-unavailable,.pricing-tier-error{margin:.75rem 0 0;text-align:center;font-size:.78rem;line-height:1.45}.pricing-trial-note{color:var(--ink-soft)}.pricing-unavailable{color:var(--cancelled-charged)}.pricing-tier-error{color:var(--unpaid)}.pricing-tiers .primary-button:disabled{box-shadow:none}@media screen and (max-width:420px){.pricing-billing-options button{flex-direction:column;gap:.15rem}}@media(prefers-reduced-motion:reduce){.pricing-billing-options button{transition:none}}.pricing-page{--pricing-card-radius: 1.4rem;max-width:68rem;margin:0 auto;padding-bottom:2rem}.pricing-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(17rem,.7fr);align-items:end;gap:clamp(2rem,7vw,6rem);padding:clamp(2.5rem,8vw,6rem) 0 clamp(2.25rem,6vw,4.5rem)}.pricing-hero-copy{max-width:44rem}.pricing-eyebrow{margin:0 0 .75rem;color:var(--accent-deep);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pricing-hero h1{max-width:13ch;margin:0;font-size:clamp(2.65rem,7vw,5.6rem);font-weight:800;line-height:.97;letter-spacing:-.065em}.pricing-hero-copy>p:last-child{max-width:41rem;margin:1.35rem 0 0;color:var(--ink-soft);font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65}.pricing-flow{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:.55rem;min-width:17rem;padding:1rem 1.1rem;border-block:1px solid var(--line-strong);color:var(--ink-soft);font-size:.82rem;font-weight:650}.pricing-flow i{position:relative;display:block;height:1px;background:var(--line-strong)}.pricing-flow i:after{position:absolute;inset-block-start:50%;inset-inline-end:-1px;width:.38rem;height:.38rem;border-block-start:1px solid var(--ink-soft);border-inline-end:1px solid var(--ink-soft);content:"";transform:translateY(-50%) rotate(45deg)}[dir=rtl] .pricing-flow i:after{transform:translateY(-50%) rotate(-135deg)}.pricing-flow strong{color:var(--accent-deep);font-weight:800}.pricing-plan-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:stretch;gap:1rem}.pricing-plan{display:flex;flex-direction:column;min-width:0;padding:clamp(1.35rem,3vw,2rem);border:1px solid var(--line-strong);border-radius:var(--pricing-card-radius);background:var(--surface)}.pricing-plan-free{margin-block:1.2rem}.pricing-plan-heading h2{margin:0;font-size:clamp(1.35rem,2vw,1.65rem);letter-spacing:-.025em}.pricing-plan-kicker,.pricing-tier-badge{width:fit-content;margin:0 0 .55rem;color:var(--ink-soft);font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.pricing-plan-price,.pricing-tier-price{display:flex;align-items:baseline;gap:.5rem;margin:.7rem 0 0;font-size:clamp(2.1rem,5vw,3.15rem);font-variant-numeric:tabular-nums;font-weight:800;line-height:1;letter-spacing:-.045em}.pricing-plan-price span,.pricing-tier-price span{color:var(--ink-soft);font-size:.86rem;font-weight:600;letter-spacing:0}.pricing-plan-sub{margin:.75rem 0 0;color:var(--ink-soft);font-size:.94rem;line-height:1.55}.pricing-feature-list{display:flex;flex:1;flex-direction:column;gap:.62rem;margin:1.55rem 0;padding:0;list-style:none}.pricing-feature-list li{display:flex;align-items:flex-start;gap:.6rem;color:var(--ink-soft);font-size:.91rem;line-height:1.45}.pricing-feature-list svg{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.08rem;border-radius:50%;background:var(--secondary-soft);stroke:var(--secondary-deep);stroke-width:2;fill:none}.pricing-plan .primary-button,.pricing-plan .ghost-button{width:100%;min-height:3.1rem}.pricing-notes{display:grid;grid-template-columns:.55fr 1.45fr;gap:1.5rem 3rem;margin-top:clamp(2.5rem,7vw,5rem);padding-top:1.5rem;border-top:1px solid var(--line-strong)}.pricing-notes h2{margin:0;font-size:1rem}.pricing-notes ul{display:grid;gap:.45rem;margin:0;padding-inline-start:1.15rem;color:var(--ink-soft);font-size:.86rem}.pricing-notes>p{grid-column:2;margin:0;font-size:.86rem}.pricing-notes a{color:var(--ink-soft);text-underline-offset:.2em}.pricing-notes a:hover{color:var(--accent-deep)}@media screen and (max-width:780px){.pricing-hero{grid-template-columns:1fr;gap:2rem}.pricing-flow{max-width:24rem}.pricing-plan-grid{grid-template-columns:1fr}.pricing-plan-free{margin:0}}@media screen and (max-width:520px){.pricing-page{--pricing-card-radius: 1.15rem}.pricing-hero{padding-top:2rem}.pricing-hero h1{max-width:11ch;font-size:clamp(2.55rem,14vw,4rem)}.pricing-flow{min-width:0;padding-inline:.2rem;font-size:.76rem}.pricing-plan{padding:1.25rem}.pricing-notes{grid-template-columns:1fr}.pricing-notes>p{grid-column:1}}@media(prefers-reduced-motion:reduce){.pricing-plan .primary-button,.pricing-plan .ghost-button{transition:none}}.welcome-page{max-width:32rem;margin:0 auto;padding:4rem 0;text-align:center}.welcome-page h1{margin:0 0 1rem;font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:-.02em}.welcome-note{color:var(--ink-soft);font-size:.9rem}.welcome-page .primary-button{display:inline-flex;justify-content:center;margin-top:1.5rem;padding:.7rem 1.4rem}.legal-page{max-width:44rem;margin:0 auto;padding:2rem 1.25rem 4rem;line-height:1.65}.legal-page-header{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.legal-page-header h1{margin:.5rem 0 0;font-size:clamp(1.6rem,4vw,2.2rem)}.legal-page-updated{margin:0;color:var(--ink-soft);font-size:.9rem}.legal-page h2{margin:2rem 0 .5rem;font-size:1.05rem}.legal-page p{margin:0 0 .85rem}.legal-page ul{margin:0 0 .85rem;padding-inline-start:1.25rem}.legal-page li{margin-bottom:.35rem}.desktop-app-menu{order:3;grid-column:1 / -1;display:flex;justify-content:center;gap:.18rem;margin-top:-.2rem}.app-menu-item,.desktop-quick-entry{position:relative;display:flex;align-items:center;gap:.35rem;min-height:2.35rem;padding:.42rem .68rem;border-radius:var(--radius-sm);color:var(--ink-soft);font-size:.76rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .16s ease,background .16s ease,transform .16s ease}.app-menu-item svg,.desktop-quick-entry svg,.mobile-quick-entry svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-menu-item:hover{color:var(--secondary-deep);background:var(--secondary-soft)}.app-menu-item:active{transform:scale(.92)}.app-menu-item.is-active{color:var(--accent-deep);background:var(--accent-soft)}.app-menu-item.is-active:after{content:"";position:absolute;inset-inline:25%;bottom:0;height:2px;border-radius:2px;background:var(--accent)}.desktop-quick-entry{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-deep));box-shadow:0 5px 14px var(--accent-glow)}.desktop-quick-entry:hover{color:#fff;transform:translateY(-1px)}.mobile-app-menu{display:none}@media screen and (max-width:900px)and (min-width:721px){.app-menu-item,.desktop-quick-entry{padding-inline:.48rem}.app-menu-item span,.desktop-quick-entry span{display:none}}@media screen and (max-width:720px){.desktop-app-menu{display:none}.mobile-app-menu{position:fixed;z-index:60;inset-inline:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;height:calc(4.1rem + env(safe-area-inset-bottom));padding:.35rem .45rem calc(.35rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.mobile-app-menu:before{content:"";position:absolute;inset-inline:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),var(--secondary),transparent);opacity:.4}.mobile-app-menu .app-menu-item{flex-direction:column;justify-content:center;gap:.12rem;min-height:3rem;padding:.25rem;font-size:.66rem}.mobile-app-menu .app-menu-item svg{width:1.35rem;height:1.35rem}.mobile-quick-entry{position:relative;top:-.72rem;justify-self:center;display:grid;place-items:center;width:3.3rem;height:3.3rem;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--accent-deep),var(--accent));box-shadow:0 5px 18px #f9731675,0 0 0 4px var(--paper)}.mobile-quick-entry svg{width:1.55rem;height:1.55rem;stroke-width:2.2}}.nav-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#090e178c;animation:nav-drawer-fade .16s ease}.nav-drawer{position:fixed;inset-block:0;inset-inline-start:0;display:flex;flex-direction:column;width:min(82vw,19rem);padding:max(env(safe-area-inset-top),.75rem) 0 max(env(safe-area-inset-bottom),.75rem);overflow-y:auto;background:var(--surface);box-shadow:.5rem 0 2rem #090e174d;animation:nav-drawer-in .2s ease}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem 1.1rem 1rem;border-bottom:1px solid var(--line)}.nav-drawer-title{color:var(--accent);font-size:1.05rem;font-weight:800}.nav-drawer-close{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:0;border-radius:50%;background:transparent;color:var(--ink-soft);cursor:pointer}.nav-drawer-close:hover{background:var(--surface-muted);color:var(--ink)}.nav-drawer-list{display:flex;flex-direction:column;margin:0;padding:.5rem .6rem;list-style:none}.nav-drawer-item{display:flex;align-items:center;gap:.75rem;min-height:2.9rem;padding:.5rem .6rem;border-radius:var(--radius-sm);color:var(--ink-soft);font-size:.9rem;font-weight:600;text-decoration:none}.nav-drawer-item svg{width:1.25rem;height:1.25rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-drawer-item:hover{color:var(--secondary-deep);background:var(--secondary-soft)}.nav-drawer-item.is-active{color:var(--accent-deep);background:var(--accent-soft)}.nav-drawer-list-plain .nav-drawer-item{min-height:2.5rem;font-size:.86rem}button.nav-drawer-item{width:100%;border:0;background:transparent;font:inherit;text-align:inherit;cursor:pointer}.nav-drawer-action{justify-content:space-between}.nav-drawer-action-value{color:var(--ink-soft);font-size:.78rem;font-weight:500}.nav-drawer-section-title{margin:.35rem 1.1rem 0;padding-top:.6rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}@keyframes nav-drawer-fade{0%{opacity:0}}@keyframes nav-drawer-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.nav-drawer-overlay,.nav-drawer{animation:none}}.authenticated-header{position:relative;z-index:50;flex:none;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:1rem;min-height:4rem;padding:max(env(safe-area-inset-top),.25rem) 1.25rem 0;border-bottom:1px solid var(--line);background:var(--paper)}.authenticated-header:after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--secondary),var(--accent),transparent);opacity:.42}.app-brand{display:flex;align-items:center;gap:.55rem;color:var(--ink);text-decoration:none}.app-brand img{width:2.25rem;height:2.25rem;object-fit:contain}.app-brand-copy{display:flex;flex-direction:column;line-height:1.1}.app-brand-copy strong{color:var(--accent);font-size:1.02rem;font-weight:800}.app-brand-copy small{margin-top:.18rem;color:var(--ink-soft);font-size:.67rem;font-weight:500}.app-view-title{margin:0;max-width:16ch;font-family:Heebo,Heebo,serif;font-weight:600;font-size:1rem;line-height:1.1;letter-spacing:-.02em;animation:home-rise .7s ease-out 90ms both}.app-view-title:after{content:attr(data-title)}.app-header-controls{display:flex;align-items:center;gap:.4rem}.app-header-button{display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);cursor:pointer}.app-header-button:hover{color:var(--ink);background:var(--surface-muted)}.app-header-button svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-user-chip{display:flex;align-items:center;gap:.45rem;max-width:10rem;padding:.3rem .55rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:.75rem;text-decoration:none}.app-user-chip>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-avatar{display:grid;place-items:center;flex:none;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);font-weight:800}.app-menu-trigger{display:grid}@media screen and (max-width:720px){.authenticated-header{min-height:3.6rem;padding-inline:.75rem;gap:.5rem}.app-brand-copy,.app-user-chip,.app-signout{display:none}.app-brand img{width:2rem;height:2rem}.app-view-title{font-size:.75rem}.app-header-button{width:2.25rem;height:2.25rem}}.login-page{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:clamp(1rem,2.4vw,1.75rem);background:var(--paper)}.login-aura{position:absolute;inset:-20% -10% auto;height:70%;z-index:0;pointer-events:none;background:radial-gradient(38rem 26rem at 18% 0%,var(--accent-soft),transparent 65%),radial-gradient(32rem 24rem at 88% 12%,var(--secondary-soft),transparent 62%)}.login-topbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100%,82rem);margin-inline:auto}.login-mark{display:flex;align-items:center;gap:.55rem}.login-mark img{width:2rem;height:2rem;object-fit:contain}.login-mark span{font-size:1.15rem;font-weight:800;letter-spacing:-.01em}.login-topbar-actions{display:flex;gap:.4rem}.login-chip{min-width:2.75rem;min-height:2.75rem;padding:0 .6rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-soft);font-size:.82rem;font-weight:700;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease,transform .1s ease-out}@media(hover:hover)and (pointer:fine){.login-chip:hover{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}}.login-chip:active{transform:scale(.92);background:var(--surface)}.login-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);flex:1;width:min(100%,82rem);margin-inline:auto;padding-block:clamp(2rem,6vh,4rem)}.login-column{display:flex;flex-direction:column;align-items:center;width:100%;max-width:30rem;margin-inline:auto;text-align:center}.login-title{margin:0;max-width:16ch;font-family:Heebo,Heebo,serif;font-weight:500;font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.1;letter-spacing:-.02em;animation:home-rise .7s ease-out 90ms both}.login-lead{margin:1.1rem 0 0;max-width:26rem;color:var(--ink-soft);font-family:Heebo,Heebo,serif;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.55;animation:login-rise .7s ease-out 90ms both}.login-card{margin-top:clamp(1.75rem,4vh,2.5rem);animation:login-rise .7s ease-out .17s both}.login-about{margin-top:1.5rem;animation:login-rise .7s ease-out .25s both}.login-visual{display:flex;justify-content:center}@keyframes login-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.login-title,.login-lead,.login-card,.login-about{animation:none}}@media screen and (max-width:960px){.login-grid{grid-template-columns:1fr}.login-visual{display:none}}@media screen and (max-width:620px){.login-grid{padding-block:clamp(1.5rem,5vh,3rem)}.login-title{max-width:16ch}.login-card{padding:1.15rem}}.auth-gate{display:grid;place-items:center;min-height:60vh}.app-shell{display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;overflow:hidden;background:var(--paper)}.app-shell-content{flex:1;min-width:0;min-height:0;overflow:auto;width:100%;max-width:78rem;margin-inline:auto;padding:1rem}@media screen and (max-width:720px){.app-shell-content{padding:.75rem .75rem calc(4.75rem + env(safe-area-inset-bottom))}}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.error-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1.5rem;text-align:center}.error-state-title{margin:0;font-weight:600}.error-state-message{margin:0;color:var(--ink-soft)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1.5rem;text-align:center}.empty-state-title{margin:0;font-size:1.05rem;font-weight:600}.empty-state-hint{margin:0;max-width:28rem;color:var(--ink-soft);line-height:1.55}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#090e178c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:modal-overlay-in .2s ease-out both}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}.modal{display:flex;flex-direction:column;width:100%;max-width:30rem;max-height:88vh;background:var(--surface);border-radius:1rem 1rem 0 0;box-shadow:0 -.5rem 2rem #090e174d;animation:modal-sheet-in .32s cubic-bezier(.22,1,.36,1) both}@keyframes modal-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-transparency:reduce){.modal-overlay{background:#090e17d1;-webkit-backdrop-filter:none;backdrop-filter:none}}@media screen and (min-width:721px){.modal-overlay{align-items:center;padding:1.5rem}.modal{border-radius:1rem;animation:modal-dialog-in .22s cubic-bezier(.22,1,.36,1) both}}@keyframes modal-dialog-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.25rem .75rem}.modal-heading{display:flex;flex-direction:column;gap:.15rem;min-width:0}.modal-title{font-size:1.05rem;font-weight:600}.modal-subtitle{color:var(--ink-soft);font-size:.9rem}.modal-close{flex:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease-out}@media(hover:hover)and (pointer:fine){.modal-close:hover{background:var(--paper);color:var(--ink)}}.modal-close:active{transform:scale(.9);background:var(--paper)}.modal-body{overflow-y:auto;padding:.25rem 1.25rem 1.25rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:.75rem 1.25rem 1.25rem;border-top:1px solid var(--line)}.quick-add{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.quick-add .is-wide{grid-column:1 / -1}.quick-add-error{grid-column:1 / -1;margin:0;color:var(--unpaid)}.student-reminder-button{display:inline-flex;align-items:center;gap:.35rem;margin-inline-start:auto;padding:.34rem .58rem;border:1px solid color-mix(in srgb,var(--unpaid) 34%,var(--line));border-radius:999px;background:var(--surface);color:var(--unpaid);font-size:.73rem;font-weight:750;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.student-reminder-button svg,.reminder-recipient svg{width:1rem;height:1rem;flex:none;stroke:currentColor;stroke-width:1.8}.student-reminder-button.is-sendable{border-color:color-mix(in srgb,#25d366 42%,var(--line));color:#128c4a}.student-reminder-button:hover:not(:disabled){transform:translateY(-1px);background:color-mix(in srgb,currentColor 8%,var(--surface))}.student-reminder-button:disabled{opacity:.58;cursor:wait}.student-reminder-button.is-locked{color:var(--ink-soft)}.reminder-recipient-list{display:grid;gap:.55rem}.reminder-recipient{display:flex;align-items:center;gap:.7rem;width:100%;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);color:#128c4a;text-align:start;cursor:pointer}.reminder-recipient:hover{border-color:#25d366;background:color-mix(in srgb,#25d366 8%,var(--surface))}.reminder-recipient>span{display:flex;flex-direction:column;color:var(--ink)}.reminder-recipient bdi{color:var(--ink-soft);font-size:.8rem}@media screen and (max-width:420px){.student-reminder-button span{display:none}.student-reminder-button{padding:.42rem}}.starter{margin-bottom:1.5rem;padding:1rem 1.15rem;border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface)}.starter h2{margin:0 0 .6rem;font-size:1rem}.starter-steps{display:flex;flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;counter-reset:starter}.starter-steps li{display:flex;align-items:center;gap:.6rem}.starter-steps li.is-done{color:var(--ink-soft);text-decoration:line-through}.starter-mark{display:grid;place-items:center;width:1.35rem;height:1.35rem;border:1px solid var(--line);border-radius:50%;font-size:.8rem}.starter-steps li.is-done .starter-mark{border-color:var(--paid);color:var(--paid)}.dashboard{display:flex;flex-direction:column;gap:.85rem}@keyframes dashboard-section-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard>*{animation:dashboard-section-enter .32s cubic-bezier(.22,1,.36,1) both}.dashboard>*:nth-child(1){animation-delay:0ms}.dashboard>*:nth-child(2){animation-delay:40ms}.dashboard>*:nth-child(3){animation-delay:80ms}.dashboard>*:nth-child(4){animation-delay:.12s}.dashboard>*:nth-child(5){animation-delay:.16s}.dashboard>*:nth-child(n+6){animation-delay:.2s}.today-strip,.dashboard-chart-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.today-strip{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.today-strip-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.dashboard-eyebrow{color:var(--ink-soft);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.today-strip-header strong{color:var(--ink-soft);font-size:.78rem;font-weight:500}.today-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.dashboard-primary-action,.dashboard-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;padding:0 .75rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-soft);background:var(--surface-muted);font-size:.86rem;font-weight:600;text-decoration:none;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease,transform .1s ease-out}.dashboard-primary-action:hover,.dashboard-secondary-action:hover{border-color:var(--accent);color:var(--accent-deep);background:var(--surface)}.dashboard-primary-action:active,.dashboard-secondary-action:active{transform:scale(.96)}.dashboard-primary-action svg,.dashboard-secondary-action svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.today-lesson-list{display:flex;flex-direction:column;gap:.38rem;margin:0;padding:0;list-style:none}.today-lesson-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto auto;align-items:center;gap:.55rem;min-height:2.75rem;padding:.5rem .65rem;border-radius:var(--radius-sm);background:var(--surface-muted)}.today-avatar{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--accent-deep),var(--accent));font-size:.8rem;font-weight:800}.today-student{display:flex;flex-direction:column;min-width:0}.today-student strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}.today-time{color:var(--ink-soft);font-size:.7rem}.today-status{padding:.18rem .5rem;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap}.today-status.is-paid{color:var(--paid);background:color-mix(in srgb,var(--paid) 12%,transparent)}.today-status.is-open{color:var(--accent-deep);background:var(--accent-soft)}.today-status.is-cancelled{color:var(--cancelled-free);background:color-mix(in srgb,var(--cancelled-free) 14%,transparent)}.next-lesson-strip{display:flex;align-items:center;gap:.7rem;min-height:3.3rem;padding:.65rem .85rem;border-radius:var(--radius);text-decoration:none}.dashboard-debt-panel{overflow:hidden;border:1px solid color-mix(in srgb,var(--unpaid) 25%,var(--line));border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.dashboard-debt-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:.75rem .85rem;background:color-mix(in srgb,var(--unpaid) 8%,var(--surface));color:var(--unpaid)}.dashboard-debt-header>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.dashboard-debt-header small{opacity:.8}.dashboard-debt-header>a{padding:.3rem .5rem;border-radius:var(--radius-xs);color:var(--unpaid);font-size:.72rem;font-weight:700;text-decoration:none}.dashboard-debt-header>a:hover{background:color-mix(in srgb,var(--unpaid) 10%,transparent)}.overdue-icon{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;color:#fff;background:var(--unpaid);font-weight:800}.dashboard-debt-list{display:flex;flex-direction:column;margin:0;padding:.25rem .85rem;list-style:none}.dashboard-debt-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto auto;align-items:center;gap:.65rem;min-height:3.65rem;padding:.48rem 0;border-bottom:1px solid var(--line)}.dashboard-debt-row:last-child{border-bottom:0}.debt-student-avatar{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:color-mix(in srgb,var(--unpaid) 12%,var(--surface));color:var(--unpaid);font-size:.78rem;font-weight:800}.debt-student-identity{display:flex;flex-direction:column;min-width:0}.debt-student-identity strong{overflow:hidden;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.debt-student-identity small{color:var(--ink-soft);font-size:.7rem}.dashboard-debt-row>.money{color:var(--unpaid);font-size:.84rem;font-weight:800}.dashboard-debt-row .student-reminder-button{margin-inline-start:0}.next-lesson-strip{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.next-lesson-strip>div{display:flex;flex:1;flex-direction:column}.next-lesson-strip span,.next-lesson-strip bdi{color:var(--ink-soft);font-size:.72rem}.next-lesson-icon{display:grid;place-items:center;width:1.8rem;height:1.8rem;color:var(--secondary-deep)!important}.next-lesson-icon svg{width:1.35rem;height:1.35rem;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.summary-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem}.dashboard-stat{position:relative;overflow:hidden;min-width:0;padding:.9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.dashboard-stat:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:linear-gradient(var(--secondary),transparent)}.dashboard-stat>span{display:block;margin-bottom:.28rem;overflow:hidden;color:var(--ink-soft);font-size:.68rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.dashboard-stat>strong{font-size:clamp(1rem,2vw,1.35rem);font-weight:800}.dashboard-stat.is-primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--accent-deep),var(--accent) 62%,var(--accent-bright));box-shadow:0 8px 22px var(--accent-glow)}.dashboard-stat.is-primary:before{width:5rem;height:5rem;inset-block:-2rem auto;inset-inline:auto -2rem;border-radius:50%;background:#ffffff1a}.dashboard-stat.is-primary>span{color:#ffffffc7}.dashboard-stat.is-owed{background:color-mix(in srgb,var(--unpaid) 7%,var(--surface))}.dashboard-stat.is-owed:before{background:linear-gradient(var(--unpaid),transparent)}.dashboard-stat.is-owed>strong{color:var(--unpaid)}.dashboard-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding-bottom:.25rem}.dashboard-chart-panel{min-width:0;padding:.9rem 1rem}.chart-heading{margin-bottom:.75rem;padding-bottom:.55rem;border-bottom:1px solid var(--line)}.chart-heading h2{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.88rem}.chart-heading h2:before{width:.55rem;height:.55rem;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--secondary));content:""}.chart-heading p{margin:.12rem 0 0;color:var(--ink-soft);font-size:.69rem}.status-chart-body{display:flex;align-items:center;justify-content:center;gap:clamp(1.4rem,4vw,3rem);min-height:13rem}.status-donut{display:grid;flex:none;place-items:center;align-content:center;width:clamp(11rem,18vw,15rem);height:clamp(11rem,18vw,15rem);border:1px solid var(--line);border-radius:50%;background:radial-gradient(circle at center,var(--surface) 0 54%,transparent 54.6%),conic-gradient(var(--paid) 0 var(--paid-stop),var(--unpaid) var(--paid-stop) var(--owed-stop),var(--secondary) var(--owed-stop) 100%);box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 8%,transparent)}.status-donut strong{font-size:clamp(1.55rem,3vw,2.15rem);line-height:1}.status-donut span{margin-top:.3rem;color:var(--ink-soft);font-size:.7rem}.chart-legend{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;font-size:.72rem}.chart-legend li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem}.chart-legend i{width:.5rem;height:.5rem;border-radius:50%}.chart-legend i.is-paid{background:var(--paid)}.chart-legend i.is-owed{background:var(--unpaid)}.chart-legend i.is-scheduled{background:var(--secondary)}.dashboard-bars{display:flex;flex-direction:column;gap:.5rem;min-height:8rem;margin:0;padding:0;list-style:none}.dashboard-bars li{display:grid;grid-template-columns:minmax(4.5rem,.7fr) minmax(5rem,2fr) auto;align-items:center;gap:.55rem;font-size:.7rem}.dashboard-bars li>span{overflow:hidden;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap}.dashboard-bars i{height:.42rem;overflow:hidden;border-radius:999px;background:var(--surface-muted)}.dashboard-bars i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--secondary),var(--accent))}.dashboard-bars strong{font-size:.68rem;font-weight:700}.dashboard-quiet{margin:0;color:var(--ink-soft)}.income-chart{display:flex;flex-direction:column;gap:.5rem}.income-chart-plot{position:relative;height:clamp(8rem,16vw,10.5rem)}.income-chart-plot svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.income-chart-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.income-chart-point{position:absolute;display:flex;flex-direction:column;align-items:center;gap:.3rem;transform:translate(-50%,-100%);white-space:nowrap}.income-chart-value{font-size:.74rem;font-weight:800;color:var(--ink)}.income-chart-value .money{color:inherit;font-variant-numeric:normal}.income-chart-dot{width:.6rem;height:.6rem;border:2px solid var(--accent);border-radius:50%;background:var(--surface);box-shadow:0 0 0 2px var(--surface)}.income-chart-axis{position:relative;height:1rem;margin:0;color:var(--ink-soft);font-size:.7rem}.income-chart-axis span{position:absolute;top:0;transform:translate(-50%);white-space:nowrap}@media screen and (max-width:900px){.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media screen and (min-width:860px){.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(9rem,auto))}.dashboard-chart-grid .status-chart-panel{grid-column:2;grid-row:1 / span 3}.dashboard-chart-grid>:nth-child(2){grid-column:1;grid-row:1}.dashboard-chart-grid>:nth-child(3){grid-column:1;grid-row:2}.dashboard-chart-grid>:nth-child(4){grid-column:1;grid-row:3}.status-chart-body{min-height:100%}}@media screen and (max-width:620px){.dashboard{gap:.65rem}.today-strip{padding:.8rem}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.dashboard-chart-grid{grid-template-columns:1fr}.next-lesson-strip{flex-wrap:wrap}.dashboard-debt-header{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-debt-header>a{grid-column:2 / -1;justify-self:start;padding-inline:0}.dashboard-debt-list{padding-inline:.7rem}.dashboard-debt-row{grid-template-columns:2rem minmax(0,1fr) auto;grid-template-areas:"avatar identity amount" "avatar action action";padding-block:.2rem}.debt-student-avatar{grid-area:avatar}.debt-student-identity{grid-area:identity}.dashboard-debt-row>.money{grid-area:amount}.dashboard-debt-row .student-reminder-button{grid-area:action;justify-self:start}.dashboard-debt-row .student-reminder-button span{display:inline}.status-chart-body{flex-direction:column;min-height:0;padding-block:.5rem}.status-donut{width:min(12rem,62vw);height:min(12rem,62vw)}.today-lesson-row{grid-template-columns:2rem minmax(0,1fr) auto;grid-template-areas:"avatar student amount" "avatar status status"}.today-avatar{grid-area:avatar}.today-student{grid-area:student}.today-lesson-row>.money{grid-area:amount}.today-status{grid-area:status;justify-self:start}}@media(prefers-reduced-motion:reduce){.dashboard-primary-action{transition:none}}.confirm-body{margin:0;color:var(--ink-soft);line-height:1.55}.student-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.student-editor .is-wide{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:.3rem;min-width:0;font-size:.85rem;color:var(--ink-soft)}.student-editor-error{grid-column:1 / -1;margin:0;color:var(--unpaid)}.editor-section{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--line)}.editor-section h3{margin:0 0 .6rem;font-size:.9rem}.editor-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.6rem}.editor-chip-list,.editor-contact-list{margin:0 0 .7rem;padding:0;list-style:none}.editor-chip-list{display:flex;flex-wrap:wrap;gap:.4rem}.editor-chip-list li{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .55rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-muted);font-size:.8rem}.editor-contact-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.editor-contact-identity{display:flex;flex:1 1 9rem;flex-wrap:wrap;align-items:baseline;gap:.4rem;min-width:0;color:var(--ink-soft);font-size:.8rem}.editor-contact-identity strong{color:var(--ink);font-size:.9rem}.editor-contact-identity bdi{unicode-bidi:isolate}.editor-chip-list button,.editor-contact-list button{position:relative;padding:0;border:0;background:none;color:var(--unpaid);font-size:1.1rem;line-height:1;border-radius:50%;cursor:pointer;transition:background .12s ease,transform .1s ease-out}.editor-chip-list button:after,.editor-contact-list button:after{position:absolute;top:-.55rem;right:-.55rem;bottom:-.55rem;left:-.55rem;content:""}@media(hover:hover)and (pointer:fine){.editor-chip-list button:hover,.editor-contact-list button:hover{background:color-mix(in srgb,var(--unpaid) 12%,transparent)}}.editor-chip-list button:active,.editor-contact-list button:active{background:color-mix(in srgb,var(--unpaid) 18%,transparent);transform:scale(.88)}.editor-locked{margin:0 0 .7rem;color:var(--ink-soft);font-size:.8rem}.editor-section-error{margin:0 0 .6rem;color:var(--unpaid);font-size:.8rem}@media screen and (max-width:480px){.student-editor{grid-template-columns:minmax(0,1fr)}.editor-row{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-row>button{grid-column:1 / -1}}.student-card{display:flex;flex-direction:column;gap:.4rem;min-width:0;padding:1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}@media(hover:hover)and (pointer:fine){.student-card:hover{transform:translateY(-3px);border-color:var(--secondary);box-shadow:var(--shadow-md)}}.student-card.is-archived{opacity:.66;border-style:dashed}@media(hover:hover)and (pointer:fine){.student-card.is-archived:hover{opacity:1}}.student-card.is-archived:active{opacity:1}.student-card-header{display:flex;align-items:center;gap:.75rem;min-width:0}.student-avatar{display:grid;place-items:center;flex:0 0 auto;width:2.85rem;height:2.85rem;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--accent),var(--secondary));box-shadow:0 9px 20px var(--accent-glow);font-size:1.15rem;font-weight:800}.student-card-identity{flex:1;min-width:0}.student-card-identity h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.04rem}.student-card-identity p{margin:.2rem 0 0;color:var(--accent-deep);font-size:.82rem;font-weight:700}.student-archived-badge{padding:.2rem .5rem;border-radius:999px;background:var(--surface-muted);color:var(--ink-soft);font-size:.72rem;font-weight:700}.student-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(4.75rem,1fr));gap:.45rem}.student-stat{display:flex;flex-direction:column;gap:.12rem;min-width:0;padding:.62rem .65rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted)}.student-stat strong{color:var(--ink);font-size:1.03rem;font-variant-numeric:tabular-nums}.student-stat span{color:var(--ink-soft);font-size:.68rem;font-weight:700;line-height:1.2}.student-stat.is-collected{border-color:color-mix(in srgb,var(--paid) 35%,var(--line))}.student-stat.is-collected strong{color:var(--paid)}.student-stat.is-owed{border-color:color-mix(in srgb,var(--unpaid) 38%,var(--line));background:color-mix(in srgb,var(--unpaid) 7%,var(--surface))}.student-stat.is-owed strong{color:var(--unpaid)}.student-stat.is-scheduled{border-style:dashed;border-color:var(--secondary)}.student-stat.is-scheduled strong{color:var(--secondary-deep)}.student-debt-notice{display:flex;gap:.45rem;align-items:center;margin:-.2rem 0 0;padding:.5rem .65rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--unpaid) 9%,var(--surface));color:var(--unpaid);font-size:.8rem;font-weight:700}.student-debt-notice>span:first-child{display:grid;place-items:center;width:1rem;height:1rem;border-radius:50%;background:var(--unpaid);color:#fff;font-size:.72rem}.student-card-details{display:flex;flex-direction:column;gap:.42rem;min-height:1.25rem;color:var(--ink-soft);font-size:.78rem}.student-slot-list{display:flex;flex-wrap:wrap;gap:.38rem}.student-slot-chip{padding:.25rem .48rem;border:1px solid var(--secondary-glow);border-radius:999px;background:var(--secondary-soft);color:var(--secondary-deep);font-weight:700}.student-slot-chip.is-empty{color:var(--ink-soft);background:var(--surface-muted);border-color:var(--line)}.student-contact-row{display:flex;align-items:center;gap:.4rem;min-width:0}.student-card-detail{display:inline-flex;align-items:center;gap:.3rem;margin:0}.student-contact{color:var(--secondary-deep);text-decoration:none}.student-contact:hover{text-decoration:underline}.student-contact-pays{display:grid;place-items:center;width:1.05rem;height:1.05rem;border-radius:50%;color:var(--accent-deep);background:var(--accent-soft);font-size:.68rem;font-weight:800}.student-whatsapp{display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;color:#128c4a;background:#25d36621;font-size:.86rem;text-decoration:none}.student-address{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);text-decoration:none}.student-address:hover{color:var(--secondary-deep);text-decoration:underline}.student-entry-code{display:inline-flex;align-items:center;align-self:flex-start;gap:.32rem;padding:0;border:0;background:none;color:var(--accent-deep);cursor:pointer;font:inherit;font-weight:700}.student-entry-code:hover{text-decoration:underline}.student-notes{display:flex;gap:.35rem;margin:0;padding-top:.45rem;border-top:1px solid var(--line);line-height:1.45}.student-gcal-toggle{display:inline-flex;align-items:center;align-self:flex-start;gap:.45rem;color:var(--ink-soft);font-size:.78rem;cursor:pointer}.student-gcal-toggle input{width:1rem;height:1rem;margin:0;accent-color:var(--secondary)}.student-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.student-card-primary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex:1 1 9.4rem;min-height:2.5rem;padding:.45rem .85rem;border:0;border-radius:var(--radius-xs);color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-deep));box-shadow:0 8px 20px var(--accent-glow);cursor:pointer;font-family:Heebo,Heebo,sans-serif;font-size:.83rem;font-weight:600;line-height:1.25;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease}@media(hover:hover)and (pointer:fine){.student-card-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px #f9731661}}.student-card-primary:active{transform:scale(.97)}.student-card-primary svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.student-icon-button{display:grid;place-items:center;flex:0 0 auto;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--surface-muted);color:var(--ink-soft);cursor:pointer;text-decoration:none;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .1s ease-out}.student-icon-button svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(hover:hover)and (pointer:fine){.student-icon-button:hover{transform:translateY(-1px);background:var(--secondary-soft);color:var(--secondary-deep);border-color:var(--secondary)}.student-icon-button.is-danger:hover{color:var(--unpaid);background:color-mix(in srgb,var(--unpaid) 9%,var(--surface));border-color:color-mix(in srgb,var(--unpaid) 36%,var(--line))}.student-icon-button.is-collect:hover:not(:disabled){color:var(--paid);background:color-mix(in srgb,var(--paid) 10%,var(--surface));border-color:var(--paid)}}.student-icon-button:active:not(:disabled){transform:scale(.92)}.student-icon-button.is-collect:not(:disabled){color:var(--paid);border-color:color-mix(in srgb,var(--paid) 34%,var(--line))}.student-icon-button:disabled{opacity:.4;cursor:default;transform:none}.student-free-cancels{display:flex;gap:.35rem;margin:0;color:var(--cancelled-free);font-size:.78rem}.student-free-cancels bdi{unicode-bidi:isolate;font-weight:700}@media screen and (max-width:430px){.student-card-primary{order:-1;flex-basis:100%}.student-card-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:.5rem}.student-card-primary{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.student-card,.student-cards>.student-card{transition:none;animation:none}.student-card:hover{transform:none}}.multi-date{display:flex;flex-direction:column;gap:.85rem}.multi-date-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.6rem}.multi-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.multi-date-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.multi-date-list li{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .55rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-muted);font-size:.8rem}.multi-date-list button{padding:0;border:0;background:none;color:var(--unpaid);font-size:1rem;line-height:1;cursor:pointer}.multi-date-hint{margin:0;color:var(--ink-soft);font-size:.8rem}.students-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.students-header .screen-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.students-add-btn{flex-shrink:0}.students-add-btn svg{width:1rem;height:1rem;flex-shrink:0}@media screen and (max-width:480px){.students-add-btn span{display:none}.students-add-btn{padding:.55rem}}.students-filters{display:grid;grid-template-columns:minmax(9rem,1.6fr) repeat(3,minmax(7rem,1fr));align-items:center;gap:.6rem;margin-block:.9rem .75rem}.students-summary{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-bottom:1.1rem;padding:.7rem .95rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);font-size:.78rem}.students-summary span{display:inline-flex;align-items:baseline;gap:.35rem}.students-summary strong{color:var(--ink);font-size:.95rem;font-weight:800;unicode-bidi:isolate}.students-summary .is-owed strong{color:var(--unpaid)}@media screen and (max-width:720px){.students-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.students-filters>:first-child{grid-column:1 / -1}.students-filters>:last-child{grid-column:1 / -1}.students-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .7rem}.students-summary span{flex-direction:column;align-items:flex-start;gap:.1rem}}.student-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;margin:0;padding:0;list-style:none}@keyframes student-card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.student-cards>.student-card{animation:student-card-enter .28s cubic-bezier(.22,1,.36,1) both}.student-cards>.student-card:nth-child(1){animation-delay:0ms}.student-cards>.student-card:nth-child(2){animation-delay:30ms}.student-cards>.student-card:nth-child(3){animation-delay:60ms}.student-cards>.student-card:nth-child(4){animation-delay:90ms}.student-cards>.student-card:nth-child(5){animation-delay:.12s}.student-cards>.student-card:nth-child(n+6){animation-delay:.15s}.status-options{display:flex;flex-direction:column;gap:.35rem}.status-option{display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface);color:inherit;text-align:start;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .1s ease-out}@media(hover:hover)and (pointer:fine){.status-option:hover:not(:disabled){border-color:var(--accent)}}.status-option:active:not(:disabled){transform:scale(.98);background:var(--paper)}.status-option.is-current{border-color:var(--accent);background:var(--paper)}.status-option:disabled{opacity:.6;cursor:default}.status-option-dot{flex:none;width:.7rem;height:.7rem;border-radius:50%;background:var(--ink-soft)}.status-option.is-paid .status-option-dot{background:var(--paid)}.status-option.is-unpaid .status-option-dot{background:var(--unpaid)}.status-option.is-cancelled-charged .status-option-dot{background:var(--cancelled-charged)}.status-option.is-cancelled-free .status-option-dot{background:var(--cancelled-free)}.status-option.is-edit .status-option-dot{background:var(--secondary)}.status-option.is-postpone .status-option-dot{background:var(--accent)}.status-option.is-delete .status-option-dot{background:var(--unpaid)}.status-option.is-edit{margin-top:.35rem;border-top:1px solid var(--line)}.status-option.is-delete{color:var(--unpaid)}.status-option.is-delete .status-option-desc{color:var(--ink-soft)}.status-option-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.status-option-label{font-weight:600}.status-option-desc{color:var(--ink-soft);font-size:.85rem}.postpone-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.lessons{direction:inherit;text-align:start;width:min(100%,1080px);margin-inline:auto}.lessons[dir=rtl]{direction:rtl}.lessons[dir=ltr]{direction:ltr}.lessons-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.lessons-heading{display:flex;align-items:center;gap:.65rem}.lessons-heading-mark{width:4px;height:1.7rem;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--secondary))}.lessons-header .primary-button{min-height:42px;padding-inline:1rem 1.1rem}.lessons-header .primary-button svg{width:18px;height:18px}.lessons-filters{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:.8rem;padding:.75rem;margin-bottom:.85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs)}.lessons-search{position:relative;display:block}.lessons-search>svg{position:absolute;z-index:1;inset-inline-start:.8rem;top:50%;width:18px;height:18px;color:var(--ink-soft);transform:translateY(-50%);pointer-events:none}.lessons-search .text-input{height:42px;padding-inline-start:2.45rem;border-color:var(--line-strong);background:var(--paper)}.filter-chips{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-deep)}.filter-chip{min-height:44px;padding:.3rem .8rem;border:0;border-radius:calc(var(--radius-sm) - 3px);background:transparent;color:var(--ink-soft);font-size:.86rem;font-weight:650;cursor:pointer;transition:color .15s ease,background .15s ease,box-shadow .15s ease,transform .1s ease-out}.filter-chip.is-active{background:var(--surface);color:var(--accent-deep);box-shadow:var(--shadow-xs)}.filter-chip:active{transform:scale(.95)}.lesson-rows{display:flex;flex-direction:column;margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);list-style:none}@keyframes lesson-row-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.lesson-row{position:relative;border-bottom:1px solid var(--line);animation:lesson-row-enter .24s cubic-bezier(.22,1,.36,1) both}.lesson-row:nth-child(1){animation-delay:0ms}.lesson-row:nth-child(2){animation-delay:25ms}.lesson-row:nth-child(3){animation-delay:50ms}.lesson-row:nth-child(4){animation-delay:75ms}.lesson-row:nth-child(n+5){animation-delay:.1s}.lesson-row:last-child{border-bottom:0}.lesson-row:before{position:absolute;z-index:2;inset-block:0;inset-inline-start:0;width:3px;background:currentColor;content:"";opacity:.72}.lesson-row.is-paid{color:var(--paid)}.lesson-row.is-unpaid{color:var(--unpaid);background:color-mix(in srgb,var(--unpaid) 4%,var(--surface))}.lesson-row.is-scheduled{color:var(--scheduled);background:color-mix(in srgb,var(--scheduled) 4%,var(--surface))}.lesson-row.is-cancelled-charged{color:var(--cancelled-charged);background:color-mix(in srgb,var(--cancelled-charged) 5%,var(--surface))}.lesson-row.is-cancelled-free{color:var(--cancelled-free);opacity:.84}.lesson-row-button{display:grid;grid-template-columns:40px minmax(150px,1fr) auto minmax(110px,auto);align-items:center;gap:.85rem;width:100%;min-height:66px;padding:.75rem 1rem;border:0;background:transparent;color:var(--ink);text-align:start;direction:inherit;cursor:pointer;transition:background .15s ease}@media(hover:hover)and (pointer:fine){.lesson-row-button:hover{background:var(--surface-muted)}}.lesson-row-button:active{background:var(--surface-muted)}.lesson-row-avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);background:linear-gradient(135deg,var(--accent-soft),var(--secondary-soft));color:var(--accent-deep);font-size:.95rem;font-weight:800}.lesson-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.lesson-row-name{overflow:hidden;color:var(--ink);font-size:.95rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.lesson-row-when{color:var(--ink-soft);font-size:.85rem}.lesson-row-when bdi,.lesson-row-amount{unicode-bidi:isolate}.lesson-row-amount{color:var(--accent-deep);font-size:1rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.lesson-row-status{display:inline-flex;align-items:center;justify-self:end;gap:.4rem;min-width:0;padding:.28rem .58rem;border:1px solid currentColor;border-radius:999px;background:color-mix(in srgb,currentColor 10%,var(--surface));color:var(--scheduled);font-size:.78rem;font-weight:700;white-space:nowrap}.lesson-row.is-paid .lesson-row-status{color:var(--paid)}.lesson-row.is-unpaid .lesson-row-status{color:var(--unpaid)}.lesson-row.is-scheduled .lesson-row-status{color:var(--scheduled)}.lesson-row.is-cancelled-charged .lesson-row-status{color:var(--cancelled-charged)}.lesson-row.is-cancelled-free .lesson-row-status{color:var(--cancelled-free)}.lesson-row-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.lesson-row-status svg{width:12px;height:12px;opacity:.68}@media screen and (max-width:720px){.lessons-header{margin-bottom:.75rem}.lessons-heading{display:none}.lessons-header .primary-button{width:100%}.lessons-filters{grid-template-columns:1fr;padding:0;border:0;background:transparent;box-shadow:none}.filter-chips{display:grid;grid-template-columns:repeat(4,1fr);width:100%}.filter-chip{padding-inline:.35rem}.lesson-row-button{grid-template-columns:38px minmax(0,1fr) auto;grid-template-areas:"avatar main amount" "avatar status status";gap:.25rem .65rem;min-height:78px;padding:.7rem .85rem}.lesson-row-avatar{grid-area:avatar}.lesson-row-main{grid-area:main}.lesson-row-amount{grid-area:amount;align-self:center}.lesson-row-status{grid-area:status;justify-self:start;margin-top:.1rem;padding-block:.18rem;font-size:.72rem}.lesson-row-status svg{display:none}}@media print{.lessons-header,.lessons-filters{display:none}.lesson-rows{box-shadow:none}}.cal-week{display:flex;flex-direction:column;min-width:0}.cal-week-agenda{gap:.6rem}.cal-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;flex:none;padding:3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-deep)}.cal-week-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:3.4rem;padding:.3rem .1rem;border:0;border-radius:calc(var(--radius-sm) - 3px);background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .16s ease,color .16s ease,transform .1s ease-out}.cal-week-pill-day{font-size:.62rem;font-weight:700}.cal-week-pill-num{color:var(--ink);font-size:.9rem;font-weight:800}.cal-week-pill-load{display:grid;place-items:center;min-width:1.05rem;height:1.05rem;border-radius:999px;font-size:.6rem;font-weight:800}.cal-week-pill.has-lessons .cal-week-pill-load{background:var(--accent-soft);color:var(--accent-deep)}.cal-week-pill.is-today{background:var(--surface);box-shadow:var(--shadow-xs)}.cal-week-pill.is-today .cal-week-pill-day,.cal-week-pill.is-today .cal-week-pill-num{color:var(--accent-deep)}@media(hover:hover)and (pointer:fine){.cal-week-pill:hover{background:var(--surface);color:var(--accent-deep)}}.cal-week-pill:active{transform:scale(.94)}.cal-week-days{display:flex;flex-direction:column;gap:.5rem}.cal-week-day{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.cal-week-day.is-today{border-color:var(--accent)}.cal-week-day-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--line);background:var(--surface-muted)}.cal-week-day.is-today .cal-week-day-head{background:var(--accent-soft)}.cal-week-day-open{display:flex;flex:1;align-items:baseline;gap:.45rem;min-height:2.75rem;padding:.35rem .75rem;border:0;background:transparent;color:inherit;text-align:start;cursor:pointer}.cal-week-day-name{color:var(--ink-soft);font-size:.75rem;font-weight:700}.cal-week-day-num{color:var(--ink);font-size:1rem;font-weight:800}.cal-week-day.is-today .cal-week-day-name,.cal-week-day.is-today .cal-week-day-num{color:var(--accent-deep)}.cal-week-day-count{flex:none;margin-inline-end:.75rem;padding:.1rem .45rem;border-radius:999px;background:var(--paper-deep);color:var(--ink-soft);font-size:.68rem;font-weight:800}.cal-week-day-empty{margin:0;padding:.7rem .75rem;color:var(--ink-soft);font-size:.8rem}.cal-week-day-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.cal-week-day-list li+li{border-top:1px solid var(--line)}.cal-week-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"time name   amount" "time status status";align-items:center;gap:.15rem .7rem;width:100%;min-height:3.4rem;padding:.55rem .75rem;border:0;border-inline-start:3px solid var(--scheduled);background:var(--surface);color:var(--ink);text-align:start;cursor:pointer;transition:background .15s ease,transform .1s ease-out}.cal-week-row-time{grid-area:time;min-width:2.9rem;color:var(--ink-soft);font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}.cal-week-row-name{grid-area:name;font-size:.92rem;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.cal-week-row-amount{grid-area:amount;color:var(--accent-deep);font-weight:800;white-space:nowrap}.cal-week-row-status{grid-area:status;color:var(--ink-soft);font-size:.72rem;font-weight:700}.cal-week-row.is-paid{border-inline-start-color:var(--paid)}.cal-week-row.is-unpaid{border-inline-start-color:var(--unpaid)}.cal-week-row.is-scheduled{border-inline-start-color:var(--scheduled)}.cal-week-row.is-cancelled-charged{border-inline-start-color:var(--cancelled-charged)}.cal-week-row.is-cancelled-free{border-inline-start-color:var(--cancelled-free);opacity:.72}.cal-week-row.is-planned{border-inline-start-color:var(--secondary-deep);border-inline-start-style:dashed;background:transparent;color:var(--ink-soft)}.cal-week-row.is-planned .cal-week-row-name{font-weight:600}@media(hover:hover)and (pointer:fine){.cal-week-row:hover{background:var(--surface-muted)}}.cal-week-row:active{background:var(--surface-muted);transform:scale(.99)}.cal-week-grid-scroll{min-width:0;overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.cal-week-grid{display:grid;grid-template-columns:3.25rem repeat(7,minmax(0,1fr));grid-template-rows:auto minmax(calc(var(--cal-hour-height) * var(--cal-week-hours)),1fr);min-height:100%}.cal-week-corner{position:sticky;z-index:4;top:0;border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line);background:var(--surface-muted)}.cal-week-head{position:sticky;z-index:3;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:2.75rem;padding:.45rem .25rem;border:0;border-bottom:1px solid var(--line);border-inline-start:1px solid var(--line);background:var(--surface-muted);cursor:pointer;transition:background .15s ease}.cal-week-head.is-today{background:var(--accent-soft)}.cal-week-head-name{color:var(--ink-soft);font-size:.67rem;font-weight:700}.cal-week-head-num{color:var(--ink);font-size:.92rem;font-weight:800}.cal-week-head.is-today .cal-week-head-name,.cal-week-head.is-today .cal-week-head-num{color:var(--accent-deep)}@media(hover:hover)and (pointer:fine){.cal-week-head:hover{background:var(--paper-deep)}}.cal-week-axis{position:relative;border-inline-end:1px solid var(--line);background:var(--surface-muted)}.cal-week-tick{position:absolute;inset-inline:0;color:var(--ink-soft);font-size:.64rem;font-weight:700;text-align:center;transform:translateY(-.4rem)}.cal-week-tick:first-child{transform:none}.cal-week-col{position:relative;min-width:0;border-inline-start:1px solid var(--line)}.cal-week-col.is-today{background:var(--accent-soft)}.cal-week-line{position:absolute;inset-inline:0;height:1px;background:var(--line);pointer-events:none}.cal-week-block{position:absolute;z-index:1;inset-inline:3px;display:flex;flex-direction:column;gap:1px;min-height:22px;padding:.22rem .3rem;overflow:hidden;border:1px solid var(--scheduled);border-inline-start-width:3px;border-radius:6px;background:color-mix(in srgb,var(--scheduled) 12%,var(--surface));color:var(--ink);font-size:.68rem;font-weight:600;text-align:start;cursor:pointer;transition:filter .15s ease,transform .1s ease-out}.cal-week-block.is-paid{border-color:var(--paid);background:color-mix(in srgb,var(--paid) 13%,var(--surface))}.cal-week-block.is-unpaid{border-color:var(--unpaid);background:color-mix(in srgb,var(--unpaid) 12%,var(--surface))}.cal-week-block.is-scheduled{border-color:var(--scheduled);background:color-mix(in srgb,var(--scheduled) 12%,var(--surface))}.cal-week-block.is-cancelled-charged{border-color:var(--cancelled-charged);background:color-mix(in srgb,var(--cancelled-charged) 13%,var(--surface))}.cal-week-block.is-cancelled-free{border-color:var(--cancelled-free);opacity:.72}.cal-week-block.is-planned{border-color:var(--secondary-deep);border-style:dashed;border-inline-start-style:solid;background:var(--surface);color:var(--ink-soft);font-weight:500}.cal-week-block-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-week-block-time{font-size:.62rem;opacity:.76}@media(hover:hover)and (pointer:fine){.cal-week-block:hover{z-index:2;filter:brightness(.97)}}.cal-week-block:active{transform:scale(.97)}@media print{.cal-week-strip{display:none}.cal-week-day,.cal-week-block{break-inside:avoid}}.calendar{--cal-gap: 4px;--cal-cell-min: 88px;--cal-hour-height: 48px;width:100%;height:100%;direction:inherit;text-align:start}.calendar-card{display:flex;flex-direction:column;gap:.75rem;width:100%;min-width:0;min-height:100%;padding:.875rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.cal-titlebar{display:flex;flex-direction:column;gap:.1rem;min-width:0}.cal-title{margin:0;color:var(--ink);font-size:1.12rem;font-weight:800;line-height:1.2;letter-spacing:-.01em}.cal-subtitle{margin:0;color:var(--ink-soft);font-size:.76rem;font-weight:600}.cal-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cal-nav,.calendar-mode-switch{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-deep)}.cal-nav-btn{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:calc(var(--radius-sm) - 3px);background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .16s ease,color .16s ease,transform .1s ease-out}.cal-nav-btn:hover,.cal-today-btn:hover,.calendar-mode-btn:hover{background:var(--surface);color:var(--accent-deep)}.cal-nav-btn:active,.cal-today-btn:active,.calendar-mode-btn:active{transform:scale(.92)}.cal-nav-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[dir=ltr] .cal-nav-btn svg{transform:scaleX(-1)}.cal-today-btn,.calendar-mode-btn{min-height:2rem;padding:0 .75rem;border:0;border-radius:calc(var(--radius-sm) - 3px);background:transparent;color:var(--ink-soft);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .16s ease,color .16s ease,transform .1s ease-out}.calendar-mode-btn.is-active{background:var(--surface);color:var(--accent-deep);box-shadow:var(--shadow-xs)}.cal-legend{display:flex;flex-wrap:wrap;gap:.3rem .85rem;color:var(--ink-soft);font-size:.7rem;font-weight:600}.cal-legend-item{display:inline-flex;align-items:center;gap:.3rem}.cal-legend-swatch{width:10px;height:10px;border-radius:3px;background:var(--scheduled)}.cal-legend-swatch.is-paid{background:var(--paid)}.cal-legend-swatch.is-unpaid{background:var(--unpaid)}.cal-legend-swatch.is-scheduled{background:var(--scheduled)}.cal-legend-swatch.is-cancelled-charged{background:var(--cancelled-charged)}.cal-legend-swatch.is-cancelled-free{background:var(--cancelled-free)}.cal-viewport{flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.cal-panel-outgoing{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cal-panel{flex:1;min-width:0;min-height:0}.cal-month-panel{display:flex;flex-direction:column;gap:.35rem}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--cal-gap)}.calendar-weekday{padding:.15rem 0 .25rem;color:var(--ink-soft);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-align:center}.calendar-grid{display:grid;flex:1;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(var(--cal-cell-min),1fr);gap:var(--cal-gap);min-height:0}.calendar-cell{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding:.35rem .4rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .1s ease-out}.calendar-cell:hover{border-color:var(--line-strong);background:var(--surface-muted)}.calendar-cell:active{transform:scale(.97)}.calendar-cell.is-outside{opacity:.4}.calendar-cell.is-today{border-color:var(--accent);background:var(--accent-soft)}.calendar-cell.has-lessons{border-color:var(--line-strong)}.calendar-cell-head{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.calendar-day-num{font-size:.8rem;font-weight:700;line-height:1}.calendar-cell.is-today .calendar-day-num{color:var(--accent-deep)}.calendar-cell-count{padding:0 .32rem;border-radius:999px;background:var(--paper-deep);color:var(--ink-soft);font-size:.62rem;font-weight:800}.calendar-chips{display:flex;flex-direction:column;gap:2px;min-height:0;overflow:hidden}.cal-chip{display:flex;align-items:center;gap:.25rem;min-width:0;padding:.12rem .3rem;overflow:hidden;border:0;border-inline-start:3px solid var(--scheduled);border-radius:5px;background:color-mix(in srgb,var(--scheduled) 11%,transparent);color:var(--ink);font-size:.68rem;font-weight:600;text-align:start;white-space:nowrap;cursor:pointer}.cal-chip.is-paid{border-inline-start-color:var(--paid);background:color-mix(in srgb,var(--paid) 11%,transparent)}.cal-chip.is-unpaid{border-inline-start-color:var(--unpaid);background:color-mix(in srgb,var(--unpaid) 10%,transparent)}.cal-chip.is-scheduled{border-inline-start-color:var(--scheduled);background:color-mix(in srgb,var(--scheduled) 11%,transparent)}.cal-chip.is-cancelled-charged{border-inline-start-color:var(--cancelled-charged);background:color-mix(in srgb,var(--cancelled-charged) 12%,transparent)}.cal-chip.is-cancelled-free{border-inline-start-color:var(--cancelled-free);opacity:.7}.cal-chip.is-planned{border:1px dashed var(--secondary-deep);border-inline-start:3px solid var(--secondary-deep);background:transparent;color:var(--ink-soft);font-weight:500}.cal-chip-time{flex:none;color:inherit;font-variant-numeric:tabular-nums;opacity:.72}.cal-chip-name{overflow:hidden;text-overflow:ellipsis}.cal-chip-more{justify-content:center;border-inline-start-color:transparent;background:var(--paper-deep);color:var(--ink-soft);font-size:.62rem}.calendar-day-view{display:flex;flex-direction:column;gap:.65rem}.cal-day-heading{margin:0;padding-bottom:.55rem;border-bottom:1px solid var(--line);font-size:.92rem}.cal-agenda{display:flex;flex:1;flex-direction:column;gap:.38rem;min-height:0;margin:0;padding:0;overflow-y:auto;list-style:none}.cal-agenda-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.65rem;width:100%;min-height:3.25rem;padding:.55rem .75rem;border:1px solid var(--line);border-inline-start:3px solid var(--scheduled);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink);text-align:start;cursor:pointer}.cal-agenda-row.is-paid{border-inline-start-color:var(--paid)}.cal-agenda-row.is-unpaid{border-inline-start-color:var(--unpaid)}.cal-agenda-row.is-scheduled{border-inline-start-color:var(--scheduled)}.cal-agenda-row.is-cancelled-charged{border-inline-start-color:var(--cancelled-charged)}.cal-agenda-row.is-cancelled-free{border-inline-start-color:var(--cancelled-free);opacity:.75}.cal-agenda-row.is-planned{border-color:var(--line);border-inline-start-color:var(--secondary-deep);border-style:dashed;border-inline-start-style:solid;background:transparent}.cal-agenda-time{min-width:42px;color:var(--ink-soft);font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums}.cal-agenda-name{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.cal-agenda-amount{color:var(--accent-deep);font-weight:800;white-space:nowrap}.cal-agenda-status{color:var(--ink-soft);font-size:.75rem;font-weight:700;white-space:nowrap}.cal-empty{margin:0;padding:2.5rem 0;color:var(--ink-soft);font-size:.88rem;text-align:center}@media screen and (max-width:859px){.calendar{--cal-cell-min: 62px;--cal-hour-height: 44px;height:auto}.calendar-card{min-height:0;padding:.625rem}.cal-toolbar{flex-direction:column;align-items:stretch;gap:.5rem}.cal-titlebar{align-items:center;text-align:center}.cal-controls{flex-wrap:nowrap;justify-content:space-between}.calendar-mode-btn{padding-inline:.6rem;font-size:.75rem}}@media screen and (max-width:640px){.cal-legend{gap-inline:.6rem;font-size:.65rem}.calendar-cell{padding:.25rem}.calendar-chips{flex-flow:row wrap;align-content:flex-start;gap:3px}.cal-chip{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--scheduled)}.cal-chip.is-paid{background:var(--paid)}.cal-chip.is-unpaid{background:var(--unpaid)}.cal-chip.is-scheduled{background:var(--scheduled)}.cal-chip.is-cancelled-charged{background:var(--cancelled-charged)}.cal-chip.is-cancelled-free{background:var(--cancelled-free)}.cal-chip.is-planned{background:transparent;border:1.5px solid var(--secondary-deep)}.cal-chip-time,.cal-chip-name{display:none}.cal-chip-more{width:auto;height:auto;padding:0 .25rem;border-radius:999px;background:var(--paper-deep)}}@media screen and (max-width:520px){.cal-controls{flex-direction:column}.cal-nav,.calendar-mode-switch{width:100%}.cal-today-btn,.calendar-mode-btn{flex:1}.cal-agenda-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"time name amount" "time status status"}.cal-agenda-time{grid-area:time}.cal-agenda-name{grid-area:name}.cal-agenda-amount{grid-area:amount}.cal-agenda-status{grid-area:status}}@media print{.cal-controls{display:none}.calendar-card{border:0;box-shadow:none}}@keyframes profile-section-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.profile>*{animation:profile-section-enter .32s cubic-bezier(.22,1,.36,1) both}.profile>*:nth-child(1){animation-delay:0ms}.profile>*:nth-child(2){animation-delay:40ms}.profile>*:nth-child(3){animation-delay:80ms}.profile>*:nth-child(4){animation-delay:.12s}.profile>*:nth-child(n+5){animation-delay:.16s}.profile-panel{margin-bottom:1.25rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.profile-panel h2{margin:0 0 .75rem;font-size:1rem}.profile-identity{display:flex;flex-direction:column;gap:.15rem;margin:0 0 .75rem}.profile-email{color:var(--ink-soft);font-size:.9rem}.profile-toggles,.profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.profile-form .is-wide{grid-column:1 / -1}.profile-form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:.75rem}.profile-saved{color:var(--paid)}.profile-error{color:var(--unpaid)}.profile-locked{margin:0;color:var(--ink-soft)}@media screen and (max-width:480px){.profile-toggles,.profile-form{grid-template-columns:minmax(0,1fr)}}.profile-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.profile-links a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem .9rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .1s ease-out}@media(hover:hover)and (pointer:fine){.profile-links a:hover{border-color:var(--accent)}}.profile-links a:active{transform:scale(.96)}.premium-gate{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:2rem 0}.premium-gate-lead{margin:0;max-width:32rem;color:var(--ink-soft);line-height:1.6}.receipt-doc{padding:1rem;border:1px solid var(--line);border-radius:.6rem;background:var(--surface)}.receipt-doc-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.receipt-doc-logo{width:3rem;height:3rem;object-fit:contain}.receipt-doc-business{margin:0;font-size:1.05rem;font-weight:700}.receipt-doc-meta{margin:0;color:var(--ink-soft);font-size:.85rem}.receipt-doc-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;margin:.85rem 0}.receipt-doc-facts dt{color:var(--ink-soft);font-size:.78rem}.receipt-doc-facts dd{margin:.1rem 0 0;font-weight:600}.receipt-doc-lines{margin:0 0 .85rem;padding:0;list-style:none}.receipt-doc-lines li{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.receipt-doc-total{display:flex;justify-content:space-between;gap:1rem;margin:0;padding-top:.6rem;border-top:2px solid var(--ink);font-size:1.1rem;font-weight:700}.receipt-doc-cancelled{margin:.85rem 0 0;padding:.5rem .65rem;border-radius:.5rem;background:color-mix(in srgb,var(--unpaid) 12%,transparent);color:var(--unpaid)}.receipt-doc-footer{margin:.85rem 0 0;color:var(--ink-soft);font-size:.85rem}.receipt-doc-error{margin:.75rem 0 0;color:var(--unpaid)}@media screen and (min-width:721px){.receipt-doc{padding:1.5rem}}@media print{body *{visibility:hidden}.receipt-doc,.receipt-doc *{visibility:visible}.receipt-doc{position:absolute;inset-block-start:0;inset-inline-start:0;width:100%;border:0;background:#fff;color:#000}.receipt-doc-total{border-top-color:#000}}.receipt-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.receipt-editor .is-wide{grid-column:1 / -1}.receipt-editor-error{grid-column:1 / -1;margin:0;color:var(--unpaid)}@media screen and (max-width:480px){.receipt-editor{grid-template-columns:minmax(0,1fr)}}.receipts-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.receipts-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-block:.9rem}.receipts-filters>:first-child{grid-column:span 2}.receipts-reset{grid-column:1 / -1;justify-self:start}.receipts-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.receipts-count{margin-inline-end:auto;color:var(--ink-soft);font-size:.82rem}.receipt-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.receipt-row-actions .ghost-button{padding:.35rem .6rem;font-size:.78rem}@media(pointer:coarse){.receipt-row-actions .ghost-button{min-height:2.5rem;padding:.4rem .8rem}}.receipts-pending{margin-bottom:1.5rem;padding:1rem 1.15rem;border:1px solid var(--unpaid);border-radius:var(--radius);background:var(--surface)}.receipts-pending h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0 0 .75rem;font-size:1rem}.receipts-pending ul{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.receipts-pending li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.receipts-pending-name{flex:1;min-width:8rem;font-weight:600}.receipts-pending-meta{color:var(--ink-soft);font-size:.88rem}.receipt-rows{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none}.receipt-row{display:flex;align-items:center;gap:.5rem}.receipt-row-button{display:flex;flex:1;align-items:center;gap:.75rem;min-width:0;padding:.7rem .9rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface);color:inherit;text-align:start;cursor:pointer}.receipt-row.is-cancelled .receipt-row-number{text-decoration:line-through;color:var(--cancelled-free)}.receipt-row.is-draft .receipt-row-number{color:var(--ink-soft)}.receipt-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.receipt-row-number{font-variant-numeric:tabular-nums;font-weight:600}.receipt-row-customer{color:var(--ink-soft);font-size:.85rem;overflow-wrap:anywhere}.receipt-row-amount{font-weight:600}.receipt-row-date{min-width:6rem;color:var(--ink-soft);font-size:.85rem;text-align:end}@media screen and (max-width:800px){.receipts-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.receipts-count{flex-basis:100%;margin-inline-end:0}}@media screen and (max-width:560px){.receipt-row-date{display:none}.receipt-row{flex-wrap:wrap}.receipt-row-button{flex-basis:100%}}@media print{.receipts-header,.receipts-filters,.receipts-actions,.receipt-row-actions,.receipts-pending button,.authenticated-header,.desktop-app-menu,.mobile-app-menu{display:none!important}.receipt-row-button{border:0;break-inside:avoid}}.premium-subnav{display:flex;gap:.3rem;margin-bottom:1rem;padding-bottom:.35rem;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.premium-subnav::-webkit-scrollbar{display:none}.premium-subnav-item{display:inline-flex;align-items:center;flex:none;min-height:2.75rem;padding:.4rem .7rem;border-radius:var(--radius-sm);color:var(--ink-soft);font-size:.8rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .15s ease,background .15s ease,transform .1s ease-out}@media(hover:hover)and (pointer:fine){.premium-subnav-item:hover{color:var(--secondary-deep);background:var(--secondary-soft)}}.premium-subnav-item:active{transform:scale(.95);background:var(--secondary-soft)}.premium-subnav-item.is-active{color:var(--accent-deep);background:var(--accent-soft)}.report-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;margin-bottom:1.1rem}.report-figure{padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.report-figure strong{display:block;font-size:1.15rem;font-weight:800;unicode-bidi:isolate}.report-figure span{color:var(--ink-soft);font-size:.76rem}.report-figure.is-owed strong{color:var(--unpaid)}.report-gaps{margin-bottom:1.1rem;padding:.75rem .95rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.report-gaps.has-gaps{border-color:var(--unpaid)}.report-gaps h2{margin:0 0 .3rem;font-size:.9rem}.report-gaps p{margin:0;color:var(--ink-soft);font-size:.85rem}.report-gaps bdi{color:var(--unpaid);font-weight:700;unicode-bidi:isolate}.report-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.9rem;margin-bottom:1.1rem}.report-table{padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.report-table h2{margin:0 0 .5rem;font-size:.9rem}.report-table-scroll{overflow-x:auto}.report-table table{width:100%;border-collapse:collapse;font-size:.83rem}.report-table th,.report-table td{padding:.35rem .5rem;border-bottom:1px solid var(--line);text-align:start;white-space:nowrap}.report-table th{color:var(--ink-soft);font-size:.74rem;font-weight:600}.report-table tr:last-child td{border-bottom:0}.report-table td bdi{unicode-bidi:isolate}.report-actions{display:flex;flex-wrap:wrap;gap:.5rem}@media print{.premium-subnav,.report-actions,.authenticated-header,.desktop-app-menu,.mobile-app-menu{display:none!important}.report-table,.report-figure{break-inside:avoid}}.business-note{margin:0 0 1.1rem;color:var(--ink-soft);font-size:.85rem}.business-form{display:flex;flex-direction:column;gap:1.1rem}.business-group{padding:1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.business-group h2{margin:0 0 .8rem;font-size:.95rem}.business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.75rem}.business-grid .is-wide{grid-column:1 / -1}.business-preview{margin:0;color:var(--ink-soft);font-size:.85rem}.business-preview bdi{color:var(--accent-deep);font-weight:700;unicode-bidi:isolate}.business-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.business-saved{color:var(--paid);font-size:.85rem}.business-error{color:var(--unpaid);font-size:.85rem}@media screen and (max-width:760px){.business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (max-width:480px){.business-grid{grid-template-columns:minmax(0,1fr)}}.admin-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;margin-bottom:.75rem}.admin-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:1rem}.admin-error{margin:0 0 .8rem;color:var(--unpaid);font-size:.85rem}.admin-users{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.admin-user{padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.admin-user header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .7rem}.admin-user header bdi{color:var(--ink-soft);font-size:.82rem;unicode-bidi:isolate}.admin-badge{padding:.1rem .45rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-soft);font-size:.7rem;font-weight:700}.admin-badge.is-active{border-color:var(--paid);color:var(--paid)}.admin-user-meta,.admin-user-notes{margin:.3rem 0 0;color:var(--ink-soft);font-size:.78rem}.admin-user-meta bdi{unicode-bidi:isolate}.admin-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.admin-actions .ghost-button{min-height:2.75rem;padding:.3rem .7rem;font-size:.76rem}.admin-audit{margin:.75rem 0 0;padding:.6rem 0 0;border-top:1px solid var(--line);list-style:none;font-size:.76rem}.admin-audit li{display:flex;flex-wrap:wrap;gap:.5rem;padding:.2rem 0;color:var(--ink-soft)}.admin-audit li bdi{unicode-bidi:isolate}.admin-audit strong{color:var(--ink)}@media screen and (max-width:560px){.admin-inputs{grid-template-columns:minmax(0,1fr)}}.premium-state{padding:1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.premium-state.is-active{border-color:var(--paid)}.premium-state-label{margin:0 0 .25rem;font-size:1.05rem;font-weight:700}.premium-state.is-active .premium-state-label{color:var(--paid)}.premium-state-note{margin:0;color:var(--ink-soft);font-size:.9rem}.premium-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1.25rem 0}.premium-features h2{margin:0 0 .6rem;font-size:1rem}.premium-features ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.35rem;margin:0;padding:0;list-style:none}.premium-features li{display:flex;align-items:center;gap:.5rem}.premium-features li.is-open{color:var(--ink)}.premium-features li.is-locked{color:var(--ink-soft)}.premium-features li.is-open span:first-child{color:var(--paid)}.premium-error{color:var(--unpaid)}.reports-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.reports-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none}.reports-facts li{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;color:var(--ink-soft)}.reports-facts bdi{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.reports-facts bdi.is-up{color:var(--paid)}.reports-facts bdi.is-down{color:var(--unpaid)}.reports-warning{border-color:var(--unpaid)}.reports-warning h2{color:var(--unpaid)}.reports-warning p{margin:0}.reports-students,.reports-weekdays{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none}.reports-students li,.reports-weekdays li{display:flex;align-items:center;gap:.75rem}.reports-student-name{flex:1;min-width:0;overflow-wrap:anywhere}.reports-student-meta{color:var(--ink-soft);font-variant-numeric:tabular-nums}.reports-weekdays li>span:first-child{min-width:4.5rem}.reports-bar{height:.55rem;min-inline-size:.15rem;border-radius:999px;background:var(--accent)}.reports-weekdays bdi{min-width:2rem;text-align:end;font-variant-numeric:tabular-nums}.reminder-rows{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.reminder-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.reminder-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.reminder-row-name{font-weight:600;overflow-wrap:anywhere}.reminder-row-meta{color:var(--ink-soft);font-size:.88rem}.reminder-row-warning{color:var(--cancelled-charged);font-size:.82rem}.document-rows{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.document-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.document-row.is-closed{opacity:.6}.document-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.document-row-link{font-size:.82rem;overflow-wrap:anywhere}.document-row-meta{color:var(--ink-soft);font-size:.85rem}.document-row-actions{display:flex;gap:.35rem}.documents-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.document-row-label{font-weight:700}.document-row-note{color:var(--ink-soft);font-size:.82rem}.document-row-actions{flex-wrap:wrap}.intake-received{margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--line)}.intake-received h2{margin:0 0 .6rem;font-size:.95rem}.intake-quiet{margin:0;color:var(--ink-soft);font-size:.85rem}.intake-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none}.intake-card{display:flex;flex-direction:column;gap:.15rem;width:100%;min-height:2.75rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:inherit;text-align:start;cursor:pointer;transition:border-color .15s ease,transform .1s ease-out}@media(hover:hover)and (pointer:fine){.intake-card:hover{border-color:var(--accent)}}.intake-card:active{transform:scale(.97)}.intake-card bdi{color:var(--ink-soft);font-size:.78rem;unicode-bidi:isolate}.intake-create{display:flex;flex-direction:column;gap:.85rem}.intake-create small{color:var(--ink-soft);font-size:.76rem}.intake-payload{display:flex;flex-direction:column;gap:.4rem;margin:0}.intake-payload div{display:flex;flex-wrap:wrap;gap:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--line)}.intake-payload dt{min-width:7rem;color:var(--ink-soft);font-size:.8rem}.intake-payload dd{margin:0;overflow-wrap:anywhere}.google-contacts{display:flex;flex-direction:column;gap:.15rem;margin:.75rem 0 0;padding:0;list-style:none}.google-contacts li{border-bottom:1px solid var(--line)}.google-contacts .check-label{width:100%;padding:.5rem .25rem}.google-contact-name{flex:1;min-width:0;overflow-wrap:anywhere}.google-contact-phone{color:var(--ink-soft);font-variant-numeric:tabular-nums}.contact-groups{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.contact-group{padding:1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.contact-group-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.contact-group-name{font-weight:600;overflow-wrap:anywhere}.contact-rows{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.contact-rows li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding-top:.5rem;border-top:1px solid var(--line)}.contact-name{font-weight:600}.contact-phone{color:var(--ink-soft);font-variant-numeric:tabular-nums}.contact-group-actions{display:flex;gap:.35rem}.backup-actions{display:flex;flex-wrap:wrap;gap:.75rem}.backup-modes{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1rem;padding:0;border:0}.gcal-rules{margin-top:0;margin-bottom:1.25rem}.gcal-rules li{font-size:.92rem}.payments{display:flex;flex-direction:column;gap:.75rem;width:100%;height:100%;min-height:0;direction:inherit;text-align:start}.payments-toolbar{display:grid;grid-template-columns:minmax(15rem,1fr) minmax(10rem,auto) minmax(10rem,auto) auto;gap:.6rem;flex:none;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs)}.payments-toolbar input,.payments-toolbar select,.payments-reset{min-width:0;min-height:2.75rem;padding:0 .75rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink)}.payments-search{position:relative;min-width:0}.payments-search svg{position:absolute;z-index:1;inset-inline-end:.8rem;top:50%;width:17px;height:17px;color:var(--ink-soft);stroke:currentColor;stroke-width:2;stroke-linecap:round;transform:translateY(-50%);pointer-events:none}.payments-search input{width:100%;padding-inline-end:2.5rem}.payments-month,.payments-status-filter{cursor:pointer}.payments-reset{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease,transform .1s ease-out}@media(hover:hover)and (pointer:fine){.payments-reset:hover{border-color:var(--secondary);color:var(--secondary-deep);background:var(--secondary-soft)}}.payments-reset:active{transform:scale(.96)}.payments-reset svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.payments-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex:none}.payments-add-btn{flex-shrink:0}@media screen and (max-width:480px){.payments-add-btn span{display:none}.payments-actions .payments-add-btn.primary-button{flex-basis:auto;padding:.55rem;margin-inline-start:auto}}.payments-actions svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.payments-actions .primary-button{margin-inline-start:auto}.payments-ledger{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.payments-feed{flex:1;min-height:0;overflow-y:auto}.payments-print-feed{display:none}@keyframes payment-row-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.payment-row{position:relative;display:grid;grid-template-columns:40px minmax(10rem,1fr) auto minmax(7rem,auto) auto;align-items:center;gap:.75rem;min-height:4.1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--surface);transition:background .15s ease;animation:payment-row-enter .22s cubic-bezier(.22,1,.36,1) both}.payment-row:nth-child(1){animation-delay:0ms}.payment-row:nth-child(2){animation-delay:20ms}.payment-row:nth-child(3){animation-delay:40ms}.payment-row:nth-child(4){animation-delay:60ms}.payment-row:nth-child(n+5){animation-delay:80ms}.payment-row:last-child{border-bottom:0}@media(hover:hover)and (pointer:fine){.payment-row:hover{background:var(--surface-muted)}}.payment-row:before{position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--scheduled);content:"";opacity:.7}.payment-row.is-paid:before{background:var(--paid)}.payment-row.is-unpaid:before{background:var(--unpaid)}.payment-row.is-scheduled:before{background:var(--scheduled)}.payment-row.is-cancelled-charged:before{background:var(--cancelled-charged)}.payment-row.is-cancelled-free:before{background:var(--cancelled-free)}.payment-row.is-unpaid{background:color-mix(in srgb,var(--unpaid) 4%,var(--surface))}.payment-row.is-scheduled{background:color-mix(in srgb,var(--scheduled) 4%,var(--surface))}.payment-row.is-cancelled-charged{background:color-mix(in srgb,var(--cancelled-charged) 5%,var(--surface))}.payment-row.is-cancelled-free{opacity:.82}.payment-avatar{display:grid;place-items:center;width:38px;height:38px;border:1.5px solid var(--line-strong);border-radius:50%;background:linear-gradient(135deg,var(--accent-soft),var(--secondary-soft));color:var(--accent-deep);font-size:.95rem;font-weight:800}.payment-main{display:flex;flex-direction:column;gap:.08rem;min-width:0}.payment-student{overflow:hidden;color:var(--ink);font-size:.94rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.payment-date{color:var(--ink-soft);font-size:.78rem}.payment-date bdi,.payment-amount{unicode-bidi:isolate}.payment-amount{color:var(--accent-deep);font-size:1rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.payment-receipt-mark{align-self:flex-start;margin-top:.18rem;color:var(--paid);font-size:.68rem;font-weight:700;text-decoration:none}.payment-status{display:inline-flex;align-items:center;justify-self:end;gap:.35rem;min-height:2.75rem;padding:.28rem .7rem;border:1px solid currentColor;border-radius:999px;background:color-mix(in srgb,currentColor 10%,var(--surface));color:var(--scheduled);font-size:.76rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:transform .1s ease-out}.payment-status.is-paid{color:var(--paid)}.payment-status.is-unpaid{color:var(--unpaid)}.payment-status.is-scheduled{color:var(--scheduled)}.payment-status.is-cancelled-charged{color:var(--cancelled-charged)}.payment-status.is-cancelled-free{color:var(--cancelled-free)}@media(hover:hover)and (pointer:fine){.payment-status:hover{transform:translateY(-1px)}}.payment-status:active{transform:scale(.94)}.payment-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.payment-reminder{justify-self:end}.payment-status svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.7}.payments-pagination{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex:none;min-height:3.3rem;padding:.65rem 1rem;border-top:1px solid var(--line);background:var(--surface-muted);color:var(--ink-soft);font-size:.8rem}.payments-pagination>div{display:flex;align-items:center;gap:.45rem}.payments-pagination button{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .1s ease-out}@media(hover:hover)and (pointer:fine){.payments-pagination button:hover:not(:disabled){background:var(--secondary-soft);color:var(--secondary-deep);border-color:var(--secondary)}}.payments-pagination button:active:not(:disabled){transform:scale(.92)}.payments-pagination button:disabled{opacity:.38;cursor:default}.payments-pagination svg{width:17px;height:17px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[dir=ltr] .payments-pagination svg{transform:scaleX(-1)}@media screen and (max-width:800px){.payments{height:auto}.payments-toolbar{grid-template-columns:1fr 1fr}.payments-search,.payments-reset{grid-column:1 / -1}.payments-ledger{min-height:28rem}}@media screen and (max-width:560px){.payments-actions .primary-button{flex-basis:100%;margin-inline-start:0}.payment-row{grid-template-columns:38px minmax(0,1fr) auto;grid-template-areas:"avatar main amount" "avatar status reminder";gap:.25rem .65rem;min-height:5rem;padding:.7rem .8rem}.payment-avatar{grid-area:avatar}.payment-main{grid-area:main}.payment-amount{grid-area:amount}.payment-reminder{grid-area:reminder}.payment-status{grid-area:status;justify-self:start;min-height:2.75rem;padding-block:.15rem;font-size:.7rem}.payment-status svg{display:none}.payments-pagination{align-items:flex-start;flex-direction:column}.payments-pagination>div{align-self:stretch;justify-content:space-between}}@media print{.payments-toolbar,.payments-actions,.payments-pagination,.payment-reminder,.authenticated-header,.desktop-app-menu,.mobile-app-menu{display:none!important}.payments,.payments-ledger,.payments-feed{height:auto;overflow:visible}.payments-ledger{border:0;box-shadow:none}.payments-feed{display:none}.payments-print-feed{display:block}.payment-row{break-inside:avoid}}.student-profile-header{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.profile-months{display:flex;align-items:flex-end;gap:.3rem;height:7rem;margin:0;padding:0;list-style:none}.profile-months li{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;gap:.3rem;height:100%}.profile-month-bar{width:100%;border-radius:.25rem .25rem 0 0;background:var(--accent)}.profile-month-label{color:var(--ink-soft);font-size:.7rem;font-variant-numeric:tabular-nums}.profile-list{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none}.profile-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem}.profile-list li>span:first-child{min-width:4.5rem;font-weight:600}.profile-list bdi{color:var(--ink-soft);font-variant-numeric:tabular-nums}.profile-quiet-warning{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.65rem .9rem;border:1px solid var(--cancelled-charged);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--cancelled-charged) 8%,var(--surface));color:var(--cancelled-charged);font-size:.86rem;font-weight:600}.profile-quiet-warning span{display:grid;place-items:center;flex:none;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--cancelled-charged);color:var(--surface);font-weight:800}.profile-status{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem}.profile-donut{display:grid;place-content:center;flex:none;width:8.5rem;height:8.5rem;border-radius:50%;text-align:center;background:radial-gradient(circle,var(--surface) 58%,transparent 58.5%),conic-gradient(var(--paid) 0 var(--paid-stop, 0%),var(--unpaid) var(--paid-stop, 0%) var(--owed-stop, 0%),var(--scheduled) var(--owed-stop, 0%) 100%)}.profile-donut strong{font-size:1.5rem;font-weight:800}.profile-donut span{color:var(--ink-soft);font-size:.7rem}.profile-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:.35rem;height:8rem;margin:0;padding:0;list-style:none}.profile-weekdays li{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.3rem;height:100%}.profile-weekday-bar{width:100%;border-radius:var(--radius-xs) var(--radius-xs) 0 0;background:linear-gradient(to top,var(--secondary-deep),var(--secondary))}.profile-weekday-label{color:var(--ink-soft);font-size:.74rem}.profile-availability-add{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.6rem;margin-top:.75rem}.profile-range-remove{position:relative;padding:0;border:0;background:none;color:var(--unpaid);font-size:1.1rem;line-height:1;border-radius:50%;cursor:pointer;transition:background .12s ease,transform .1s ease-out}.profile-range-remove:after{position:absolute;top:-.55rem;right:-.55rem;bottom:-.55rem;left:-.55rem;content:""}@media(hover:hover)and (pointer:fine){.profile-range-remove:hover{background:color-mix(in srgb,var(--unpaid) 12%,transparent)}}.profile-range-remove:active{background:color-mix(in srgb,var(--unpaid) 18%,transparent);transform:scale(.88)}@media screen and (max-width:560px){.profile-availability-add{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-availability-add>button{grid-column:1 / -1}}.payment-request{max-width:34rem;margin:0 auto;padding:1.25rem 1rem 3rem}.payment-request-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.payment-request-logo{width:3rem;height:3rem;object-fit:contain}.payment-request-business{margin:0;font-size:1.05rem;font-weight:700}.payment-request-meta{margin:0;color:var(--ink-soft);font-size:.85rem}.payment-request-title{margin:1.25rem 0 .15rem;font-size:1.35rem}.payment-request-for{margin:0 0 1rem;color:var(--ink-soft)}.payment-request-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.5rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface);font-size:1.3rem;font-weight:700}.payment-request-methods h2,.payment-request-lessons h2{margin:0 0 .6rem;font-size:1rem}.payment-request-methods{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.payment-request-methods .primary-button{justify-content:center;padding:.8rem 1rem;font-size:1rem}.payment-request-bank{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;margin:.5rem 0 0;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface)}.payment-request-bank dt{color:var(--ink-soft);font-size:.78rem}.payment-request-bank dd{margin:.1rem 0 0;font-weight:600;font-variant-numeric:tabular-nums}.payment-request-lessons ul{margin:0;padding:0;list-style:none}.payment-request-lessons li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.payment-request-footer{margin:1.25rem 0 0;color:var(--ink-soft);font-size:.85rem}.payment-request-print{margin-top:1.5rem}@media print{.payment-request-print,.site-header,.site-footer{display:none}.payment-request{max-width:none;padding:0;color:#000}}.payment-request-copy{width:100%;margin-top:.6rem}.payment-request-cancelled{margin-inline-start:.4rem;padding:.05rem .35rem;border-radius:999px;background:color-mix(in srgb,var(--cancelled-charged) 15%,transparent);color:var(--cancelled-charged);font-size:.7rem;font-style:normal;font-weight:700}.payment-request-signature{display:flex;flex-direction:column;gap:.15rem;margin:1.4rem 0 0;color:var(--ink-soft);font-size:.85rem}.payment-request-signature strong{color:var(--ink);font-size:1rem}.payment-request-issued{margin:.8rem 0 0;color:var(--ink-soft);font-size:.75rem}.payment-request-issued bdi{unicode-bidi:isolate}@media print{.payment-request-copy,.payment-request-print{display:none!important}}.intake-form{max-width:34rem;margin:0 auto;padding:1.25rem 1rem 3rem}.intake-form-header{display:flex;align-items:center;gap:.75rem}.intake-form-header h1{margin:0;font-size:1.35rem}.intake-form-logo{width:3rem;height:3rem;object-fit:contain}.intake-form-note{margin:.75rem 0 1.25rem;color:var(--ink-soft);line-height:1.6}.intake-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}.intake-form-grid .is-wide{grid-column:1 / -1}.intake-form-days{margin:0 0 1.25rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface)}.intake-form-days legend{padding:0 .35rem;font-weight:600}.intake-form-day{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.35rem 0}.intake-form-day .check-label{min-width:6rem}.intake-form-times{display:flex;gap:.5rem}.intake-form-times .text-input{width:auto;font-variant-numeric:tabular-nums}.intake-form-submit{justify-content:center;width:100%;padding:.8rem 1rem;font-size:1rem}@media screen and (max-width:480px){.intake-form-grid{grid-template-columns:minmax(0,1fr)}}:root{--paper: #f8f9fa;--paper-deep: #f1f3f5;--surface: #ffffff;--surface-muted: #f8f9fa;--ink: #0a0a0a;--ink-soft: #4b5563;--line: rgba(0, 0, 0, .09);--line-strong: rgba(0, 0, 0, .15);--accent: #f97316;--accent-bright: #fb923c;--accent-deep: #ea580c;--accent-soft: rgba(249, 115, 22, .1);--accent-glow: rgba(249, 115, 22, .22);--accent-ink: #ffffff;--secondary: #06b6d4;--secondary-bright: #22d3ee;--secondary-deep: #0891b2;--secondary-soft: rgba(6, 182, 212, .1);--secondary-glow: rgba(6, 182, 212, .2);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .07);--shadow-md: 0 10px 28px rgba(0, 0, 0, .08);--radius-xs: .45rem;--radius-sm: .7rem;--radius: .95rem;--radius-lg: 1.25rem;--paid: #12805c;--unpaid: #b4341f;--scheduled: #5a6779;--cancelled-charged: #a4551a;--cancelled-free: #7c8698;color-scheme:light dark;color:var(--ink);background:var(--paper);font-family:Heebo,Noto Sans Hebrew,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-synthesis:none;-webkit-text-size-adjust:100%}@media(prefers-color-scheme:dark){:root{--paper: #000000;--paper-deep: #0a0a0a;--surface: #141414;--surface-muted: #1a1a1a;--ink: #f5f5f5;--ink-soft: #a1a1aa;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .15);--accent: #fb923c;--accent-bright: #fdba74;--accent-deep: #f97316;--accent-soft: rgba(251, 146, 60, .12);--accent-glow: rgba(251, 146, 60, .24);--accent-ink: #1b120b;--secondary: #22d3ee;--secondary-bright: #67e8f9;--secondary-deep: #06b6d4;--secondary-soft: rgba(34, 211, 238, .12);--secondary-glow: rgba(34, 211, 238, .24);--paid: #4fd0a3;--unpaid: #ff8f7a;--scheduled: #9aa7bb;--cancelled-charged: #e0a15f;--cancelled-free: #7c8698}}:root[data-theme=light]{--paper: #f8f9fa;--paper-deep: #f1f3f5;--surface: #ffffff;--surface-muted: #f8f9fa;--ink: #0a0a0a;--ink-soft: #4b5563;--line: rgba(0, 0, 0, .09);--line-strong: rgba(0, 0, 0, .15);--accent: #f97316;--accent-bright: #fb923c;--accent-deep: #ea580c;--accent-soft: rgba(249, 115, 22, .1);--accent-glow: rgba(249, 115, 22, .22);--accent-ink: #ffffff;--secondary: #06b6d4;--secondary-bright: #22d3ee;--secondary-deep: #0891b2;--secondary-soft: rgba(6, 182, 212, .1);--secondary-glow: rgba(6, 182, 212, .2);--paid: #12805c;--unpaid: #b4341f;--scheduled: #5a6779;--cancelled-charged: #a4551a;--cancelled-free: #7c8698}:root[data-theme=dark]{--paper: #000000;--paper-deep: #0a0a0a;--surface: #141414;--surface-muted: #1a1a1a;--ink: #f5f5f5;--ink-soft: #a1a1aa;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .15);--accent: #fb923c;--accent-bright: #fdba74;--accent-deep: #f97316;--accent-soft: rgba(251, 146, 60, .12);--accent-glow: rgba(251, 146, 60, .24);--accent-ink: #1b120b;--secondary: #22d3ee;--secondary-bright: #67e8f9;--secondary-deep: #06b6d4;--secondary-soft: rgba(34, 211, 238, .12);--secondary-glow: rgba(34, 211, 238, .24);--paid: #4fd0a3;--unpaid: #ff8f7a;--scheduled: #9aa7bb;--cancelled-charged: #e0a15f;--cancelled-free: #7c8698}*{box-sizing:border-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}:where(.app-shell-content,.payments-feed,.modal-body,.cal-agenda,.cal-week-grid-scroll){scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink-soft) 42%,transparent) transparent}:where(.app-shell-content,.payments-feed,.modal-body,.cal-agenda){scrollbar-gutter:stable}:where(.app-shell-content,.payments-feed,.modal-body,.cal-agenda,.cal-week-grid-scroll)::-webkit-scrollbar{width:9px;height:9px}:where(.app-shell-content,.payments-feed,.modal-body,.cal-agenda,.cal-week-grid-scroll)::-webkit-scrollbar-track{background:transparent}:where(.app-shell-content,.payments-feed,.modal-body,.cal-agenda,.cal-week-grid-scroll)::-webkit-scrollbar-thumb{min-width:2.5rem;min-height:2.5rem;border:2px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--ink-soft) 42%,transparent);background-clip:padding-box}:where(.app-shell-content,.payments-feed,.modal-body,.cal-agenda,.cal-week-grid-scroll)::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box}:where(.app-shell-content,.payments-feed,.modal-body,.cal-agenda,.cal-week-grid-scroll)::-webkit-scrollbar-corner{background:transparent}[dir=rtl] :where(.app-shell-content,.payments-feed,.modal-body,.cal-agenda){direction:ltr}[dir=rtl] :where(.app-shell-content,.payments-feed,.modal-body,.cal-agenda)>*{direction:rtl}body{margin:0 15%;min-width:320px;background:var(--paper);color:var(--ink);line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.screen-title{margin:0;font-size:1.15rem;font-weight:800;letter-spacing:-.02em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img{max-width:100%;height:auto}.primary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border-radius:var(--radius-sm);font-weight:700;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,background .16s ease,border-color .16s ease,color .16s ease}.primary-button{border:1px solid var(--accent);background:linear-gradient(135deg,var(--accent-bright),var(--accent-deep));color:var(--accent-ink);box-shadow:0 8px 20px var(--accent-glow)}.ghost-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs)}@media(hover:hover)and (pointer:fine){.ghost-button:hover:not(:disabled),.primary-button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.ghost-button:hover:not(:disabled){border-color:var(--secondary);color:var(--secondary-deep);background:var(--secondary-soft);box-shadow:var(--shadow-sm)}}.primary-button:active:not(:disabled),.ghost-button:active:not(:disabled){transform:scale(.96)}.primary-button:disabled,.ghost-button:disabled{opacity:.6;cursor:default}.primary-button.is-destructive{border-color:var(--unpaid);background:var(--unpaid);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--unpaid) 30%,transparent)}.ghost-button.is-destructive{color:var(--unpaid)}@media(hover:hover)and (pointer:fine){.ghost-button.is-destructive:hover:not(:disabled){border-color:var(--unpaid);color:var(--unpaid);background:color-mix(in srgb,var(--unpaid) 8%,var(--surface));box-shadow:var(--shadow-sm)}}.text-input{width:100%;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink)}.text-input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.check-label{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer}.check-label input{width:1.05rem;height:1.05rem;accent-color:var(--accent)}.entrance-card{width:100%;max-width:26rem;padding:1.35rem;border:1px solid var(--line-strong);border-radius:1.5rem;background:var(--surface);box-shadow:var(--shadow-md)}.entrance-google{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:3rem;padding:.7rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--ink);color:var(--paper);font-weight:700;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}@media(hover:hover)and (pointer:fine){.entrance-google:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px var(--accent-glow)}}.entrance-google:active:not(:disabled){transform:scale(.97)}.entrance-google:disabled{opacity:.75;cursor:default}.entrance-google .spinner-ring{border-color:color-mix(in srgb,var(--paper) 35%,transparent);border-top-color:var(--paper)}.entrance-error{margin:.85rem 0 0;color:var(--unpaid);font-size:.85rem}.entrance-note{margin:1rem 0 0;color:var(--ink-soft);font-size:.75rem;line-height:1.55}.entrance-note a{display:block;margin-top:.3rem;color:inherit;text-decoration:underline;text-underline-offset:.2em}.entrance-note a:hover{color:var(--accent)}.entrance-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.3rem;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);font-size:.88rem;font-weight:600;text-decoration:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}@media(hover:hover)and (pointer:fine){.entrance-secondary:hover{transform:translateY(-1px);border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}}.entrance-secondary:active{transform:scale(.97);border-color:var(--accent);background:var(--accent-soft)}.dashboard-panel{margin-bottom:1rem;padding:.95rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.dashboard-panel h2{margin:0 0 .7rem;font-size:.95rem}.dashboard-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;margin-bottom:1rem}.figure{padding:.75rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.figure-label{margin:0 0 .15rem;color:var(--ink-soft);font-size:.76rem}.figure-value{display:block;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;unicode-bidi:isolate}.figure.is-collected .figure-value{color:var(--paid)}.figure.is-owed .figure-value{color:var(--unpaid)}.figure.is-scheduled .figure-value{color:var(--secondary-deep)}.dashboard-next{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:0;font-weight:600}.dashboard-next bdi{unicode-bidi:isolate}.dashboard-quiet{color:var(--ink-soft);font-size:.85rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media screen and (max-width:720px){body{margin:0}}
