:root{--bg:#071923;--bg-2:#102f3d;--surface:#102b38;--line:hsla(0,0%,100%,.14);--text:#f6fbff;--muted:#b8cbd5;--accent:#8dd7ca;--accent-2:#f2d483;--ok:#70e0a1;--danger:#ff7d7d;--info:#7db9ff;--shadow:0 28px 80px rgba(0,0,0,.34);--radius:24px;--primary:var(--accent)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;padding:0}body{background:radial-gradient(circle at 15% -10%,#31556a 0,#102d3b 35%,#06161f 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{background:hsla(0,0%,100%,.075);border:1px solid var(--line);border-radius:15px;color:var(--text);margin:7px 0 14px;outline:none;padding:13px 14px;width:100%}select option{background:#102b38;color:#fff}textarea{min-height:120px;resize:vertical}label{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}small{color:var(--muted)}.authCard,.card,.glass,.hero-panel,.journeyProgress,.kpi,.listItem,.login-card,.phone,.receiptPanel,.report,.road{background:linear-gradient(180deg,hsla(0,0%,100%,.105),hsla(0,0%,100%,.045));border:1px solid var(--line);box-shadow:var(--shadow)}.brand{align-items:center;display:flex;gap:13px}.brand img{border:1px solid hsla(0,0%,100%,.18);border-radius:18px;height:58px;object-fit:cover;width:58px}.brand b{color:var(--text);display:block;font-size:19px;letter-spacing:-.04em}.brand span{color:var(--muted);display:block;font-size:12px;margin-top:3px}.login-shell{align-items:center;display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(0,1fr) 430px;margin:auto;max-width:1220px;min-height:100vh;padding:34px}.login-hero{border-radius:34px;display:flex;flex-direction:column;justify-content:space-between;min-height:650px;overflow:hidden;padding:38px;position:relative}.login-hero:after{background:rgba(141,215,202,.16);border-radius:999px;bottom:-130px;content:"";height:410px;position:absolute;right:-120px;width:410px}.hero-copy{max-width:760px;position:relative;z-index:1}.badge{align-items:center;background:rgba(141,215,202,.12);border:1px solid rgba(141,215,202,.25);border-radius:999px;color:#e5fffa;display:inline-flex;font-size:12px;font-weight:850;gap:8px;margin-bottom:18px;padding:9px 13px}.hero-copy h1{font-size:56px;letter-spacing:-.07em;line-height:.96;margin:0 0 17px}.authCard p,.card p,.hero-copy p,.login-card p,.report p,.road p,.scope-warning{color:var(--muted);line-height:1.55}.journey{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}.step{background:hsla(0,0%,100%,.06);border:1px solid var(--line);border-radius:22px;padding:17px}.step svg{color:var(--accent)}.step b{display:block;margin:10px 0 6px}.step small{color:var(--muted);line-height:1.4}.scope-warning{align-items:flex-start;background:hsla(0,0%,100%,.045);border:1px dashed hsla(0,0%,100%,.22);border-radius:18px;display:flex;gap:10px;padding:14px 16px;position:relative;z-index:1}.scope-warning svg{color:var(--accent-2);flex:0 0 auto}.authCard,.login-card{border-radius:34px;padding:26px}.authCard h1,.login-card h2{font-size:28px;letter-spacing:-.04em;margin:24px 0 8px}.btn,.button{align-items:center;border:0;border-radius:15px;display:inline-flex;font-weight:900;gap:8px;justify-content:center;padding:13px 15px;text-decoration:none}.btn.primary,.button.primary{background:linear-gradient(135deg,var(--accent),#f5fffd);box-shadow:0 16px 36px rgba(141,215,202,.2);color:#071923}.btn.secondary,.button.secondary{background:hsla(0,0%,100%,.08);border:1px solid var(--line);color:var(--text)}.btn.ghost,.button.ghost{background:transparent;color:var(--muted)}.full{width:100%}.avatar{align-items:center;background:linear-gradient(135deg,#f4fffd,var(--accent));border-radius:999px;color:#08202b;display:grid;flex:0 0 auto;font-weight:950;height:42px;justify-items:center;place-items:center;width:42px}.avatar.sm{height:34px;width:34px}.app-shell{display:grid;grid-template-columns:286px minmax(0,1fr);min-height:100vh}.sidebar{background:rgba(4,16,23,.72);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:16px;height:100vh;padding:23px;position:-webkit-sticky;position:sticky;top:0}.profile-card{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid var(--line);border-radius:20px;display:flex;gap:12px;padding:13px}.profile-card span,.profile-card strong{display:block}.profile-card span{color:var(--muted);font-size:12px;margin-top:3px}.menu{display:grid;grid-gap:6px;gap:6px;overflow:auto;padding-right:2px}.menu a{align-items:center;background:transparent;border:0;border-radius:15px;color:var(--muted);display:flex;font-weight:780;gap:11px;padding:12px;text-align:left}.menu a:hover{background:rgba(141,215,202,.13);color:var(--text)}.menu a span{display:block}.side-note{background:hsla(0,0%,100%,.045);border:1px solid var(--line);border-radius:18px;margin-top:auto;padding:14px}.side-note p{color:var(--muted);font-size:12px;line-height:1.45;margin:6px 0 0}.content{margin:0 auto;max-width:1360px;padding:28px;width:100%}.topbar{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:22px}.eyebrow{color:var(--accent);font-size:12px;font-weight:950;letter-spacing:.1em;margin:0 0 8px;text-transform:uppercase}.topbar h1{font-size:31px;letter-spacing:-.055em;line-height:1.1;margin:0}.topbar p{color:var(--muted);line-height:1.45;margin:8px 0 0;max-width:760px}.top-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.grid,.pageContent,.stack{display:grid;grid-gap:18px;gap:18px}.grid.cols-2,.grid.two{grid-template-columns:1.1fr .9fr}.grid.cols-3,.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border-radius:24px;overflow:hidden;padding:21px}.cardHeader{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.card h3{font-size:18px;letter-spacing:-.025em;margin:0}.cardBody>:last-child{margin-bottom:0}.cardKicker{color:var(--accent);font-size:12px;font-weight:950;letter-spacing:.1em;margin:0 0 6px;text-transform:uppercase}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid hsla(0,0%,100%,.09);font-size:14px;padding:13px 10px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.tableSurface{overflow:auto}.alert{background:hsla(0,0%,100%,.055);border:1px solid var(--line);border-radius:18px;color:var(--muted);line-height:1.45;padding:12px 14px}.alert.success{background:rgba(112,224,161,.13);border-color:rgba(112,224,161,.25);color:var(--ok)}.alert.error{background:hsla(0,100%,75%,.13);border-color:hsla(0,100%,75%,.25);color:var(--danger)}.descriptionList,.receiptGrid{display:grid;grid-gap:12px;gap:12px;margin:0}.descriptionList div,.listItem,.receiptGrid div{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.09);border-radius:18px;padding:13px}dt{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}dd{color:var(--text);margin:5px 0 0}.authFooter{color:var(--muted);line-height:1.55;margin:0}.authFooter a{color:var(--text);font-weight:850;text-decoration:underline}.formGrid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.checkboxLine{align-items:center;align-self:end;border:1px solid var(--line);border-radius:15px;color:var(--text);display:flex;gap:10px;margin:7px 0 14px;min-height:48px;padding:12px 14px;text-transform:none}.checkboxLine input{height:16px;margin:0;width:16px}.locationsAdminLayout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.locationMapStage{border:1px solid hsla(0,0%,100%,.12);border-radius:22px;min-height:420px;overflow:hidden;position:relative}.leafletMapCanvas{height:420px;min-height:420px;width:100%}.locationMapOverlay{background:rgba(7,25,35,.86);border:1px solid var(--line);border-radius:16px;bottom:16px;display:grid;grid-gap:4px;gap:4px;left:16px;max-width:320px;padding:12px 14px;position:absolute;z-index:420}.locationMapOverlay small,.locationMapOverlay span,.locationMapOverlay strong{display:block}.clinicMapIconLogo{background:transparent;border:0}.clinicMapIconLogo img{border:3px solid #f7fffd;border-radius:999px;box-shadow:0 8px 22px rgba(0,0,0,.4);height:44px;object-fit:cover;width:44px}.locationListCard,.locationListCards{display:grid;grid-gap:14px;gap:14px}.locationListCard{align-items:center;border:1px solid hsla(0,0%,100%,.1);border-radius:20px;grid-template-columns:minmax(260px,1.5fr) minmax(210px,1fr) 92px 110px auto;padding:15px}.locationListCard small,.locationListCard span,.locationListCard strong{display:block}.locationListCard small{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.statusPill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:950;justify-content:center;padding:7px 11px;width:-moz-fit-content;width:fit-content}.statusPill.active{background:rgba(112,224,161,.13);color:var(--ok)}.statusPill.inactive{background:hsla(0,100%,75%,.13);color:var(--danger)}.locationStatusButton{white-space:nowrap}.attachmentUploadForm{display:grid;grid-gap:16px;gap:16px}.uploadDropzone{align-items:center;border:1.5px dashed rgba(141,215,202,.42);border-radius:22px;cursor:pointer;display:grid;grid-gap:8px;gap:8px;justify-items:center;margin:2px 0 4px;min-height:170px;padding:24px;text-align:center;text-transform:none}.uploadDropzone.dragging,.uploadDropzone:hover{background:rgba(141,215,202,.1);border-color:rgba(141,215,202,.7)}.uploadDropzone input{display:none}.uploadDropzoneIcon{align-items:center;background:rgba(141,215,202,.14);border:1px solid rgba(141,215,202,.3);border-radius:20px;color:var(--accent);display:inline-flex;height:64px;justify-content:center;width:64px}.uploadDropzone strong{color:var(--text);font-size:15px;line-height:1.35;max-width:560px}.uploadDropzone small{color:var(--muted);line-height:1.4;max-width:560px}.punchActionPanel{display:grid;grid-gap:18px;gap:18px}.punchActionHeader{align-items:start;display:flex;gap:16px;justify-content:space-between}.punchActionHeader h2{font-size:24px;letter-spacing:-.04em;margin:0 0 6px}.punchActionHeader span{color:var(--muted);display:block;line-height:1.45}.punchCounter{border:1px solid var(--line);border-radius:18px;min-width:104px;padding:12px;text-align:center}.punchCounter small,.punchCounter strong{display:block}.punchCounter strong{font-size:24px;letter-spacing:-.04em}.journeyProgress{border-radius:20px;padding:14px}.journeyProgressHeader{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.journeyProgressHeader span{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.journeyProgressTrack{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.1);border-radius:999px;height:12px;overflow:hidden}.journeyProgressTrack span{background:linear-gradient(135deg,var(--accent),#f5fffd);display:block;height:100%}.punchTimeline{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.punchTimeline li{align-items:center;border:1px solid hsla(0,0%,100%,.1);border-radius:18px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:36px minmax(0,1fr);padding:11px 12px}.punchTimeline li>span{align-items:center;background:hsla(0,0%,100%,.08);border-radius:999px;display:inline-flex;font-weight:950;height:36px;justify-content:center;width:36px}.punchTimeline small,.punchTimeline strong{display:block}.punchTimeline li.done{border-color:rgba(112,224,161,.22)}.punchTimeline li.done>span{background:rgba(112,224,161,.13);color:var(--ok)}.punchTimeline li.next{border-color:hsla(44,81%,73%,.26)}.punchTimeline li.next>span{background:hsla(44,81%,73%,.14);color:var(--accent-2)}.holdActionZone{display:grid;grid-gap:12px;gap:12px;justify-items:center}.holdActionZone .alert{margin:0;width:100%}.receiptTitleRow{align-items:start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.receiptSeal{background:rgba(112,224,161,.13);border-radius:999px;color:var(--ok);font-size:12px;font-weight:950;padding:7px 10px}.receiptGrid dd{overflow-wrap:anywhere}.phone{background:#071922;border:1px solid var(--line);border-radius:36px;box-shadow:var(--shadow);margin:auto;max-width:390px;padding:13px}.punch-circle{background:radial-gradient(circle,#f7fffd 0,#f7fffd 31%,var(--accent) 32%,var(--accent) 60%,rgba(141,215,202,.16) 61%,rgba(141,215,202,.16) 100%);border:0;border-radius:50%;box-shadow:0 20px 45px rgba(0,0,0,.26);color:#08222d;display:grid;font-weight:950;height:190px;margin:26px auto 18px;place-items:center;text-align:center;text-transform:uppercase;width:190px}.holdActionButton{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.holdActionButton small{font-size:11px;line-height:1.25;max-width:130px;text-transform:none}.holdProgress{background:rgba(8,34,45,.18);border-radius:999px;display:block;height:8px;overflow:hidden;width:126px}.holdProgress span{background:#08222d;display:block;height:100%}.punchFocusLayout{align-items:start;display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(420px,1.05fr) minmax(360px,.95fr)}.punchFocusMain{min-height:calc(100vh - 170px)}.punchFocusMain .punchActionPanel{align-content:center;background:linear-gradient(180deg,hsla(0,0%,100%,.105),hsla(0,0%,100%,.045));border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);display:grid;grid-gap:18px;gap:18px;justify-items:center;min-height:calc(100vh - 170px);padding:38px;text-align:center}.punchFocusMain .punchActionHeader{align-items:center;display:grid;grid-gap:10px;gap:10px;justify-items:center;max-width:620px}.punchFocusMain .punchCounter,.punchFocusMain .receiptPanel{display:none}.punchFocusMain .journeyProgress{max-width:620px;width:100%}.punchFocusMain .punchTimeline{grid-template-columns:repeat(4,minmax(0,1fr));max-width:720px;width:100%}.punchFocusMain .punchTimeline li{grid-template-columns:1fr;justify-items:center;min-height:112px;text-align:center}.punchFocusMain .holdActionZone{width:100%}.punchFocusMain .punch-circle{font-size:18px;height:260px;margin:8px auto 10px;width:260px}.punchFocusMain .punch-circle svg{height:36px;width:36px}.punchFocusSide{display:grid;grid-gap:18px;gap:18px}.punchQuickStats .card{box-shadow:none;min-height:120px}.punchQuickStats .card p{color:var(--text);font-size:24px;font-weight:950;line-height:1.1;margin:0}.adjustmentCard{display:grid;grid-gap:14px;gap:14px}.adjustmentCard p{color:var(--muted);margin:0}.compactDescriptionList div{padding:12px}.settingsModuleGrid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.settingsModuleCard{background:linear-gradient(180deg,hsla(0,0%,100%,.105),hsla(0,0%,100%,.045));border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);display:grid;grid-gap:10px;gap:10px;min-height:190px;padding:22px}.settingsModuleCard:hover{background:rgba(141,215,202,.1)}.settingsModuleCard span{color:var(--accent);font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.settingsModuleCard strong{color:var(--text);font-size:20px;letter-spacing:-.03em}.settingsModuleCard small{line-height:1.45}@media (max-width:1250px){.punchFocusLayout,.settingsModuleGrid{grid-template-columns:1fr}.punchFocusMain,.punchFocusMain .punchActionPanel{min-height:auto}}@media (max-width:1050px){.app-shell,.login-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.grid.cols-2,.grid.cols-3,.journey,.locationListCard,.locationsAdminLayout{grid-template-columns:1fr}.login-hero{min-height:auto}.hero-copy h1{font-size:40px}.topbar{align-items:flex-start;flex-direction:column}.content{padding:18px}.sidebar .menu{max-height:none}}@media (max-width:760px){.formGrid,.punchFocusMain .punchTimeline{grid-template-columns:1fr}.punchFocusMain .punchTimeline li{grid-template-columns:36px minmax(0,1fr);justify-items:start;min-height:auto;text-align:left}.leafletMapCanvas,.locationMapStage{height:320px;min-height:320px}}@media (max-width:620px){.login-shell{padding:16px}.authCard,.login-card,.login-hero{border-radius:26px;padding:22px}.hero-copy h1{font-size:34px}.top-actions,.top-actions .btn,.top-actions .button{width:100%}table{display:block;overflow:auto;white-space:nowrap}}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.metricNumber{color:var(--text)!important;font-size:clamp(24px,2.4vw,34px);font-weight:950;letter-spacing:-.05em;line-height:1.05;margin:0}.mutedText{color:var(--muted);line-height:1.45}.card,.locationListCard,.locationMapStage,.settingsModuleCard{margin-bottom:0}.locationsMapCard .mutedText{margin:12px 4px 0}.adminPageHeader,.financeFilters,.settingsModuleScreen{display:grid;grid-gap:18px;gap:18px}.adminPageHeader{align-items:center;grid-template-columns:auto 1fr}.settingsBackButton{justify-self:start;margin-bottom:4px}.uploadDropzone.compact{gap:6px;min-height:112px;padding:16px}.uploadDropzone.compact .uploadDropzoneIcon{border-radius:16px;height:46px;width:46px}.adjustmentRequestForm .uploadDropzone,.paymentForm .uploadDropzone{margin-top:7px}.inlineActions,.inlineReviewAction{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.errorText{color:var(--danger)}.punch-circle{background:radial-gradient(circle at center,#f7fffd 0 31%,transparent 32%),radial-gradient(circle at center,var(--accent) 0 62%,rgba(141,215,202,.2) 63% 100%);border:1px solid rgba(141,215,202,.28);box-shadow:0 24px 54px rgba(0,0,0,.34),inset 0 -18px 28px rgba(7,25,35,.2),inset 0 18px 28px hsla(0,0%,100%,.18);overflow:visible;position:relative;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.punch-circle:after,.punch-circle:before{border:1px solid rgba(141,215,202,.5);border-radius:inherit;content:"";inset:-18px;opacity:0;position:absolute;z-index:-1}.punch-circle:after,.punch-circle:before{animation:punchPulse 2.2s ease-out infinite}.punch-circle:after{animation-delay:1.1s}.punch-circle:hover{filter:brightness(1.04);transform:translateY(-2px) scale(1.015)}.punch-circle:active{box-shadow:0 16px 36px rgba(0,0,0,.32),inset 0 -14px 24px rgba(7,25,35,.28),inset 0 14px 24px hsla(0,0%,100%,.14);transform:scale(.97)}.holdProgress{display:none}.holdActionButton span:not(.holdProgress){display:block}.holdActionButton small{background:rgba(8,34,45,.1);border-radius:999px;color:#08222d;font-weight:950;margin-top:-8px;padding:5px 10px}.holdActionButton svg{filter:drop-shadow(0 4px 8px rgba(8,34,45,.18))}@keyframes punchPulse{0%{opacity:.62;transform:scale(.98)}70%{opacity:0;transform:scale(1.18)}to{opacity:0;transform:scale(1.18)}}.financeKpiGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.financeFilters{grid-template-columns:minmax(240px,1fr) auto;align-items:end}.financeFilters input,.financeFilters select{margin-bottom:0}@media (max-width:1250px){.financeKpiGrid,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.adminPageHeader,.financeFilters,.financeKpiGrid,.grid.cols-4{grid-template-columns:1fr}}