@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Satoshi;src:url(/assets/satoshi-400-CPM9dct4.woff2) format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/assets/satoshi-500-ByP-Zb-9.woff2) format("woff2");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/assets/satoshi-700-Bd5kKQ_U.woff2) format("woff2");font-weight:700;font-display:swap;font-style:normal}:root{--color-bg: #f5f3ee;--color-ink: #1a1a18;--color-accent: #2d5a27;--color-surface: #ffffff;--font-body: "Satoshi", sans-serif;--font-heading: "Fraunces Variable", serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-ink);line-height:1.5}h1,h2,h3,h4{font-family:var(--font-heading)}.landing-hero-title,.claim-heading,.ds-lock-time,.landing-price-amount{font-variation-settings:"opsz" 144}.landing-section-title,.setup-heading,.support-faq-item h2,.dash-section-title,.ds-heading,.ds-claim-role,.ds-confirmed-title{font-variation-settings:"opsz" 9}.page{max-width:800px;margin:0 auto;padding:2rem 1rem}.card{background:var(--color-surface);border:1px solid #e0ddd6;border-radius:8px;padding:1.25rem}.input{display:block;width:100%;padding:.625rem .75rem;font-family:var(--font-body);font-size:.9375rem;color:var(--color-ink);background:var(--color-surface);border:1px solid #ccc9be;border-radius:6px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--color-accent)}.input::placeholder{color:#999}.label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.375rem;color:var(--color-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-family:var(--font-body);font-size:.9375rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:background-color .15s,opacity .15s;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:#244a1f}.btn-outline{background:transparent;border:1px solid #ccc9be;color:var(--color-ink)}.btn-outline:hover:not(:disabled){background-color:#eae7e0}.btn-danger{background:transparent;border:1px solid #dc3545;color:#dc3545}.btn-danger:hover:not(:disabled){background-color:#dc3545;color:#fff}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.badge{display:inline-block;padding:.125rem .5rem;font-size:.75rem;font-weight:500;border-radius:999px;background-color:#eae7e0;color:var(--color-ink)}.badge-green{background-color:#d4edda;color:#155724}.badge-muted{background-color:#e9e6df;color:#888}.form-group{margin-bottom:1rem}.form-row{display:flex;gap:.75rem;align-items:center}.error-message{color:#dc3545;font-size:.875rem;margin-top:.5rem}.divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:#999;font-size:.8125rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background-color:#e0ddd6}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--color-surface);border-radius:12px;padding:1.5rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.modal-header h2{margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:0;line-height:1}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.btn-lg{padding:.875rem 2rem;font-size:1.0625rem}.legal-page{max-width:720px;margin:0 auto;padding:2rem 1rem 3rem}.legal-page h1{font-size:2rem;margin-bottom:.25rem}.legal-updated{font-size:.875rem;color:#888;margin-bottom:2rem}.legal-section{margin-bottom:2rem}.legal-section h2{font-size:1.25rem;margin-bottom:.75rem}.legal-section p{margin-bottom:.75rem;line-height:1.7;color:#444}.legal-section ul{margin:0 0 .75rem 1.25rem;line-height:1.7;color:#444}.legal-section a{color:var(--color-accent);text-decoration:underline}.dash-responses{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.response-badge{display:inline-flex;align-items:center;font-size:.75rem;padding:.125rem .5rem;border-radius:999px;font-weight:500}.response-pending{background:#ececec;color:#999}.response-delivered{background:#d5d5d5;color:#555}.response-passed{background:#f0d0d0;color:#8b2020}.response-claimed{background:var(--color-accent);color:#fff}.response-failed,.badge-warning{background:wheat;color:#8b6914}.page-wide{max-width:960px;margin:0 auto;padding:2rem 1rem}.nav-bar{background:var(--color-surface);border-bottom:1px solid #e0ddd6;position:sticky;top:0;z-index:50}.nav-inner{max-width:800px;margin:0 auto;padding:0 1rem;height:3.5rem;display:flex;align-items:center;gap:1.5rem}.nav-brand{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-accent);flex-shrink:0}.nav-links{display:flex;gap:.25rem;flex:1}.nav-link{padding:.375rem .75rem;font-size:.875rem;font-weight:500;color:#777;text-decoration:none;border-radius:6px;transition:color .15s,background-color .15s}.nav-link:hover,.nav-link.active{color:var(--color-ink);background-color:#eae7e0}.nav-signout{flex-shrink:0}@media(max-width:480px){.nav-inner{gap:.75rem}.nav-link{padding:.375rem .5rem;font-size:.8125rem}.nav-brand{font-size:1.125rem}.nav-signout{padding:.25rem .5rem;font-size:.75rem}}.public-nav{border-bottom:1px solid #e0ddd6;background:var(--color-surface)}.public-nav-inner{max-width:1100px;margin:0 auto;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.public-nav-brand{font-family:var(--font-heading);font-size:1.375rem;color:var(--color-ink);text-decoration:none}.public-footer{border-top:1px solid #e0ddd6;background:var(--color-surface);margin-top:3rem}.public-footer-inner{max-width:1100px;margin:0 auto;padding:2rem 1.5rem;text-align:center}.public-footer-links{display:flex;justify-content:center;gap:2rem;margin-bottom:1rem}.public-footer-links a{font-size:.875rem;color:#666;text-decoration:none}.public-footer-links a:hover{color:var(--color-ink)}.public-footer-copy{font-size:.8125rem;color:#999}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2rem;margin-bottom:.25rem}.login-header p{color:#777;font-size:.9375rem}.login-form .form-group{margin-bottom:1rem}.forgot-link{text-align:right;margin-bottom:.25rem}.forgot-link a{font-size:.8125rem;color:var(--color-accent);text-decoration:underline}.login-form .btn-primary{width:100%;margin-top:.5rem}.login-google{width:100%}.login-google svg{width:18px;height:18px}.login-toggle{text-align:center;margin-top:1.25rem;font-size:.875rem;color:#777}.login-toggle button{background:none;border:none;color:var(--color-accent);font-weight:500;cursor:pointer;font-size:.875rem;padding:0;text-decoration:underline}.login-confirmation{text-align:center;padding:1.5rem 0}.login-confirmation p{margin-bottom:.75rem;color:#555}.landing-nav{position:sticky;top:0;z-index:10;background:var(--color-bg);border-bottom:1px solid #e0ddd6}.landing-nav-inner{max-width:1100px;margin:0 auto;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.landing-nav-brand{font-family:var(--font-heading);font-size:1.375rem;color:var(--color-ink)}.landing-hero{text-align:center;padding:3rem 1.5rem;max-width:700px;margin:0 auto}.landing-hero-title{font-size:3rem;line-height:1.1;margin-bottom:1rem;color:var(--color-ink)}.landing-hero-sub{font-size:1.25rem;color:#555;margin-bottom:2rem;line-height:1.5}.landing-hero .demo{margin-bottom:2.5rem}.landing-cta{margin-bottom:.75rem}.landing-hero-note{font-size:.875rem;color:#888}.landing-section{padding:4rem 1.5rem}.landing-section-alt{background:var(--color-surface)}.landing-container{max-width:1000px;margin:0 auto}.landing-section-title{text-align:center;font-size:2rem;margin-bottom:2.5rem}.landing-problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.landing-problem h2,.landing-solution h2{font-size:1.375rem;margin-bottom:.75rem}.landing-problem p,.landing-solution p{color:#555;line-height:1.7}.landing-solution{border-left:3px solid var(--color-accent);padding-left:1.5rem}.demo{max-width:560px;margin:0 auto}.demo-phones{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.demo-phone-col{display:flex;flex-direction:column;align-items:center}.demo-phone-label{font-size:.8125rem;font-weight:500;color:#888;margin-bottom:.5rem}.demo-phone{width:220px;height:400px;border:3px solid #1a1a18;border-radius:28px;background:#fff;overflow:hidden;cursor:pointer;position:relative;box-shadow:0 4px 24px #00000014;-webkit-user-select:none;user-select:none;transition:box-shadow .2s}.demo-phone:hover{box-shadow:0 6px 28px #0000001f}.demo-notch{width:60px;height:18px;background:#1a1a18;border-radius:0 0 12px 12px;margin:0 auto}.demo-screen{padding:.75rem;height:calc(100% - 18px);overflow:hidden;animation:demo-enter .3s ease;margin:0 2px}.demo-nav{display:flex;align-items:flex-start;justify-content:center}.demo-nav-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;border:none;background:none;cursor:pointer;padding:0}.demo-nav-num{width:24px;height:24px;border-radius:50%;background:#e0ddd6;color:#888;font-size:.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.demo-nav-step.active .demo-nav-num{background:var(--color-accent);color:#fff}.demo-nav-label{font-size:.6875rem;color:#888;transition:color .2s}.demo-nav-step.active .demo-nav-label{color:var(--color-ink);font-weight:500}.demo-nav-line{width:24px;height:2px;background:#e0ddd6;margin:0 .25rem;margin-top:11px}@keyframes demo-enter{0%{opacity:0}to{opacity:1}}@keyframes anim-fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes anim-slidedown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes anim-scalein{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes anim-tap{0%,62%{transform:scale(1)}66%{transform:scale(.95)}72%{transform:scale(1.01)}78%,to{transform:scale(1)}}.anim-fadein{opacity:0;animation:anim-fadein .4s ease forwards}.anim-slidedown{opacity:0;animation:anim-slidedown .5s ease .3s forwards}.anim-scalein{opacity:0;animation:anim-scalein .5s cubic-bezier(.175,.885,.32,1.275) forwards}.anim-tap{animation:anim-tap 4s ease forwards}.ds-lock{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;opacity:.4}.ds-lock-time{font-family:var(--font-heading);font-size:2.5rem;color:var(--color-ink);margin-bottom:.25rem}.ds-lock-date{font-size:.75rem;color:#888}.ds-dash-title{font-family:var(--font-heading);font-size:.9375rem;margin-bottom:.5rem}.ds-dash-card{border:1px solid #e0ddd6;border-radius:8px;padding:.5rem}.ds-dash-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.ds-dash-badge{display:inline-block;padding:.0625rem .375rem;font-size:.625rem;font-weight:500;border-radius:999px;background:#eae7e0;color:var(--color-ink)}.ds-dash-expiry{font-size:.625rem;color:#b8860b}.ds-dash-card-detail{font-size:.6875rem;color:#555;margin-bottom:.375rem}.ds-dash-responses{display:flex;gap:.25rem;flex-wrap:wrap}.ds-dash-resp{display:inline-block;padding:.0625rem .375rem;font-size:.5625rem;font-weight:500;border-radius:999px}.ds-dash-resp-pending{background:#e0e0e0;color:#555}.ds-dash-resp-passed{background:#f0d0d0;color:#8b2020}.ds-heading{font-family:var(--font-heading);font-size:1.125rem;margin-bottom:.625rem}.ds-fields{margin-bottom:.5rem}.ds-field{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;border-bottom:1px solid #f0ede6;font-size:.8125rem}.ds-field-label{color:#888;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.ds-field-value{font-weight:500;font-size:.8125rem}.ds-notify{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;font-size:.8125rem;margin-bottom:.75rem}.ds-notify-names{font-weight:500;font-size:.8125rem}.ds-post-btn,.ds-claim-yes{background:var(--color-accent);color:#fff;border-radius:6px;padding:.5rem;font-weight:600;font-size:.8125rem;text-align:center}.ds-sms-notif{background:#f0ede6;border-radius:12px;padding:.5rem .625rem;display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.ds-sms-icon{width:28px;height:28px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:.5625rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ds-sms-notif-text{flex:1;min-width:0}.ds-sms-notif-text strong{display:block;font-size:.6875rem}.ds-sms-notif-text span{display:block;font-size:.625rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-sms-notif-time{font-size:.625rem;color:#999;flex-shrink:0}.ds-sms-sender{font-weight:600;font-size:.75rem;color:#555;margin-bottom:.5rem}.ds-sms-bubble{background:#e9e6df;border-radius:12px 12px 12px 4px;padding:.625rem .75rem;font-size:.75rem;line-height:1.5;color:var(--color-ink);word-break:break-word}.ds-sms-time{font-size:.625rem;color:#999;margin-top:.375rem}.ds-claim{text-align:center}.ds-claim-hi{font-size:.8125rem;color:#666;margin-bottom:.125rem}.ds-claim-role{font-family:var(--font-heading);font-size:1.375rem;margin-bottom:.125rem}.ds-claim-venue{font-size:.8125rem;color:#666;margin-bottom:.625rem}.ds-claim-info{border-top:1px solid #e0ddd6;border-bottom:1px solid #e0ddd6;padding:.375rem 0;margin-bottom:.625rem;text-align:left}.ds-claim-row{display:flex;justify-content:space-between;padding:.1875rem 0;font-size:.75rem}.ds-claim-lbl{font-weight:500;color:#888;text-transform:uppercase;font-size:.625rem;letter-spacing:.05em}.ds-claim-btns{display:flex;flex-direction:column;gap:.375rem}.ds-claim-pass{border:1px solid #ccc9be;border-radius:6px;padding:.375rem;font-size:.8125rem;color:var(--color-ink);text-align:center}.ds-confirmed{text-align:center;padding-top:2rem}.ds-check{width:52px;height:52px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.ds-confirmed-title{font-family:var(--font-heading);font-size:1.375rem;margin-bottom:.625rem}.ds-confirmed-detail p{font-size:.8125rem;color:#555;line-height:1.5}.ds-confirmed-sms{margin-top:1.25rem;font-size:.75rem;color:var(--color-accent);font-weight:500}.landing-pricing-card{max-width:400px;margin:0 auto;text-align:center;padding:2rem}.landing-price{margin-bottom:1.5rem}.landing-price-amount{font-family:var(--font-heading);font-size:3rem;color:var(--color-ink)}.landing-price-period{font-size:1.125rem;color:#777}.landing-pricing-flat{font-size:.9375rem;font-weight:500;color:var(--color-accent);margin-bottom:1rem}.landing-pricing-list{list-style:none;text-align:left;margin-bottom:1.5rem}.landing-pricing-list li{padding:.375rem 0;font-size:.9375rem;color:#444;border-bottom:1px solid #f0ede6}.landing-pricing-list li:before{content:"✓";color:var(--color-accent);font-weight:700;margin-right:.5rem}.landing-pricing-note{font-size:.8125rem;color:#888;margin-bottom:1.5rem;text-align:center}.landing-pricing-cta{width:100%}.landing-bottom-cta{text-align:center;padding:5rem 1.5rem}.landing-bottom-title{font-size:2rem;margin-bottom:.75rem}.landing-bottom-sub{font-size:1.125rem;color:#555;margin-bottom:2rem}.landing-footer{border-top:1px solid #e0ddd6;background:var(--color-surface)}.landing-footer-inner{max-width:1100px;margin:0 auto;padding:2rem 1.5rem;text-align:center}.landing-footer-links{display:flex;justify-content:center;gap:2rem;margin-bottom:1rem}.landing-footer-links a{font-size:.875rem;color:#666;text-decoration:none}.landing-footer-links a:hover{color:var(--color-ink)}.landing-footer-copy{font-size:.8125rem;color:#999}@media(max-width:768px){.landing-hero{padding:2rem 1rem}.landing-hero-title{font-size:2.25rem}.landing-hero-sub{font-size:1.0625rem}.landing-problem-grid{grid-template-columns:1fr;gap:2rem}.landing-solution{border-left:none;border-top:3px solid var(--color-accent);padding-left:0;padding-top:1.5rem}.demo-phones{gap:.75rem}.demo-phone{width:155px;height:290px}.demo-notch{width:44px;height:14px;border-radius:0 0 8px 8px}.demo-screen{padding:.5rem}.demo-phone-label{font-size:.6875rem}.ds-lock-time{font-size:1.75rem}.ds-confirmed{padding-top:1rem}.ds-check{width:40px;height:40px;font-size:1.25rem}.ds-confirmed-title,.ds-claim-role{font-size:1.125rem}.demo-nav-label{font-size:.5625rem}.landing-section-title{font-size:1.625rem}.landing-section,.landing-bottom-cta{padding:3rem 1.5rem}}.support-subtitle{color:#888;margin-bottom:2rem}.support-faq-item{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e3de}.support-faq-item:last-of-type{border-bottom:none}.support-faq-item h2{font-size:1.125rem;font-family:var(--font-heading);margin-bottom:.5rem}.support-faq-item p{color:#444;line-height:1.7}.support-contact{margin-top:3rem;padding-top:2rem;border-top:1px solid #e5e3de;text-align:center}.support-contact h2{font-size:1.25rem;margin-bottom:.5rem}.support-contact-email{color:var(--color-accent);font-weight:500;font-size:1.125rem;text-decoration:underline}.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dash-header h1{margin:0}.dash-empty{text-align:center;padding:3rem 1rem;color:#999}.dash-empty p{margin-bottom:1rem}.dash-section{margin-bottom:2rem}.dash-section-title{font-size:1.125rem;margin-bottom:.75rem;color:#555}.dash-cards{display:flex;flex-direction:column;gap:.75rem}.dash-card{display:grid;grid-template-columns:56px 1fr auto;gap:1rem;align-items:start}.dash-card-filled{border-left:3px solid var(--color-accent)}.dash-card-expired{opacity:.7}.dash-date-block{display:flex;flex-direction:column;align-items:center;background:var(--color-bg);border-radius:6px;padding:.375rem 0;line-height:1.2}.dash-date-day{font-size:.625rem;font-weight:600;letter-spacing:.05em;color:#888}.dash-date-num{font-family:var(--font-heading);font-size:1.375rem;font-weight:600;color:var(--color-ink)}.dash-date-month{font-size:.625rem;font-weight:600;letter-spacing:.05em;color:#888}.dash-card-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dash-card-top{display:flex;align-items:center;gap:.5rem}.dash-time{font-size:.875rem;color:#555}.dash-pay{font-size:.8125rem;color:#777}.dash-card-actions-col{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.dash-expiry{font-size:.8125rem;color:#b8860b;white-space:nowrap}.dash-claimed-by{font-size:.875rem;font-weight:500;color:var(--color-accent)}.dash-expired-label{font-size:.8125rem;color:#999}.dash-billing-banner{padding:1.5rem;text-align:center;margin-bottom:1.5rem;border:2px solid var(--color-accent)}.dash-billing-banner h2{margin-bottom:.5rem}.dash-billing-banner p{color:#555;margin-bottom:1rem;font-size:.9375rem}@media(max-width:480px){.dash-card{grid-template-columns:48px 1fr;gap:.75rem}.dash-card-actions-col{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:center;padding-left:0}}.shift-layout{display:grid;grid-template-columns:1fr 300px;gap:2rem;margin-top:1.5rem;align-items:start}.shift-form{min-width:0}.shift-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.role-chip{padding:.375rem .875rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;border:1px solid #ccc9be;border-radius:999px;background:var(--color-surface);color:var(--color-ink);cursor:pointer;transition:all .15s}.role-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.role-chip.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.expiry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.expiry-option{padding:.5rem .25rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;border:1px solid #ccc9be;border-radius:6px;background:var(--color-surface);color:var(--color-ink);cursor:pointer;text-align:center;transition:all .15s}.expiry-option:hover{border-color:var(--color-accent);color:var(--color-accent)}.expiry-option.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.notify-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.notify-header .label{margin-bottom:0}.notify-hint{font-size:.8125rem;color:#999;padding:.75rem 0}.notify-list{display:flex;flex-direction:column;gap:.25rem;border:1px solid #e0ddd6;border-radius:6px;padding:.5rem;max-height:280px;overflow-y:auto}.notify-member{display:flex;align-items:center;gap:.625rem;padding:.375rem .5rem;border-radius:6px;cursor:pointer;font-size:.9375rem}.notify-member:hover{background-color:#eae7e0}.notify-member input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-accent);flex-shrink:0;margin-left:auto}.member-avatar{width:32px;height:32px;border-radius:50%;background:#e0ddd6;color:#666;font-size:.6875rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.member-avatar.selected{background:var(--color-accent);color:#fff}.member-info{display:flex;flex-direction:column;min-width:0}.notify-name{font-weight:500;font-size:.9375rem}.notify-roles{font-size:.75rem;color:#777}.shift-sidebar{position:sticky;top:1rem}.shift-preview{background:var(--color-surface);border:1px solid #e0ddd6;border-radius:8px;padding:1.25rem}.preview-title{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:.75rem}.preview-rows{display:flex;flex-direction:column;gap:.375rem}.preview-row{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem}.preview-label{color:#888}.preview-value{font-weight:500;color:var(--color-ink)}.preview-sms-bubble{background:#eaf2e9;border-radius:12px;padding:.75rem 1rem;font-size:.8125rem;line-height:1.5;color:var(--color-ink);word-break:break-word}@media(max-width:700px){.shift-layout{grid-template-columns:1fr}.shift-sidebar{position:static;order:-1}}.bench-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.bench-header h1{margin:0}.bench-count{font-size:.875rem;color:#777;margin-left:.75rem;font-family:var(--font-body);font-weight:400}.bench-list{display:flex;flex-direction:column;gap:.75rem}.bench-member{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem}.bench-member.inactive>.member-info,.bench-member.inactive>.member-actions{opacity:.5}.opted-out-badge{width:100%;margin-top:-.5rem}.member-info{flex:1;min-width:0}.member-name{font-weight:500;font-size:1rem;margin-bottom:.125rem}.member-phone{font-size:.8125rem;color:#777;margin-bottom:.375rem}.member-notes{font-size:.8125rem;color:#999;font-style:italic;margin-top:.25rem}.member-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.member-actions{display:flex;gap:.5rem;flex-shrink:0}.role-chips{display:flex;flex-wrap:wrap;gap:.5rem}.role-chip{padding:.375rem .75rem;border-radius:999px;border:1px solid #ccc9be;background:transparent;font-family:var(--font-body);font-size:.8125rem;cursor:pointer;transition:all .15s;color:var(--color-ink)}.role-chip.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.role-chip:hover:not(.active){background-color:#eae7e0}.role-add-trigger{border-style:dashed;color:#999}.role-add-input{width:7rem;outline:none;border-style:solid;border-color:var(--color-accent)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-accent)}.bench-empty{text-align:center;padding:3rem 1rem;color:#999}.bench-empty p{margin-bottom:1rem}.history-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.history-card{display:grid;grid-template-columns:56px 1fr auto;gap:1rem;align-items:start}.history-date-block{display:flex;flex-direction:column;align-items:center;background:var(--color-bg);border-radius:6px;padding:.375rem 0;line-height:1.2}.history-date-day{font-size:.625rem;font-weight:600;letter-spacing:.05em;color:#888}.history-date-num{font-family:var(--font-heading);font-size:1.375rem;font-weight:600;color:var(--color-ink)}.history-date-month{font-size:.625rem;font-weight:600;letter-spacing:.05em;color:#888}.history-card-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.history-card-top{display:flex;align-items:center;gap:.5rem}.history-time{font-size:.875rem;color:#555}.history-pay{font-size:.8125rem;color:#777}.history-actions-col{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.history-status{font-size:.8125rem}.history-status-filled{font-weight:500;color:var(--color-accent)}.history-status-expired,.history-status-cancelled{color:#999}.history-empty{text-align:center;padding:3rem 1rem;color:#999}@media(max-width:480px){.history-card{grid-template-columns:48px 1fr;gap:.75rem}.history-actions-col{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:center}}.settings-form{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem;max-width:560px}.settings-section h2{font-size:1.125rem;margin-bottom:1rem}.settings-hint{font-size:.8125rem;color:#888;margin-bottom:.75rem}.settings-hint-warn{color:#b8860b}.label-optional{font-weight:400;font-size:.8125rem;color:#888}.label-recommended{font-weight:400;font-size:.8125rem;color:#b8860b}.settings-role-chip{display:inline-flex;align-items:center;gap:.375rem}.role-remove{background:none;border:none;color:#ffffffb3;font-size:1rem;cursor:pointer;padding:0;line-height:1}.role-remove:hover{color:#fff}.settings-actions{display:flex;gap:.75rem}.claim-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}.claim-loading{font-size:.9375rem;color:#888}.claim-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid #e0ddd6;border-radius:12px;padding:2rem 1.5rem;text-align:center}.claim-card-success{border-color:var(--color-accent)}.claim-success-check{width:48px;height:48px;margin:0 auto 1rem;border-radius:50%;background-color:var(--color-accent);color:#fff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center}.claim-greeting{font-size:.9375rem;color:#666;margin-bottom:.25rem}.claim-heading{font-family:var(--font-heading);font-size:1.75rem;color:var(--color-ink);margin-bottom:.25rem}.claim-venue{font-size:1rem;color:#666;margin-bottom:1.25rem}.claim-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.claim-detail-box{display:flex;flex-direction:column;align-items:center;background:var(--color-bg);border-radius:8px;padding:.875rem .5rem}.claim-detail-primary{font-size:1rem;font-weight:600;color:var(--color-ink)}.claim-detail-secondary{font-size:.75rem;color:#888;margin-top:.125rem}.claim-pay-callout{background:#eaf2e9;border-radius:8px;padding:.75rem;margin-bottom:1rem}.claim-pay-amount{font-size:1.125rem;font-weight:700;color:var(--color-accent)}.claim-detail{font-size:.9375rem;color:var(--color-ink);margin-bottom:.5rem}.claim-summary{margin-top:1rem}.claim-pay{font-size:1rem;font-weight:700;color:var(--color-accent);margin-top:.25rem}.claim-notes{font-size:.875rem;color:#666;background-color:#f9f8f5;border-radius:6px;padding:.625rem .75rem;margin-bottom:1rem;text-align:left}.claim-expiry{font-size:.875rem;color:#b8860b;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.375rem}.expiry-dot{width:8px;height:8px;border-radius:50%;background:#b8860b;animation:expiry-pulse 1.5s ease-in-out infinite}@keyframes expiry-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.claim-expired-inline{font-size:.9375rem;color:#dc3545;font-weight:500;margin-bottom:.5rem}.claim-action-error{font-size:.875rem;color:#dc3545;margin-bottom:.75rem}.claim-error-text{font-size:.9375rem;color:#666}.claim-confirm-msg{font-size:.875rem;color:#888;margin-top:1rem}.claim-cal-btn{margin-top:1.25rem}.claim-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.claim-btn-yes{width:100%;padding:1rem;font-size:1.125rem;font-weight:600;background-color:var(--color-accent);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .15s}.claim-btn-yes:hover:not(:disabled){background-color:#244a1f}.claim-btn-yes:disabled{opacity:.5;cursor:not-allowed}.claim-btn-pass{width:100%;padding:.75rem;font-size:1rem;font-weight:500;background:transparent;border:1px solid #ccc9be;color:var(--color-ink);border-radius:8px;cursor:pointer;transition:background-color .15s}.claim-btn-pass:hover:not(:disabled){background-color:#eae7e0}.claim-btn-pass:disabled{opacity:.5;cursor:not-allowed}.claim-opt-out-link{display:block;margin:1.5rem auto 0;background:none;border:none;color:#999;font-size:.75rem;cursor:pointer;text-decoration:underline;padding:0}.claim-opt-out-link:disabled{opacity:.5;cursor:not-allowed}.claim-opt-out-done{margin-top:1.5rem;font-size:.8125rem;color:#666;text-align:center}@media(max-width:480px){.claim-card{padding:1.5rem 1.25rem}.claim-heading{font-size:1.5rem}}.welcome-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}.welcome-loading{font-size:.9375rem;color:#888}.welcome-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid #e0ddd6;border-radius:12px;padding:2rem 1.5rem;text-align:center}.welcome-heading{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-ink);margin-bottom:1rem}.welcome-text{font-size:.9375rem;color:#555;margin-bottom:.75rem;line-height:1.6}.welcome-error{font-size:.9375rem;color:#666}.welcome-opted-out{margin-top:1.5rem;font-size:.875rem;color:#666;background:#f9f8f5;border-radius:6px;padding:.75rem}.welcome-opt-out-link{display:block;margin:1.5rem auto 0;background:none;border:none;color:#999;font-size:.8125rem;cursor:pointer;text-decoration:underline;padding:0}.welcome-opt-out-link:disabled{opacity:.5;cursor:not-allowed}.welcome-reasons{margin-top:1.5rem}.welcome-reasons-title{font-size:.8125rem;color:#888;margin-bottom:.625rem}.welcome-reasons-list{display:flex;flex-direction:column;gap:.5rem}@media(max-width:480px){.welcome-card{padding:1.5rem 1.25rem}}.forgot-confirmation{text-align:center;padding:1.5rem 0}.forgot-confirmation p{margin-bottom:.75rem;color:#555}.forgot-confirmation .btn{margin-top:.5rem}.forgot-back{text-align:center;margin-top:1.25rem;font-size:.875rem}.forgot-back a{color:var(--color-accent);text-decoration:underline}.account-sections{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem;max-width:560px}.account-section h2{font-size:1.125rem;margin-bottom:1rem}.account-section .form-group{margin-bottom:1rem}.account-info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.account-info-row+.account-info-row{border-top:1px solid #e0ddd6}.account-info-label{font-size:.875rem;color:#888}.account-info-value{font-size:.875rem;color:var(--color-ink)}.account-current{font-size:.875rem;color:#555;margin-bottom:1rem}.account-hint{font-size:.8125rem;color:#888;margin-bottom:1rem}.account-danger{border:1px solid #e8c4c4}.btn-danger{background-color:#c53030;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer}.btn-danger:hover{background-color:#9b2c2c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-prompt{font-size:.875rem;margin-bottom:.75rem;color:#555}.delete-confirm-actions{display:flex;gap:.75rem;margin-top:.5rem}.success-message{color:var(--color-accent);font-size:.875rem;margin-bottom:.75rem}.account-billing-btn{margin-top:1rem}.setup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:1rem}.setup-card{background:var(--color-surface);border:1px solid #e0e0e0;border-radius:8px;padding:2.5rem 2rem;width:100%;max-width:440px}.setup-progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:2rem}.setup-dot{width:10px;height:10px;border-radius:50%;background:#ddd;transition:background .2s}.setup-dot.active{background:var(--color-accent)}.setup-line{width:40px;height:2px;background:#ddd}.setup-heading{font-family:var(--font-heading);font-size:1.5rem;margin-bottom:.25rem}.setup-hint{color:#777;font-size:.9375rem;margin-bottom:1.5rem;line-height:1.5}.setup-field-hint{color:#999;font-size:.8125rem;margin-top:.25rem;line-height:1.4}.setup-btn{width:100%;margin-top:.5rem}.setup-done-btn{margin-top:.75rem}.setup-members-added{background:var(--color-bg);border-radius:6px;margin-bottom:1.25rem;padding:.5rem .75rem}.setup-member-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem}.setup-member-row+.setup-member-row{border-top:1px solid #e0ddd6}.setup-member-name{font-weight:500}.setup-member-phone{color:#777;font-size:.8125rem}
