/* JimSync visual system: athletic editorial, warm paper and electric lime. */
:root{--night:#161c19;--night-soft:#222b25;--ink:#202a23;--paper:#f6f7f2;--lime:#d0fb71;--line:#e1e6db;--muted:#6b7569;--chart:#638442}
.marketing{background:#f6f7f2}.marketing .container{max-width:1240px}.hero-shell{background:#161c19;position:relative}.site-header{height:96px;border-bottom:1px solid #ffffff18}.marketing-nav{font-size:13px}.login-link{border:1px solid #ffffff30;border-radius:30px;padding:10px 17px}.hero{grid-template-columns:1.05fr 1fr;gap:65px;padding-top:55px;padding-bottom:55px;min-height:700px}.hero h1{font-size:clamp(64px,6.4vw,94px);font-weight:600;line-height:.98;letter-spacing:-.075em;margin:28px 0}.hero-copy>p{font-size:16px;line-height:1.85;max-width:450px;color:#b8c2b8}.hero .eyebrow{font-size:10px}.hero-footnote{font-size:11px;max-width:420px;line-height:1.7;color:#bcc9b2}.marketing .button{border-radius:30px;padding:15px 23px;font-size:13px}.hero-art{height:565px;border-radius:160px 160px 22px 22px;border:1px solid #ffffff22;background:#303b2d;isolation:isolate;overflow:hidden}.gym-portrait{width:100%;height:100%;object-fit:cover;object-position:center 40%;position:absolute;inset:0}.portrait-shade{position:absolute;inset:0;background:linear-gradient(180deg,#10181055,transparent 30%,#10181000 45%,#101810eb)}.scan-label{top:35px;left:60px;right:60px;color:#edf5e8;font-size:8px}.scan-label>span:last-child{color:#d1dacc}.hero-art .face-frame{top:7%;height:34%;width:36%}.corner{width:29px;height:29px;filter:drop-shadow(0 0 5px #18231b)}.scan-line{opacity:.6}.webcam-chip{position:absolute;bottom:151px;left:28px;color:#eff5e9;border:1px solid #ffffff35;background:#18221bbd;border-radius:30px;display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:9px;letter-spacing:.1em}.webcam-chip .icon{width:16px;height:16px}.access-preview{bottom:56px;left:28px;right:28px;transform:none;width:auto;border-radius:14px;padding:18px;background:#f4f7ed}.access-preview strong{font-size:19px}.access-preview small{font-size:8px;letter-spacing:.08em}.access-check{width:43px;height:43px;background:#d0fb71}.art-caption{bottom:21px;color:#d2dbcc;font-size:9px}.hero-bottom{padding:19px 0;font-size:10px}.benefit-strip{background:#d0fb71;color:#263420}.benefit-strip>.container{display:flex;justify-content:space-between;gap:22px;padding:22px 0;font-size:12px;font-weight:650}.webcam-section{padding:105px 0 90px}.webcam-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-bottom:45px}.webcam-intro h2{font-size:clamp(40px,4.7vw,66px);font-weight:550;line-height:1.06;letter-spacing:-.055em;margin-top:20px}.webcam-intro>div>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.85}.webcam-intro .text-link{margin-top:22px;font-size:13px}.integration-note{display:block;margin-top:12px;color:#6b7569;font-size:11px}.hardware-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;border:1px solid #dde3d5;border-radius:20px;overflow:hidden}.hardware-grid article{padding:32px 25px;border-left:1px solid #dde3d5}.hardware-grid article:first-child{border:0}.hardware-grid h3{font-size:21px;line-height:1.2;margin:30px 0 14px;font-weight:550}.hardware-grid p{font-size:12px;color:#6b7569;line-height:1.85}.hardware-number{font-size:11px;color:#7c8b70}.hardware-feature{background:#e9efde}.hardware-feature .eyebrow{color:#566746;font-size:9px}.hardware-feature h3{margin:12px 0 0}.camera-object{height:110px;position:relative;display:grid;justify-content:center;padding-top:10px;margin-bottom:18px}.camera-body{width:150px;height:65px;border-radius:22px;background:linear-gradient(155deg,#495347,#182119 68%);border:2px solid #5c6555;box-shadow:0 12px 20px #15200f20;display:grid;place-items:center;position:relative;z-index:1}.camera-lens{border:5px solid #101510;box-shadow:0 0 0 2px #59624f;width:45px;height:45px;background:radial-gradient(circle at 38% 35%,#6b9ba3,#192f33 28%,#090e0e 70%);border-radius:50%;display:grid;place-items:center}.camera-lens i{width:9px;height:9px;background:#a0b9b2aa;border-radius:50%;margin:-10px 0 0 -10px}.camera-light{position:absolute;right:15px;top:29px;width:4px;height:4px;background:#d0fb71;border-radius:50%}.camera-stand{height:26px;width:75px;background:linear-gradient(90deg,#384133,#626b58,#303b2c);margin:-2px auto 0;border-radius:0 0 9px 9px;transform:perspective(100px) rotateX(30deg)}.product-section{border-top:1px solid #e1e6db;padding-top:90px}.section-heading h2,.flow-layout h2,.pricing-section h2{font-size:clamp(34px,3.5vw,48px);letter-spacing:-.055em}.product-preview{box-shadow:0 25px 65px #25331b0c;border-radius:18px}.preview-metrics strong{font-size:23px}.preview-table{overflow:auto}.feature-grid{gap:22px}.feature-grid article{background:#edf1e6;border:1px solid #e1e7d9;padding:28px;border-radius:15px}.feature-icon{background:#dbe8c7}.feature-grid h3{font-size:19px}.flow-section{background:#e8eddf}.pilot-card{padding:38px;border-radius:20px;box-shadow:0 18px 60px #20351808}.cta-section{padding:90px 0;background:radial-gradient(ellipse at 50% 130%,#405c28,transparent 65%),#161c19}.cta-section h2{font-size:clamp(36px,4.6vw,64px);letter-spacing:-.055em}.site-footer{padding-top:32px;padding-bottom:32px}
/* Keep the analytical screens complete, with stronger hierarchy and breathing room. */
.app-page{background:#f4f6f0}.sidebar{background:#161e19}.app-header{background:#fbfcf8;border-bottom-color:#e1e6db}.app-content{max-width:1700px;margin:auto}.app-nav a.current{background:#d0fb71;color:#25341e}.app-nav a{border-radius:9px}.workspace-chip{background:#ffffff07;border:1px solid #ffffff10;border-radius:12px}.panel,.metric-card{border-color:#e0e6d9;border-radius:15px;box-shadow:0 4px 16px #263b1803}.panel-heading{padding-top:23px;padding-bottom:21px}.metric-card{padding:22px}.metrics-grid{gap:17px}.kpi>strong{font-size:32px;font-weight:550}.metrics-secondary .metric-card{background:#edf1e7;box-shadow:none}.page-heading h1{letter-spacing:-.055em;font-weight:550}.club-banner{position:relative;isolation:isolate;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#18231b;border-radius:18px;padding:31px 34px;margin-bottom:25px;color:#fff;min-height:165px}.club-banner:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#18231b 20%,#18231bee 47%,#18231b55),url('/static/images/gym-access.jpg') right 20%/55% auto no-repeat}.club-banner h2{font-size:30px;font-weight:500;margin:12px 0 9px;letter-spacing:-.045em}.club-banner p:not(.eyebrow){font-size:12px;color:#bdcbb3}.club-banner .eyebrow{font-size:9px;color:#d0fb71}.club-banner .button{border-radius:28px}.terminal-card{background:radial-gradient(ellipse at top right,#3b512a,transparent),#18231b;border-radius:16px}.account-aside{background:linear-gradient(0deg,#151e18 2%,#151e18cc 50%,#151e1880),url('/static/images/gym-access.jpg') center/cover}.account-graphic{opacity:.45}
@media(min-width:1500px){.hero h1{font-size:96px}}
@media(max-width:1100px){.hero{gap:35px;min-height:630px}.hero h1{font-size:68px}.hero-art{height:510px}.hero-copy>p{font-size:14px}.hardware-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hardware-grid article:nth-child(3){border-left:0;border-top:1px solid #dde3d5}.hardware-grid article:nth-child(4){border-top:1px solid #dde3d5}.webcam-intro{gap:40px}.hardware-grid h3{margin-top:20px}.club-banner{padding:26px}.club-banner h2{font-size:26px}.kpi>strong{font-size:27px}}
@media(max-width:700px){.site-header{height:80px}.login-link{padding:8px 11px}.hero{gap:35px;padding-top:40px;padding-bottom:35px}.hero h1{font-size:clamp(58px,12vw,78px)}.hero-copy>p{font-size:14px}.hero-art{height:490px;width:100%;max-width:470px;border-radius:130px 130px 20px 20px}.hero-footnote{font-size:10px}.hero-buttons .button{padding:13px 17px}.benefit-strip>.container{gap:12px;flex-wrap:wrap;justify-content:center;font-size:10px;padding:17px 0}.webcam-section{padding:60px 0}.webcam-intro{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.webcam-intro h2{font-size:46px}.webcam-intro>div>p:not(.eyebrow){font-size:14px}.hardware-grid{grid-template-columns:1fr}.hardware-grid article{border-left:0;border-top:1px solid #dde3d5;padding:27px}.hardware-feature{display:flex;flex-direction:column;align-items:center;text-align:center}.hardware-grid h3{font-size:22px;margin-top:15px}.hardware-grid p{font-size:13px}.product-section{padding-top:55px}.feature-grid article{padding:26px}.feature-icon{position:static;margin-bottom:20px}.club-banner{align-items:flex-start;flex-direction:column;padding:25px;gap:20px}.club-banner h2{font-size:28px}.club-banner:before{background:linear-gradient(90deg,#18231b 10%,#18231bc9 70%),url('/static/images/gym-access.jpg') right center/cover}.metrics-grid{gap:10px}.metric-card{padding:16px}.kpi>strong{font-size:24px}.cta-section{padding:60px 0}.marketing .preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.scan-label{left:45px;right:45px}.hero-bottom{font-size:8px}}
@media(max-width:700px){.app-main{min-width:0;overflow-x:clip}.app-content .panel{min-width:0;max-width:100%}.table-scroll{max-width:100%;overscroll-behavior-x:contain}}
@media(max-width:700px){.app-page{overflow-x:clip}}

/* Fictional demo members, photographed at the same reception webcam. */
.avatar.member-portrait{display:block;object-fit:cover;object-position:center;flex-shrink:0;border:1px solid #dce3d4;background:#e7ebdf}
.member-photo-field{padding:22px;border:1px solid #dce7d5;border-radius:16px;background:#f0f5e9;display:grid;gap:13px}
.member-photo-field [hidden]{display:none!important}
.member-photo-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.member-photo-heading .eyebrow{font-size:9px;color:#5c7a48}
.member-photo-heading h2{font-size:20px;letter-spacing:-.04em;margin:6px 0}
.member-photo-heading p,.member-camera-note{font-size:11px;color:#667760;line-height:1.6}
.photo-current{height:58px;width:58px}
.member-camera-frame{height:240px;position:relative;overflow:hidden;border-radius:12px;background:#1b271e;display:grid;place-items:center}
.member-camera-frame video,.member-camera-frame>img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}
.member-camera-frame video,.member-camera-frame>img[data-member-preview]{transform:scaleX(-1)}
.member-camera-placeholder{color:#c7d8bf;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;font-size:12px;text-align:center;padding:20px}
.member-camera-placeholder .icon{height:36px;width:36px;color:#d0fb71}
.member-camera-corners{pointer-events:none;position:absolute;inset:22px;border:1px solid #d0fb7147;border-radius:8px;box-shadow:0 0 0 9999px #0000000c inset}
.member-camera-actions{display:flex;gap:9px;flex-wrap:wrap}
.member-camera-actions .button{min-height:38px;padding:9px 15px;font-size:11px}
.member-camera-status{font-size:11px;color:#597248;line-height:1.5}
.member-upload-label{font-size:11px;font-weight:650;color:#344b38}
.member-photo-field input[type=file]{font-size:11px;color:#52634e;max-width:100%}
.member-photo-field input[type=file]::file-selector-button{border:1px solid #c7d8bb;border-radius:20px;background:#fff;padding:8px 12px;color:#344b38;margin-right:10px;cursor:pointer}
@media(max-width:700px){.member-photo-field{padding:16px}.member-camera-frame{height:220px}.member-photo-heading h2{font-size:18px}}
.marketing .preview-table .avatar.member-portrait{width:38px;height:38px}

/* Three lightweight access setups, drawn as readable technical sketches. */
.setups-section{padding:90px 0 102px;background:#e9efe2;border-top:1px solid #dbe5d3;border-bottom:1px solid #dbe5d3}
.setups-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:end;margin-bottom:36px}
.setups-heading h2{font-size:clamp(38px,4.2vw,60px);font-weight:550;letter-spacing:-.06em;line-height:1.07;margin:18px 0 0}
.setups-heading>p{max-width:440px;color:#586a54;font-size:14px;line-height:1.85;padding-bottom:4px}
.setups-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch}
.setup-card{background:#f9fbf6;border:1px solid #d5dfce;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 15px 35px #20331b0a}
.setup-card-featured{background:#f4f8ec;border-color:#b8d69b;box-shadow:0 18px 38px #395c1d16}
.setup-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:22px 24px 0}
.setup-index{font-size:11px;font-weight:700;letter-spacing:.1em;color:#647b55}
.setup-chip{font-size:9px;font-weight:700;letter-spacing:.08em;color:#344a2a;background:#e1efcf;border-radius:20px;padding:6px 10px;white-space:nowrap}
.setup-card-featured .setup-chip{background:#d0fb71}
.setup-drawing{margin:12px 15px 0;min-height:202px;display:grid;place-items:center;border-radius:13px;background-color:#edf3e7;background-image:linear-gradient(#b5c6a619 1px,transparent 1px),linear-gradient(90deg,#b5c6a619 1px,transparent 1px);background-size:18px 18px;overflow:hidden}
.setup-card-featured .setup-drawing{background-color:#eaf2df}
.setup-drawing svg{width:100%;height:auto;max-height:240px;display:block;border-radius:10px}
.setup-drawing svg *{vector-effect:non-scaling-stroke}
.diagram-floor{fill:none;stroke:#afc4a5;stroke-width:1.5;stroke-dasharray:4 5}
.diagram-person-head{fill:#fff;stroke:#425c40;stroke-width:2}
.diagram-person{fill:#ddeacf;stroke:#425c40;stroke-width:2.2;stroke-linejoin:round}
.diagram-sight{fill:none;stroke:#79ad38;stroke-width:2.5;stroke-dasharray:5 4}
.diagram-arrow{fill:none;stroke:#79ad38;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.diagram-counter{fill:#dce4d7;stroke:#718a68;stroke-width:1.5;stroke-linejoin:round}
.diagram-device{fill:#202c23;stroke:#202c23;stroke-width:2;stroke-linejoin:round}
.diagram-screen{fill:#e3f2d2;stroke:#7d9b64;stroke-width:1.5}
.diagram-stand{fill:none;stroke:#344b38;stroke-width:3;stroke-linecap:round}
.diagram-camera{fill:#d0fb71;stroke:#344b38;stroke-width:2}
.diagram-camera-lens{fill:#263a2c}
.diagram-cable,.diagram-link{fill:none;stroke:#66825d;stroke-width:1.7;stroke-dasharray:3 3}
.diagram-screen-direction{fill:none;stroke:#83aa5d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.diagram-confirm{fill:#d0fb71;stroke:#5b872e;stroke-width:1.5}
.diagram-check{fill:none;stroke:#315c29;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.diagram-computer{fill:#65805b;stroke:#344b38;stroke-width:1.5}
.diagram-tablet{fill:#213125;stroke:#213125;stroke-width:2}
.diagram-location{fill:none;stroke:#afc4a5;stroke-width:2;stroke-dasharray:5 5}
.diagram-text{fill:#61735d;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:9px;font-weight:700;letter-spacing:1.1px;stroke:none}
.setup-card-copy{padding:23px 25px 25px;display:flex;flex-direction:column;flex:1}
.setup-card-copy h3{font-size:23px;font-weight:570;letter-spacing:-.045em;line-height:1.15;margin-bottom:13px}
.setup-card-copy p{font-size:12px;line-height:1.78;color:#5c6c59}
.setup-equipment{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:28px}
.setup-equipment span{border:1px solid #d5e2cb;color:#425d35;background:#fff;border-radius:20px;font-size:10px;font-weight:600;padding:6px 10px;line-height:1.3}
.setups-note{font-size:11px;color:#61715c;line-height:1.6;margin-top:22px;display:flex;align-items:baseline;gap:10px}
.setups-note .live-dot{background:#84b642;box-shadow:none}
@media(max-width:1000px){.setups-grid{grid-template-columns:1fr 1fr}.setup-card:last-child{grid-column:1/-1}.setup-card:last-child .setup-drawing{max-width:480px;width:calc(100% - 30px);margin-left:auto;margin-right:auto}.setups-heading{gap:30px}}
@media(max-width:700px){.setups-section{padding:58px 0 65px}.setups-heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.setups-heading h2{font-size:43px}.setups-heading>p{font-size:13px}.setups-grid{grid-template-columns:1fr}.setup-card:last-child{grid-column:auto}.setup-card-top{padding:19px 19px 0}.setup-drawing{min-height:0;margin:12px 12px 0}.setup-card:last-child .setup-drawing{width:calc(100% - 24px)}.setup-card-copy{padding:21px 22px 24px}.setup-card-copy h3{font-size:22px}.setup-card-copy p{font-size:13px}.setup-equipment{padding-top:20px}.setups-note{align-items:flex-start}}

/* JimSync service plans, separate from the memberships created by each gym. */
.marketing .pricing-section{display:block;padding-top:95px;padding-bottom:86px}
.pricing-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
.pricing-intro>div,.pricing-intro>.eyebrow{min-width:0}
.pricing-intro .section-aside{max-width:460px;margin:0}
.pricing-intro h2{max-width:580px}
.service-plan-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}
.service-plan-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:366px;padding:30px;border:1px solid #dce5d4;border-radius:20px;background:#fff}
.service-plan-card.free{background:#e5f4cf;border-color:#b9db95}
.service-plan-kicker{font-size:10px;letter-spacing:.13em;font-weight:800;color:#456236}
.service-price{font-size:52px;letter-spacing:-.07em;line-height:1.1;font-weight:620;margin:16px 0 10px;color:#253522}
.service-price small{font-size:14px;letter-spacing:0;font-weight:500;color:#647a58}
.service-plan-card h3{font-size:23px;font-weight:560;margin:14px 0 10px}
.service-plan-card>p{font-size:12px;line-height:1.75;color:#5e7058}
.service-plan-card ul{list-style:none;padding:0;margin:20px 0 24px;font-size:12px;display:grid;gap:10px}
.service-plan-card li:before{content:'✓';color:#4d7d30;margin-right:9px;font-weight:800}
.service-plan-card .button{width:100%;margin-top:auto}
.service-plan-card.future{background:#f8faf5}
.service-plan-card.future h3{margin-top:46px}
.coming-soon{display:inline-flex;border:1px solid #d7e2cf;border-radius:30px;padding:5px 10px;color:#65755b;font-size:10px;margin-top:14px}
.pricing-disclaimer{display:block;margin-top:18px;color:#65705d;font-size:11px}
.plan-usage{background:#e8f3d7;border:1px solid #c8dbae;border-radius:13px;padding:20px 23px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.plan-usage h2{font-size:19px;margin:4px 0}
.plan-usage p{font-size:12px;color:#56704d}
.plan-usage strong{font-size:26px;letter-spacing:-.04em;white-space:nowrap}
@media(max-width:900px){.service-plan-grid{grid-template-columns:1fr 1fr}.service-plan-card.free{grid-column:1/-1}.service-plan-card{min-height:290px}.pricing-intro{display:block}.pricing-intro .section-aside{margin-top:18px;max-width:520px}}
@media(max-width:700px){.marketing .pricing-section{padding-top:55px;padding-bottom:55px}.service-plan-grid{grid-template-columns:1fr}.service-plan-card.free{grid-column:auto}.service-plan-card{min-height:0;padding:26px}.service-plan-card.future h3{margin-top:27px}.pricing-intro{margin-bottom:26px}.plan-usage{align-items:flex-start}.plan-usage strong{font-size:21px}}

/* Membership checkout and the small inventory module share the same clean workspace rhythm. */
.payment-split-field[hidden]{display:none!important}
.enrollment-heading{border-top:1px solid #dfe8d8;padding-top:22px;margin-top:5px}
.enrollment-heading h2{font-size:19px;letter-spacing:-.04em}
.enrollment-heading p{font-size:11px;color:#71806e;line-height:1.6;margin-top:6px}
.payment-price-line,.sale-total{background:#e7f2d8;border:1px solid #c7dea9;border-radius:12px;padding:15px 18px;font-size:12px;color:#425e35;display:flex;align-items:center;gap:8px}
.payment-price-line strong,.sale-total strong{font-size:23px;letter-spacing:-.05em;color:#203723;margin-left:auto}
.table-subline{display:block;font-size:10px;color:#84917d;margin-top:4px;line-height:1.4}
.heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.heading-actions .button{white-space:nowrap}
.product-person{display:flex;align-items:center;gap:12px;min-width:180px}
.product-person strong,.product-person small{display:block}
.product-person small{color:#82907b;margin-top:4px;line-height:1.35}
.product-icon{width:38px;height:38px;flex:none;border-radius:10px;background:#e8f1dd;color:#577744;display:grid;place-items:center}
.product-icon .icon{width:20px;height:20px}
.stock-chip{display:inline-flex;border-radius:22px;padding:6px 10px;font-size:10px;font-weight:700;white-space:nowrap}
.stock-chip.good{background:#e8f4dc;color:#4d7636}.stock-chip.low{background:#fff2d4;color:#956d2b}.stock-chip.empty{background:#f9e4e0;color:#a45148}
.stock-positive{color:#4b813c}.stock-negative{color:#b65e4e}
.inventory-bottom{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-top:20px;align-items:start}
.inventory-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:22px}
.inventory-stats .metric-card{display:flex;flex-direction:column;gap:7px}
.inventory-stats .metric-card small{font-size:10px;color:#71816d}
.inventory-stats .metric-card strong{font-size:31px;font-weight:560;letter-spacing:-.05em}
.inventory-stats .metric-card span{font-size:11px;color:#647b58}
.sale-panel{max-width:820px}
.sale-panel h2{font-size:18px;letter-spacing:-.04em;margin:4px 0 1px}
.sale-line{display:grid;grid-template-columns:minmax(0,1fr) 100px 30px;gap:11px;align-items:end;padding:13px;background:#f3f7ed;border:1px solid #e0e9d8;border-radius:12px;margin-bottom:9px}
.sale-line .field{margin:0;min-width:0}
.sale-line .field label{font-size:10px}
.sale-line .input{width:100%}
.sale-line .sale-remove{height:40px;font-size:20px;color:#8e9b87}
.sale-total{margin:7px 0 4px}
@media(max-width:900px){.inventory-bottom{grid-template-columns:1fr}}
@media(max-width:700px){.heading-actions{width:100%}.heading-actions .button{flex:1;justify-content:center}.inventory-stats{gap:8px}.inventory-stats .metric-card{padding:14px}.inventory-stats .metric-card strong{font-size:23px}.sale-line{grid-template-columns:minmax(0,1fr) 75px 25px;padding:10px;gap:7px}.sale-line select{font-size:10px}.sale-panel{padding:18px}}
.kiosk-link-button{width:100%;border:0;color:inherit;text-align:left;font:inherit;cursor:pointer}
.kiosk-link-button:hover{background:#263b43;color:#fff}
.products-heading{margin-bottom:18px}
.sale-hero{min-height:128px;margin-bottom:24px;padding:24px 30px;display:flex;align-items:center;gap:23px;border-radius:20px;color:#182719;background:radial-gradient(circle at 90% 0%,#f0ffba 0,transparent 35%),linear-gradient(110deg,#c9f46a,#aee452);box-shadow:0 13px 28px #5f872a23;border:1px solid #a7d950;transition:transform .18s,box-shadow .18s}
.sale-hero:hover,.sale-hero:focus-visible{transform:translateY(-3px);box-shadow:0 20px 34px #5f872a32;color:#182719}
.sale-hero-icon{width:66px;height:66px;flex:none;display:grid;place-items:center;border-radius:18px;background:#203523;color:#d0fb71}
.sale-hero-icon .icon{width:31px;height:31px}
.sale-hero>span:nth-child(2){display:grid;gap:2px;flex:1}
.sale-hero small{font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#4b6a30}
.sale-hero strong{font-size:29px;line-height:1.1;letter-spacing:-.05em}
.sale-hero em{font-size:12px;font-style:normal;color:#456232}
.sale-hero-arrow{font-size:34px;line-height:1}
.product-icon{width:48px;height:48px;border-radius:12px}
.product-thumb{object-fit:cover;background:#e8f1dd}
.product-photo-field{display:flex;gap:23px;align-items:center;padding:20px;background:#f1f5eb;border:1px solid #dce6d3;border-radius:16px}
.product-photo-preview{width:160px;height:160px;flex:none;border-radius:14px;overflow:hidden;background:#e5eddc}
.product-photo-preview img{width:100%;height:100%;object-fit:cover}
.product-photo-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#789365}
.product-photo-placeholder .icon{width:55px;height:55px}
.product-photo-copy h2{font-size:19px;letter-spacing:-.04em}
.product-photo-copy p{font-size:11px;line-height:1.6;color:#687862;margin:8px 0 16px}
.product-photo-copy .button{display:inline-flex;cursor:pointer}
.product-file-input{margin-top:12px}
.product-file-input input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.product-file-input small{font-size:10px;color:#667662}
.product-detail-top{display:flex;gap:18px;align-items:stretch;margin-bottom:22px}
.product-detail-photo{width:180px;height:157px;flex:none;object-fit:cover;border:1px solid #dce5d5;border-radius:15px;background:#e8f1dd}
.product-detail-placeholder{display:grid;place-items:center;color:#6d8b59}
.product-detail-placeholder .icon{width:55px;height:55px}
.product-detail-top .inventory-stats{flex:1;margin-bottom:0}
.sale-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:405px;overflow:auto;padding:3px 3px 10px;margin:9px 0 18px}
.sale-product-card{position:relative;display:flex;flex-direction:column;text-align:left;gap:8px;padding:9px;border:1px solid #dde6d7;border-radius:14px;background:#fbfcf9;cursor:pointer;min-width:0;transition:border-color .15s,transform .15s,box-shadow .15s}
.sale-product-card:hover,.sale-product-card:focus-visible{border-color:#99c762;transform:translateY(-2px);box-shadow:0 6px 15px #44702b12}
.sale-product-card.selected{border-color:#669f3d;box-shadow:0 0 0 2px #b8e886}
.sale-product-card img,.sale-product-placeholder{height:112px;width:100%;border-radius:9px;object-fit:cover;background:#e9f1e2}
.sale-product-placeholder{display:grid;place-items:center;color:#72905e}
.sale-product-placeholder .icon{width:34px;height:34px}
.sale-product-card strong,.sale-product-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sale-product-card strong{font-size:11px;color:#253324}
.sale-product-card small{font-size:9px;color:#71816b;margin-top:3px}
.sale-card-plus{position:absolute;top:15px;right:15px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#d0fb71;color:#24331f;font-size:19px;box-shadow:0 2px 7px #1320163d}
@media(max-width:950px){.sale-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.sale-hero{padding:20px;gap:14px;min-height:105px}.sale-hero-icon{width:52px;height:52px}.sale-hero-icon .icon{width:25px;height:25px}.sale-hero strong{font-size:23px}.sale-hero em{font-size:10px}.sale-hero-arrow{font-size:25px}.product-photo-field{align-items:flex-start;gap:14px;padding:14px}.product-photo-preview{width:105px;height:105px}.product-detail-top{display:block}.product-detail-photo{width:100%;height:190px;margin-bottom:12px}.sale-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
.remote-dashboard{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:25px;margin:28px 0 34px;padding:29px 32px;border-radius:18px;background:#e8f1dc;border:1px solid #d6e5c8}
.remote-dashboard-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:16px;background:#d0fb71;color:#263a22}
.remote-dashboard-icon .icon{width:29px;height:29px}
.remote-dashboard .eyebrow{font-size:9px;color:#5a7947;margin-bottom:7px}
.remote-dashboard h3{font-size:26px;font-weight:550;letter-spacing:-.045em;line-height:1.18}
.remote-dashboard p:not(.eyebrow){font-size:12px;line-height:1.75;color:#5d7059;margin-top:9px;max-width:720px}
.remote-dashboard-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.remote-dashboard-tags span{padding:6px 10px;border-radius:20px;background:#fff9;border:1px solid #d6e3ca;color:#567247;font-size:9px;font-weight:650}
.remote-dashboard-note{display:block;margin-top:11px;color:#71846d;font-size:10px}
.remote-dashboard>.text-link{font-size:12px;white-space:nowrap;align-self:end;margin-bottom:4px}
@media(max-width:700px){.remote-dashboard{grid-template-columns:48px 1fr;gap:14px;padding:22px 19px}.remote-dashboard-icon{width:48px;height:48px;border-radius:12px}.remote-dashboard-icon .icon{width:23px;height:23px}.remote-dashboard h3{font-size:22px}.remote-dashboard p:not(.eyebrow){font-size:11px}.remote-dashboard>.text-link{grid-column:2;justify-self:start;margin-top:2px}}
/* Plans: shared by the pricing page and settings */
.service-plan-card.popular{border-color:#9fcf6a;box-shadow:0 18px 45px #7ea64a24}
.service-plan-card.current{outline:2px solid #253522;outline-offset:-2px}
.service-plan-head{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px}
.plan-flag{font-size:10px;font-weight:700;border-radius:30px;padding:5px 10px;background:#d8f28f;color:#2c4417;white-space:nowrap}
.plan-flag.current{background:#253522;color:#e8f6c9}
.service-yearly{font-size:11px;color:#4d7d30;margin:0 0 4px;min-height:17px}
.plan-pay{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:auto}.plan-pay form .button{width:100%}
.disabled-button{opacity:.6;cursor:default;pointer-events:none;justify-content:center}
.billing-panel{margin-bottom:22px}.billing-panel .service-plan-grid{grid-template-columns:repeat(3,1fr)}.billing-panel .service-plan-card{min-height:0;padding:22px}.billing-panel .service-price{font-size:34px}
.billing-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;flex-wrap:wrap}.billing-heading h2{font-size:26px;margin:6px 0 2px}
.plan-usage-grid{display:flex;gap:12px}.plan-usage-grid>div{border:1px solid #dce5d4;border-radius:12px;padding:10px 16px;min-width:130px}.plan-usage-grid span{display:block;font-size:10px;color:#647a58}.plan-usage-grid strong{font-size:20px}
.notice.success{background:#e5f4cf;border-color:#b9db95;color:#35561f}
@media(max-width:900px){.billing-panel .service-plan-grid{grid-template-columns:1fr}.plan-usage-grid{width:100%}.plan-usage-grid>div{flex:1;min-width:0}}
/* First-steps guide on a new gym's dashboard */
.guide{background:#fff;border:1px solid #cfe2b4;border-radius:18px;padding:26px 28px;margin-bottom:26px;box-shadow:0 14px 40px #6b8f3c14}
.guide-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}
.guide-head h2{font-size:24px;margin:8px 0 6px;letter-spacing:-.03em}.guide-head p{font-size:12px;color:#5e7058;margin:0}
.guide-progress{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:150px}.guide-progress strong{font-size:22px}
.guide-bar{display:block;width:150px;height:8px;border-radius:8px;background:#e7eedf;overflow:hidden}.guide-bar>span{display:block;height:100%;background:#8cc63f;border-radius:8px}
.guide-bar-0{width:3%}.guide-bar-1{width:20%}.guide-bar-2{width:40%}.guide-bar-3{width:60%}.guide-bar-4{width:80%}.guide-bar-5{width:100%}
.guide-hide{font-size:10px;background:none;border:0;padding:0;cursor:pointer;color:#6c7d61}
.guide-steps{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.guide-step{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid #e3eadb;border-radius:12px;background:#fbfcf9}
.guide-step h3{font-size:14px;margin:0 0 4px}.guide-step p{font-size:11.5px;line-height:1.6;color:#5e7058;margin:0}.guide-step>div{flex:1;min-width:0}
.guide-step .button{flex-shrink:0}
.guide-check{width:32px;height:32px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:#eef2e8;color:#556a49;border:1px solid #d8e2cd}
.guide-step.next{border-color:#9fcf6a;background:#f3fae6}.guide-step.next .guide-check{background:#253522;color:#d8f28f;border-color:#253522}
.guide-step.done{opacity:.62}.guide-step.done .guide-check{background:#8cc63f;color:#fff;border-color:#8cc63f}.guide-step.done h3{text-decoration:line-through;text-decoration-color:#9fb58a}
.guide-foot{font-size:11px;color:#5e7058;margin:14px 0 0}
@media(max-width:700px){.guide{padding:18px}.guide-head{flex-direction:column;gap:12px}.guide-progress{align-items:flex-start}.guide-step{flex-wrap:wrap}.guide-step .button{margin-left:48px}}
/* Installation section: specs, steps and tips */
.setup-ideal{font-weight:650;color:#34502a!important;margin-bottom:8px}
.setup-specs{margin:auto 0 0;padding-top:20px;display:grid;gap:8px}
.setup-specs>div{display:grid;grid-template-columns:92px 1fr;gap:10px;font-size:11px;border-top:1px solid #e1e9d9;padding-top:8px}
.setup-specs dt{color:#6f8264;font-weight:600}.setup-specs dd{margin:0;color:#2f4428;font-weight:600}
.setup-howto{margin-top:22px;display:grid;grid-template-columns:.8fr 2fr;gap:22px 30px;background:#253522;color:#e8f2dc;border-radius:18px;padding:30px}
.setup-howto .eyebrow{color:#b8d69b}.setup-howto h3{font-size:26px;letter-spacing:-.04em;margin:10px 0 0;line-height:1.15}
.setup-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.setup-steps li{display:flex;gap:12px}.setup-steps li>span{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#d0fb71;color:#253522;display:grid;place-items:center;font-weight:800;font-size:13px}
.setup-steps strong{font-size:14px}.setup-steps p{font-size:11.5px;line-height:1.65;color:#bfd0b1;margin:5px 0 0}
.setup-tips{grid-column:1/-1;border-top:1px solid #ffffff1c;padding-top:18px;display:flex;gap:24px;align-items:baseline}
.setup-tips strong{font-size:12px;white-space:nowrap;color:#d0fb71}.setup-tips ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;font-size:11px;line-height:1.6;color:#cfdcc4}
@media(max-width:1000px){.setup-howto{grid-template-columns:1fr}.setup-steps{grid-template-columns:1fr}.setup-tips{flex-direction:column;gap:10px}.setup-tips ul{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.setup-howto{padding:22px}.setup-tips ul{grid-template-columns:1fr}}
.hero-points{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px}
.hero-points li{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:650;color:#e8f6c9;background:#ffffff12;border:1px solid #d0fb7155;border-radius:30px;padding:7px 12px}
.hero-points li span{color:#d0fb71;font-weight:800}
@media(max-width:700px){.hero-points li{font-size:11px;padding:6px 10px}}
