:root{color:#19302b;background:#f5f7f4;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:#fff;background:#176b54;border:0;border-radius:10px;padding:12px 17px;font-weight:700}button:hover{background:#105540}button:disabled{opacity:.58;cursor:wait}a{color:#176b54}p{color:#63746d;line-height:1.55}h1,h2{letter-spacing:-.035em;margin:0 0 13px}h1{font-size:clamp(32px,4vw,48px);line-height:1.12}h2{font-size:22px}.appShell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:#fff;border-bottom:1px solid #e5ece6;justify-content:space-between;align-items:center;gap:20px;padding:15px max(24px,50vw - 590px);display:flex}.brand{color:#203c31;align-items:center;gap:12px;text-decoration:none;display:flex}.brandMark{color:#fff;background:#176b54;border-radius:11px;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:26px;font-weight:700;display:grid}.brand strong,.brand small{display:block}.brand small{color:#829087;margin-top:2px;font-size:11px}.topbar nav{align-items:center;gap:24px;display:flex}.topbar nav a{color:#4c6559;font-size:13px;font-weight:700;text-decoration:none}.topbar nav a:hover{text-decoration:underline}.textButton{color:#176b54;background:0 0;padding:4px 0;font-size:13px}.textButton:hover{background:0 0;text-decoration:underline}.content{flex:1;width:min(1180px,100% - 40px);margin:0 auto;padding:38px 0 60px}.authLayout{grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;min-height:65vh;display:grid}.intro{padding:10px 10px 30px 0}.intro p{max-width:530px;font-size:17px}.eyebrow{letter-spacing:.15em;color:#27826a;margin-bottom:16px;font-size:11px;font-weight:800}.stepList{gap:13px;margin-top:36px;display:grid}.stepList span{color:#57a48a;align-items:center;gap:18px;font-size:13px;font-weight:800;display:flex}.stepList b{color:#244237;font-size:15px}.card{background:#fff;border:1px solid #e0e9e2;border-radius:16px;padding:26px;box-shadow:0 7px 25px #2149360a}.authCard{justify-self:end;width:100%;max-width:440px;padding:34px}.authCard h2{margin-bottom:22px}label{color:#344d41;margin-bottom:16px;font-size:13px;font-weight:700;display:block}input{color:#15392c;background:#fff;border:1px solid #d5e2d9;border-radius:9px;outline:none;width:100%;margin-top:8px;padding:12px;display:block}input:focus{border-color:#2d8a6d;box-shadow:0 0 0 3px #2d8a6d20}.authCard button{width:100%;margin-top:6px}.small{margin-top:17px;font-size:12px;color:#8b998f!important}.alert{border-radius:10px;margin-bottom:20px;padding:13px 16px;font-size:14px}.error{color:#97482e;background:#fff2ed;border:1px solid #f2cbbf}.success{color:#256b3e;background:#e9f7ee;border:1px solid #b9e4c5}.hero{justify-content:space-between;align-items:end;gap:30px;margin:10px 0 30px;display:flex}.hero p{max-width:650px;margin:0}.adminBadge{color:#89998c;white-space:nowrap;background:#fff;border:1px solid #dce8df;border-radius:10px;padding:12px 15px;font-size:12px}.adminBadge strong{color:#284a39;margin-top:4px;font-size:14px;display:block}.tabs{border-bottom:1px solid #dce7df;gap:8px;margin-bottom:25px;display:flex}.tabs button{color:#7b8c7f;background:0 0;border-bottom:3px solid #0000;border-radius:0;padding:12px 18px}.tabs button.selected{color:#176b54;border-color:#176b54}.stats{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.stats .card span,.stats .card strong{display:block}.stats .card span{color:#89988e;font-size:13px}.stats .card strong{margin-top:14px;font-size:32px}.sectionHead{justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px;display:flex}.sectionHead h2{margin-bottom:4px}.sectionHead p{margin:0;font-size:14px}.secondary{color:#226147;background:#edf4ef}.secondary:hover{background:#e1ede4}.branchForm{grid-template-columns:1.4fr 1fr 1fr 1fr auto auto;align-items:end;gap:13px;display:grid}.branchForm label{margin:0}.branchForm button{height:43px;margin-bottom:0}.qrGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:22px;display:grid}.qrCard{text-align:center;background:#fff;border:1px solid #dce7df;border-radius:15px;flex-direction:column;align-items:center;gap:12px;padding:22px;display:flex}.qrCard strong{font-size:18px}.muted{color:#8da095;font-size:12px}.qrCard img{width:180px;height:180px}.tinyLink{overflow-wrap:anywhere;color:#87998e;font-size:10px}.row{gap:9px;display:flex}.row button{padding:9px 13px;font-size:12px}.tableWrap{padding:0;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf1ec;padding:16px}th{text-transform:uppercase;letter-spacing:.06em;color:#8fa093;background:#fbfcfa;font-size:11px}tr:last-child td{border-bottom:0}.mono{font-family:Consolas,monospace}.chip{border-radius:99px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-block}.chip.good{color:#24744a;background:#e8f5ed}.chip.warn{color:#ae6a22;background:#fff2e5}.staffGrid{grid-template-columns:.95fr 1.05fr;gap:20px;display:grid}.actionCard p{max-width:450px}.actionCard button{margin-top:8px}.codeReady{color:#287951;background:#e8f5ed;border-radius:8px;justify-content:space-between;margin:20px 0;padding:13px 15px;font-size:13px;font-weight:700;display:flex}.reader{width:100%;max-width:400px;min-height:0}.reader.active{min-height:260px;margin:15px 0}.activity{display:grid}.activity>div{border-bottom:1px solid #edf1ec;align-items:center;gap:13px;padding:15px 0;display:flex}.activity>div:last-child{border:0}.activity strong,.activity small{display:block}.activity small{color:#91a095;margin-top:4px}.activity .chip{margin-left:auto}.dot{background:#46ad82;border-radius:50%;flex:none;width:10px;height:10px}footer{text-align:center;color:#a4b0a8;border-top:1px solid #e4ebe5;padding:22px;font-size:11px}@media (max-width:850px){.topbar{padding:14px 22px}.topbar nav{gap:12px}.authLayout{grid-template-columns:1fr;gap:18px;min-height:0}.authCard{justify-self:start}.branchForm,.stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.topbar{display:block}.topbar nav{margin-top:15px;overflow:auto}.content{width:calc(100% - 28px);padding-top:25px}.hero{display:block}.adminBadge{margin-top:20px;display:inline-block}.staffGrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.tabs{overflow:auto}.tabs button{padding:11px 13px}.branchForm{grid-template-columns:1fr}.sectionHead{display:block}.sectionHead button{margin-top:15px}}@media print{.topbar,.tabs,.branchForm,.sectionHead,.row,footer,.hero{display:none!important}.qrGrid{display:block}.qrCard{break-inside:avoid;box-shadow:none;border:0;margin-bottom:25px}.qrCard img{width:260px;height:260px}}select{color:#15392c;background:#fff;border:1px solid #d5e2d9;border-radius:9px;width:100%;margin-top:8px;padding:12px;display:block}.correctionForm{grid-template-columns:1.4fr repeat(4,1fr) auto;align-items:end;gap:13px;margin-top:24px;display:grid}.correctionForm label{margin:0}.correctionForm button{height:43px}@media (max-width:1000px){.correctionForm{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.correctionForm{grid-template-columns:1fr}}.mobileStaff{color:#193b2f;width:min(100%,460px);margin:0 auto;padding:4px 0 50px}.mobileStaff h1{margin-bottom:10px;font-size:34px}.mobileStaff h2{font-size:23px}.staffIdentity{background:#fff;border:1px solid #e2ebe5;border-radius:15px;align-items:center;gap:11px;margin-bottom:30px;padding:14px 16px;display:flex}.staffIdentity .avatar{color:#176b54;background:#e1f3e9;border-radius:50%;place-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:grid}.staffIdentity span:nth-child(2){gap:2px;display:grid}.staffIdentity small{color:#82958a;font-size:11px}.staffIdentity strong{font-size:15px}.staffWelcome{padding:0 3px 20px}.staffWelcome .eyebrow{margin-bottom:12px}.staffWelcome p{margin:0;font-size:15px}.mobileSteps{grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:18px;display:grid}.mobileSteps div{white-space:nowrap;color:#8ba096;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.mobileSteps span{color:#6e8a79;background:#e7eee9;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.mobileSteps .current{color:#176b54}.mobileSteps .current span{color:#fff;background:#176b54}.mobileSteps .complete{color:#267950}.mobileSteps .complete span{color:#267950;background:#d9eee0}.mobileCard{text-align:center;background:#fff;border:1px solid #dde9df;border-radius:20px;min-height:270px;padding:28px 23px;box-shadow:0 12px 32px #1e553219}.mobileCard h2{margin:8px 0}.mobileCard p{max-width:330px;margin:8px auto 18px;font-size:14px}.statusIcon{color:#207950;background:#e7f3eb;border-radius:50%;place-items:center;width:58px;height:58px;margin:5px auto 19px;font-size:28px;font-weight:800;display:grid}.statusIcon.warning{color:#ba6a26;background:#fff3e2}.statusIcon.successIcon{color:#198352;background:#dff2e6}.mobilePrimary,.mobileSecondary{border-radius:13px;width:100%;min-height:54px;margin:21px auto 0;font-size:16px;display:block}.mobileSecondary{color:#176b54;background:#e9f4ec}.mobileSecondary:hover{background:#dcece0}.mobileCard .helper{color:#8fa197;margin:17px auto 0;font-size:12px}.gpsReady{color:#216e45;background:#eaf8ee;border:1px solid #ccebd9;border-radius:10px;justify-content:center;align-items:center;gap:7px;margin-bottom:25px;padding:12px;font-size:13px;font-weight:800;display:flex}.gpsReady small{color:#5c8a6d;margin-left:4px;font-size:11px;font-weight:500}.gpsDot{background:#2eaf64;border-radius:50%;width:9px;height:9px}.staffReader{border-radius:13px;width:100%;min-height:280px;margin:18px 0 0;overflow:hidden}.staffReader video{border-radius:13px}.gpsWarning{text-align:left;background:#fff5e8;border-radius:10px;padding:12px;color:#995c22!important;font-size:12px!important}.retryInline{color:#925b20;background:0 0;padding:8px 0 0;font-size:12px;text-decoration:underline;display:block}.pulseBar{background:linear-gradient(90deg,#e4eee6,#43ab72,#e4eee6) 0 0/200% 100%;border-radius:20px;width:75%;height:6px;margin:30px auto 0;animation:1.7s linear infinite pulseTravel}@keyframes pulseTravel{to{background-position:-200% 0}}.recordedAt{font-weight:800;line-height:1.5;color:#234f38!important;font-size:17px!important}.gpsResult{border-radius:11px;gap:4px;padding:13px;font-size:13px;font-weight:800;display:grid}.gpsResult small{font-size:11px;font-weight:500}.gpsResult.matched{color:#24734b;background:#e9f7ed}.gpsResult.review{color:#9c5a20;background:#fff2e5}.mobileRecent{margin:29px 0 0}.mobileRecent h2{margin-bottom:10px;font-size:19px}.recentRow{border-bottom:1px solid #dce8df;justify-content:space-between;align-items:center;gap:10px;padding:15px 0;display:flex}.recentRow span{gap:3px;display:grid}.recentRow strong{font-size:14px}.recentRow small{color:#84998d;font-size:12px}.recentRow em{white-space:nowrap;border-radius:20px;padding:6px 9px;font-size:11px;font-style:normal;font-weight:800}.recentRow em.matched{color:#24744a;background:#e7f3eb}.recentRow em.review{color:#9b5b24;background:#fff0e2}.mobilePrivacy{color:#8ba096;margin:25px 0 0;font-size:11px;line-height:1.5}.radiusForm{text-align:left;align-items:end;gap:8px;width:100%;display:flex}.radiusForm label{flex:1;margin:0}.radiusForm input{margin-top:4px}.radiusForm button{white-space:nowrap;min-height:41px;padding:10px 12px;font-size:11px}.content:has(.mobileStaff){padding-top:24px}@media (max-width:600px){.topbar:has(+.content .mobileStaff){align-items:center;padding:12px 18px;display:flex}.topbar:has(+.content .mobileStaff) nav{margin:0}.topbar:has(+.content .mobileStaff) nav a{display:none}.topbar:has(+.content .mobileStaff) .brand small{display:none}.topbar:has(+.content .mobileStaff) .brandMark{width:35px;height:35px;font-size:22px}.topbar:has(+.content .mobileStaff) .brand strong{font-size:14px}.content:has(.mobileStaff){width:100%;padding:0 16px}.mobileStaff{padding-top:20px}.staffIdentity{margin-bottom:23px}.staffWelcome h1{font-size:31px}.mobileCard{min-height:260px;padding:24px 20px}.mobilePrivacy{padding-bottom:15px}}@media print{.mobileStaff{display:none}}@media (max-width:600px){.authLayout{min-height:0;display:block}.authLayout .intro{padding:4px 4px 10px}.authLayout .intro h1{font-size:32px}.authLayout .intro p{font-size:14px;line-height:1.45}.authLayout .stepList{display:none}.authLayout .authCard{margin-top:12px;padding:24px 20px;box-shadow:0 9px 27px #2149360d}.authLayout .authCard h2{margin-bottom:19px;font-size:20px}.authLayout .authCard input{min-height:48px}.authLayout .authCard button{min-height:52px;font-size:15px}.authLayout .authCard .small{margin-bottom:0}}.branchSetup{padding:24px 26px}.branchSetup label{margin:0}.branchSetup input{min-height:43px}.branchSetupMain{grid-template-columns:minmax(200px,2fr) minmax(90px,.7fr) minmax(100px,.6fr);gap:12px;display:grid}.branchMapRow,.branchCoordinatesRow{grid-template-columns:minmax(250px,1fr) auto;align-items:end;gap:12px;margin-top:17px;display:grid}.branchMapRow label,.branchCoordinatesRow label{min-width:0}.branchCoordinatesRow button{white-space:nowrap;min-height:43px}.mapButton{color:#226147;white-space:nowrap;background:#edf4ef;border-radius:10px;place-items:center;min-height:43px;padding:0 15px;font-size:13px;font-weight:700;text-decoration:none;display:inline-grid}.mapButton:hover{background:#e1ede4}.mapButton.disabled{opacity:.5;cursor:not-allowed}.branchHint{color:#738b79;margin:10px 0 0;font-size:12px}.branchLocationMessage{color:#667b6c;background:#f4f7f4;border-radius:9px;margin-top:14px;padding:11px 13px;font-size:13px;line-height:1.4}.branchLocationMessage.ready{color:#246e49;background:#e9f7ed}.branchLocationMessage.error{color:#9d4925;background:#fff1e8}.branchLocationMessage span{font-family:Consolas,monospace}.branchManual{color:#657c6e;margin-top:13px;font-size:12px}.branchManual summary{cursor:pointer;text-decoration:underline}.branchManual button{margin-top:12px;font-size:12px}@media (max-width:850px){.branchMapRow,.branchCoordinatesRow{grid-template-columns:1fr}.branchMapRow .mapButton,.branchCoordinatesRow button{width:100%}}@media (max-width:600px){.branchSetup{padding:20px}.branchSetupMain{grid-template-columns:1fr}.branchMapRow,.branchCoordinatesRow{gap:10px}.branchMapRow .mapButton,.branchCoordinatesRow button{min-height:48px}}.qrDownload{width:100%}.qrDownloadError{color:#97482e;font-size:12px}.gpsHelp{color:#345448;text-align:left;background:#f5f8f5;border-radius:12px;margin:16px 0 0;padding:15px 16px;font-size:13px;line-height:1.5}.gpsHelp strong{margin-bottom:7px;display:block}.gpsHelp ol{margin:0 0 8px;padding-left:20px}.gpsHelp li+li{margin-top:5px}.gpsHelp small{color:#667c70}.registrationHelp{background:#fff;border:1px solid #dce8df;border-radius:14px;width:min(760px,100%);margin:26px auto 0;padding:16px 20px}.registrationHelp summary{cursor:pointer;color:#176b54;font-weight:800}.registrationHelp[open] summary{margin-bottom:15px}.phoneHelpBody{color:#344d41;font-size:14px;line-height:1.55}.phoneHelpBody p{color:#4f675a;margin:0 0 16px}.phoneHelpGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0;display:grid}.phoneHelpGrid section{background:#f6f9f6;border:1px solid #e3ece5;border-radius:12px;padding:18px}.phoneHelpGrid h3{color:#1c4935;margin:0 0 10px;font-size:18px}.phoneHelpGrid ol{margin:0 0 14px;padding-left:20px}.phoneHelpGrid li+li{margin-top:9px}.phoneHelpGrid .phoneHelpExtra{margin-bottom:0;font-size:13px}.phoneHelpBody .phoneHelpLast{margin-bottom:0}.phoneHelpPage{background:#fff;border:1px solid #dce8df;border-radius:16px;width:min(850px,100% - 32px);margin:32px auto 60px;padding:28px}.phoneHelpBack{margin-bottom:24px;font-size:13px;font-weight:700;display:inline-block}.phoneHelpPage .eyebrow{margin-bottom:10px}.phoneHelpPage h1{margin-bottom:8px}.phoneHelpIntro{margin:0 0 24px}.phoneHelpActions{gap:12px;margin-top:24px;display:flex}.phoneHelpActions a{color:#fff;background:#176b54;border-radius:10px;padding:11px 16px;font-size:13px;font-weight:700;text-decoration:none}@media (max-width:650px){.phoneHelpGrid{grid-template-columns:1fr}.phoneHelpPage{margin:16px auto 32px;padding:22px 18px}.registrationHelp{margin-top:18px;padding:15px 16px}}@media print{body{background:#fff}.phoneHelpPage{border:0;width:100%;margin:0;padding:0}.phoneHelpBack,.phoneHelpActions{display:none}.phoneHelpGrid{gap:12px}}.timecardPanel{margin-top:2px}.timecardTop{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.timecardTop h2{margin:0 0 4px}.timecardTop p{margin:0;font-size:14px}.timecardDownload{color:#fff;white-space:nowrap;background:#176b54;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.timecardDownload:hover{background:#105540}.timecardFilters{align-items:end;gap:14px;margin-bottom:20px;display:flex}.timecardFilters label{min-width:180px;margin:0}.timecardFilters select{color:#15392c;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #d5e2d9;border-radius:9px;margin-top:8px;padding:10px;display:block}.timecardFilters input{min-height:44px}.timecardIdentity{background:#fff;border:1px solid #dce8df;border-bottom:0;border-radius:12px 12px 0 0;justify-content:space-between;gap:12px;padding:13px 16px;display:flex}.timecardIdentity span{color:#718678;font-size:12px}.timecardScroll{background:#fff;border:1px solid #dce8df;border-radius:0 0 12px 12px;overflow:auto}.timecardGrid{table-layout:fixed;border-collapse:collapse;width:100%;min-width:1550px}.timecardGrid th,.timecardGrid td{text-align:center;vertical-align:top;white-space:normal;border:1px solid #dce8df;width:47px;padding:5px 2px}.timecardGrid thead th{color:#284b35;background:#eaf2eb;font-size:12px}.timecardGrid .timecardCorner{width:72px;font-size:11px}.timecardGrid tbody td{background:#f8faf8;min-height:110px}.timecardGrid tbody td.timecardUnpaired{background:#fff4e3}.timecardBranch{color:#236a4f;overflow-wrap:anywhere;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.timecardPunch{color:#263b31;justify-content:center;align-items:baseline;gap:2px;margin:2px 0;font-size:10px;line-height:1.25;display:flex}.timecardPunch time{font-family:Consolas,monospace;font-weight:700}.timecardPunch span{font-size:8px;font-weight:800}.timecardPunch .timecardIn{color:#267d53}.timecardPunch .timecardOut{color:#9a5c29}.timecardPunch small{overflow-wrap:anywhere;font-size:8px}.timecardPunch sup{color:#7a5a26;font-size:8px}.timecardReview{color:#a3651c;margin-top:5px;font-size:9px;font-weight:700;display:block}.timecardNote{margin:12px 0 0;font-size:12px}@media (max-width:600px){.timecardTop{flex-direction:column;align-items:start}.timecardFilters{flex-direction:column;align-items:stretch}.timecardFilters label{min-width:0}.timecardIdentity{flex-direction:column}}.qrInactive{background:#f7f8f6}.branchEdit{text-align:left;border-top:1px solid #e5ece6;width:100%;padding-top:12px}.branchEdit summary{color:#176b54;cursor:pointer;font-size:13px;font-weight:800}.branchEdit form{margin-top:16px}.branchEdit label{margin-bottom:12px}.branchEdit input{margin-top:5px}.branchEditMap{margin:-5px 0 14px;font-size:12px;font-weight:700;display:inline-block}.branchEdit form button{width:100%}.branchEdit p{margin:10px 0 0;font-size:11px}.branchControls{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.branchControls button{padding:9px 11px;font-size:12px}.branchControls .deactivate{color:#9c4d31;background:#fff0e9}.branchControls .deactivate:hover{background:#fbe2d5}@media print{.branchEdit,.branchControls,.qrInactive{display:none!important}}.mobileStaff>.staffIdentity{margin-top:20px;margin-bottom:18px}.mobileCardScanner{padding:10px 10px 20px}.mobileCardScanner .staffReader{min-height:260px;margin:0}.mobileCardScanner .gpsReady{margin:12px 4px 8px;padding:8px}.mobileCardScanner h2{margin:10px 0 0;font-size:18px}.mobileCardScanner .mobileSecondary{margin-top:12px}@media (max-width:600px){.content:has(.mobileStaff){padding-top:8px}.mobileStaff{padding-top:0}.mobileCardScanner{padding:6px 6px 16px}}
