/* FITTAG typography rule: letter-spacing is never negative; font-weight never exceeds 800. */
:root{--ink:#101418;--lime:#c5f263;--paper:#f7f8f6;--muted:#687078;--line:#dfe3de;--white:#fff;--danger:#d84444;--radius:22px;--shadow:0 18px 55px rgba(16,20,24,.10)}*{box-sizing:border-box}html{font-family:Outfit,system-ui,sans-serif;color:var(--ink);background:var(--paper)}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.brand{display:inline-flex;align-items:center;gap:10px}.brand strong{font-size:28px;letter-spacing:0}.brand strong span,.eyebrow{color:#96cb2f}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border:3px solid currentColor;border-radius:10px;position:relative}.brand-mark:before,.brand-mark:after{content:"";position:absolute;width:9px;height:9px;border-color:var(--lime)}.brand-mark:before{left:5px;top:5px;border-left:3px solid var(--lime);border-top:3px solid var(--lime)}.brand-mark:after{right:5px;bottom:5px;border-right:3px solid var(--lime);border-bottom:3px solid var(--lime)}.brand-mark i{width:13px;height:7px;background:var(--lime);border-radius:5px;transform:skew(-18deg)}.brand-invert{color:#fff}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;margin:0 0 12px}.button{border:0;border-radius:999px;background:var(--lime);color:var(--ink);font-weight:700;padding:14px 22px;display:inline-flex;justify-content:center;align-items:center;gap:14px;transition:transform .2s,filter .2s}.button:hover{transform:translateY(-2px);filter:brightness(.97)}.button-dark{background:var(--ink);color:#fff}.button-ghost{background:#edf0ec}.button.small{padding:9px 14px;font-size:13px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;gap:44px;position:sticky;top:0;z-index:10}.topbar nav{display:flex;gap:26px;flex:1}.topbar nav a{font-weight:600;color:#4f565c}.topbar nav a:hover{color:#000}.link-button{border:0;background:none;color:var(--muted)}.dashboard{max-width:1240px;margin:auto;padding:56px 24px 100px}.dashboard.narrow{max-width:840px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.page-head h1{font-size:clamp(38px,5vw,64px);line-height:.95;letter-spacing:0;margin:0}.page-head p:last-child{color:var(--muted);margin-bottom:0}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 8px 30px rgba(16,20,24,.04);margin-bottom:24px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat-grid article{min-height:190px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column}.stat-grid span,.stat-grid small{color:var(--muted)}.stat-grid strong{font-size:54px;letter-spacing:0;margin:20px 0 auto}.stat-grid a{font-weight:600}.next-step{background:var(--lime);display:flex;align-items:center;justify-content:space-between;padding:36px}.next-step .eyebrow{color:#496413}.next-step h2{max-width:650px;font-size:32px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.equipment-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.equipment-card img,.equipment-image{width:100%;height:220px;object-fit:cover;background:#171c20;color:var(--lime);display:grid;place-items:center;font-size:42px;font-weight:800}.equipment-card>div:last-child{padding:22px}.equipment-card h2{margin:12px 0 6px}.equipment-card p{color:var(--muted)}.equipment-card a{font-weight:600}.status,.pill{display:inline-flex;padding:5px 10px;border-radius:99px;background:#edf0ec;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.status.active{background:#e7f8c8;color:#4a690f}.status.inactive{color:#777}.empty{grid-column:1/-1;text-align:center;background:#fff;border:1px dashed #c9cec8;border-radius:var(--radius);padding:70px 24px}.empty .brand-mark{margin-bottom:16px}.empty.compact{padding:36px}.form-stack,.form-grid{display:grid;gap:18px}.form-grid{grid-template-columns:repeat(2,1fr)}.span-2{grid-column:span 2}label{display:grid;gap:8px;font-weight:600}input,textarea,select{width:100%;border:1px solid #ccd2cc;border-radius:13px;padding:13px 15px;background:#fff;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:#7eaa28;box-shadow:0 0 0 3px rgba(197,242,99,.3)}label small{color:var(--muted);font-weight:400}.check{display:flex;align-items:flex-start;gap:10px}.check input{width:20px;margin-top:2px}.input-action{display:grid;grid-template-columns:1fr auto;gap:10px}fieldset{border:1px solid var(--line);border-radius:15px;padding:18px}legend{font-weight:700}.choice{display:flex;gap:12px;margin:12px 0}.choice input{width:18px}.choice span{display:grid}.choice small{display:block}.list-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border:0}.list-row>div{display:grid}.list-row small{color:var(--muted)}.list-row form{display:flex;gap:8px}.inline-form{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:14px;align-items:end}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{padding:14px;text-align:left;border-bottom:1px solid var(--line)}th{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.toast{position:fixed;top:90px;right:24px;z-index:40;background:var(--ink);color:#fff;padding:14px 20px;border-radius:13px;box-shadow:var(--shadow);animation:toast 5s both}.toast-error{background:#9e2929}.toast-success{background:#27561d}@keyframes toast{0%{opacity:0;transform:translateY(-10px)}8%,85%{opacity:1;transform:none}100%{opacity:0;visibility:hidden}}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.auth-visual{background:linear-gradient(150deg,rgba(16,20,24,.8),rgba(16,20,24,.96)),radial-gradient(circle at 70% 20%,#566b32,#101418 55%);color:#fff;padding:54px clamp(35px,6vw,95px);display:flex;flex-direction:column;justify-content:space-between}.auth-visual h1{font-size:clamp(48px,6vw,88px);line-height:.92;letter-spacing:0;margin:0}.auth-panel{display:grid;place-items:center;padding:35px;background:#fff}.auth-card{width:min(440px,100%)}.auth-card h2{font-size:46px;letter-spacing:0;margin:0}.auth-card>p{color:var(--muted);line-height:1.6}.auth-card .button{width:100%;margin-top:4px}.auth-switch{text-align:center}.auth-switch a{font-weight:700;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px}.success-icon{display:grid;place-items:center;width:64px;height:64px;background:var(--lime);border-radius:50%;font-size:30px;margin-bottom:24px}.center-page{min-height:100vh;display:grid;place-content:center;gap:28px;padding:24px}.message-card{background:#fff;padding:40px;border-radius:var(--radius);max-width:520px;box-shadow:var(--shadow)}.message-card h1{font-size:42px;margin:0}.onboarding{min-height:100vh;background:var(--ink);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:6vw;gap:7vw}.onboarding-copy{color:#fff}.onboarding-copy .brand{margin-bottom:100px}.onboarding-copy h1{font-size:64px;line-height:.95;letter-spacing:0}.onboarding-copy>p:last-child{color:#bbc0c2;max-width:550px;line-height:1.6}
.scan-page{min-height:100vh;background:#fff;max-width:760px;margin:auto;box-shadow:0 0 70px rgba(16,20,24,.08)}.scan-header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line)}.scan-header small{font-weight:700}.equipment-hero{padding:22px}.equipment-hero h1{font-size:46px;margin:0 0 18px;letter-spacing:0}.equipment-hero video,.equipment-hero img,.media-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;background:#101418;border-radius:20px;color:#fff}.media-placeholder{display:grid;place-content:center;text-align:center}.media-placeholder span{font-size:50px;color:var(--lime)}.scan-content{padding:0 22px 100px}.instruction-card,.tracking-card{padding:25px;border:1px solid var(--line);border-radius:18px;margin-bottom:18px}.tracking-card{background:#f2f5ef}.tracking-card h2{margin:0}.tracking-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.tracking-form button,.tracking-form label:last-of-type{grid-column:span 2}.last-value{font-size:28px;font-weight:700}.gate-card{padding:80px 24px;max-width:500px;margin:auto}.gate-card h1{font-size:48px;margin:0}.member-hero{background:var(--ink);color:#fff;padding:55px max(24px,calc((100vw - 900px)/2)) 65px}.member-hero .page-head{margin:0}.member-hero h1{font-size:56px}.scan-button{background:var(--lime);border:0;padding:17px 22px;border-radius:16px;font-weight:800;display:flex;align-items:center;gap:12px}.member-content{max-width:900px;margin:auto;padding:40px 24px 120px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.history-list{border:1px solid var(--line);border-radius:18px;overflow:hidden}.history-row{background:#fff;padding:18px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.history-row:last-child{border:0}.history-row div{display:grid}.history-row small{color:var(--muted)}.studio-list{display:flex;gap:12px;flex-wrap:wrap}.studio-chip{background:#fff;border:1px solid var(--line);padding:15px;border-radius:15px;font-weight:700;display:grid}.studio-chip span{font-size:12px;color:#639211}.bottom-nav{display:none}.scanner-dialog{border:0;border-radius:25px;padding:28px;width:min(520px,calc(100% - 24px));box-shadow:var(--shadow)}.scanner-dialog::backdrop{background:rgba(5,8,10,.72);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px}.scanner-camera{aspect-ratio:1;background:#161b1f;border-radius:18px;overflow:hidden;position:relative}.scanner-camera video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;inset:20%;border:4px solid var(--lime);border-radius:18px}.scanner-dialog form{display:grid;gap:12px;margin-top:18px}
@media(max-width:850px){.auth-shell,.onboarding{grid-template-columns:1fr}.auth-visual{min-height:38vh;padding:30px}.auth-visual h1{font-size:48px}.auth-panel{padding:45px 24px}.onboarding{padding:30px 18px}.onboarding-copy .brand{margin-bottom:50px}.onboarding-copy h1{font-size:46px}.topbar{height:66px;padding:0 16px}.topbar nav{display:none}.topbar form{margin-left:auto}.stat-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.inline-form{grid-template-columns:1fr 1fr}.inline-form button{grid-column:span 2}.member-hero .page-head{align-items:flex-start;flex-direction:column}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);justify-content:space-around;padding:12px 8px calc(12px + env(safe-area-inset-bottom));z-index:15}.bottom-nav a,.bottom-nav button{border:0;background:none;font-size:12px}.bottom-nav .active{font-weight:800;color:#72a20f}}
@media(max-width:560px){.dashboard{padding:35px 16px 90px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:42px}.stat-grid,.cards,.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.stat-grid article{min-height:160px}.next-step{align-items:flex-start;flex-direction:column;gap:24px}.next-step h2{font-size:27px}.inline-form{grid-template-columns:1fr}.inline-form button{grid-column:auto}.tracking-form{grid-template-columns:1fr}.tracking-form button,.tracking-form label:last-of-type{grid-column:auto}.equipment-hero h1{font-size:38px}.list-row{align-items:flex-start;gap:12px}.list-row form{flex-direction:column}.auth-visual{min-height:32vh}.auth-visual h1{font-size:39px}.auth-card h2{font-size:38px}}
.social-stack{display:grid;gap:10px;margin:24px 0}.social-button{width:100%;min-height:48px;border:1px solid #cbd1cb;border-radius:13px;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:12px;font-weight:600}.social-button:hover{border-color:#8b938b;background:#fafbf9}.social-button:disabled{opacity:.6}.social-icon{width:24px;height:24px;display:grid;place-items:center;font-weight:800}.social-icon.google{color:#4285f4}.social-icon.apple{color:#111}.social-icon.passkey{color:#6f991b}.auth-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px;margin:20px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.passkey-status{font-size:13px;color:var(--muted);margin:0;text-align:center;min-height:18px}.role-select{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0}.role-select legend{margin-bottom:9px}.role-select label{display:block}.role-select input{position:absolute;opacity:0;pointer-events:none}.role-select span{display:grid;gap:4px;height:100%;padding:14px;border:1px solid #cbd1cb;border-radius:13px}.role-select input:checked+span{border-color:#78a51c;background:#f2fbdc;box-shadow:0 0 0 2px rgba(197,242,99,.35)}.role-select small{color:var(--muted);font-weight:400}.notice{padding:14px;border-radius:13px;background:#f2fbdc;border:1px solid #c5e784;margin:18px 0;color:#425817}@media(max-width:560px){.role-select{grid-template-columns:1fr}}
.brand-mark{border:0;background:center/contain no-repeat url('/assets/brand/fittag-icon.svg')}.brand-mark:before,.brand-mark:after,.brand-mark i{display:none}.brand-invert .brand-mark{background-image:url('/assets/brand/fittag-icon-light.svg')}

