/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.table{display:table}}:root{--bg:#edf3f0;--ink:#173128;--muted:#65776f;--green:#12694f;--line:#d5e0db;--surface:#fff;--danger:#a83e29}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% 0,#d7eee4,var(--bg) 45%);color:var(--ink);margin:0;font-family:Arial,sans-serif}.stage{place-items:center;min-height:100vh;padding:24px;display:grid}.phone{background:#f5f8f6;border:1px solid #bdcec6;border-radius:28px;width:min(100%,430px);min-height:760px;position:relative;overflow:hidden;box-shadow:0 24px 70px #15372a25}.status{color:#fff;background:#0d5f48;justify-content:space-between;align-items:center;height:24px;padding:0 17px;font-size:11px;display:flex}header{background:var(--green);color:#fff;padding:15px 17px}header b{font-size:20px}header small{opacity:.9;margin-top:2px;display:block}.brandrow{justify-content:space-between;align-items:center;display:flex}.offline{background:#ffffff20;border-radius:10px;padding:5px 7px;font-size:11px}header p{margin:10px 0 0;font-size:12px}.content{min-height:635px;padding:16px}.titleRow,.cardTop,.line,.collecting{justify-content:space-between;align-items:center;gap:10px;display:flex}h1{margin:0;font-size:21px}h2{margin:0 0 5px;font-size:18px}.titleRow p,.muted,.result>p{color:var(--muted);margin:4px 0 14px;font-size:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:14px}.card strong,.card small{display:block}.card small{color:var(--muted);margin-top:4px;font-size:11px}.cardTop i,.collecting i{color:var(--green);background:#e3f2ec;border-radius:10px;padding:4px 7px;font-size:10px;font-style:normal}button{font:inherit;cursor:pointer}.primary,.secondary,.danger,.photo{border-radius:10px;padding:11px 13px;font-size:13px}.primary{background:var(--green);color:#fff;border:0;font-weight:700}.secondary,.photo{color:var(--ink);background:0 0;border:1px solid #a9bdb4}.danger{color:var(--danger);background:0 0;border:1px solid #c87967}.block{width:100%;margin-top:11px}.storage,.empty{color:var(--muted);text-align:center;padding:13px;font-size:11px}.metrics{background:var(--line);border:1px solid var(--line);border-radius:13px;grid-template-columns:repeat(3,1fr);gap:1px;margin:12px 0;display:grid;overflow:hidden}.metrics>div{text-align:center;background:#fff;padding:11px 4px}.metrics b{font-size:19px;display:block}.metrics small{color:var(--muted);font-size:10px}.collecting span{color:var(--green);font-size:12px;font-weight:700}.collecting i{border:1px solid #bad5ca}nav{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0 -16px 15px;display:grid}nav button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 2px;font-size:11px}nav button.selected{border-bottom-color:var(--green);color:var(--green);font-weight:700}.routeMap{background:linear-gradient(135deg,#d9e8e1,#f7faf8);border-radius:14px;place-items:center;height:125px;margin-bottom:11px;display:grid}.track{color:var(--green);letter-spacing:-3px;font-size:27px}.routeMap small{color:var(--muted);font-size:10px;display:block}.list{margin-top:11px}.moves{color:var(--green);font-size:12px}.audit code{word-break:break-all;color:#547067;margin-top:7px;font-size:9px;display:block}.toast{color:#fff;text-align:center;background:#173128;border-radius:10px;padding:10px;font-size:12px;position:absolute;bottom:12px;left:35px;right:35px}.shade{z-index:5;background:#0008;align-items:flex-end;display:flex;position:absolute;inset:0}.modal{background:#fff;border-radius:20px 20px 0 0;width:100%;max-height:92%;padding:19px;overflow:auto}.modal h2{margin-bottom:13px;font-size:19px}label{color:#4e665d;margin:9px 0;font-size:12px;display:block}input,select{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #afc2ba;border-radius:9px;margin-top:5px;padding:10px}.grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:15px;display:grid}.permission,.sync{background:#e5f2ed;border-radius:11px;padding:12px;font-size:12px;line-height:1.7}.photo{width:100%;margin-top:5px}.result{text-align:center}.seal{width:65px;height:65px;color:var(--green);background:#dcefe7;border-radius:50%;place-items:center;margin:6px auto 12px;font-size:32px;display:grid}.sync{text-align:left;margin:13px 0}.sync b,.sync small{display:block}.sync small{color:var(--muted)}.file{text-align:left;border-bottom:1px solid var(--line);padding:11px 3px;font-size:12px}.file span{float:right;color:var(--green)}@media (max-width:480px){.stage{padding:0}.phone{border:0;border-radius:0;width:100%;min-height:100vh}.content{min-height:calc(100vh - 104px)}}.userline{border-top:1px solid #ffffff30;justify-content:space-between;align-items:center;margin-top:10px;padding-top:9px;font-size:11px;display:flex}.userline button{color:#fff;background:#ffffff20;border:0;border-radius:8px;padding:5px 9px}.login{text-align:left}.login>img{object-fit:cover;border-radius:24px;width:100px;height:100px;margin:8px auto 18px;display:block}.login h1,.login>.muted{text-align:center}.login .primary:disabled{opacity:.45;cursor:not-allowed}.error{color:#a83e29;margin:8px 0;font-size:12px}.testAccess{background:#e5f2ed;border-radius:11px;margin-top:18px;padding:12px;font-size:11px;line-height:1.6}.testAccess b,.testAccess small{display:block}.adminActions{gap:6px;display:flex}.adminActions button{padding:9px}.content>div.toast{position:absolute}.secondary:disabled{opacity:.45}.completedRoute{background:#edf7f2;border-color:#9fc9b7}.completedRoute .cardTop i{color:#0b6649;background:#d3ecdf}.doneDate{font-weight:700;color:#0b6649!important}.completedRoute button:disabled{opacity:1;color:#0b6649;cursor:not-allowed;border-color:#8ab9a5}.apkDownload{background:#e5f2ed;border:1px solid #b9d6c9;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding:13px;display:flex}.apkDownload b,.apkDownload small{display:block}.apkDownload b{color:#173128;font-size:13px}.apkDownload small{color:#65776f;margin-top:4px;font-size:10px}.apkDownload a{color:#fff;background:#12694f;border-radius:9px;flex:none;padding:10px 12px;font-size:12px;font-weight:700;text-decoration:none}.apkDownload a:focus-visible{outline-offset:2px;outline:3px solid #79b89f}.adminShell{color:#173128;background:#f3f7f5;grid-template-columns:260px 1fr;width:100%;min-height:100vh;display:grid}.adminSide{color:#fff;background:#0d6048;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.adminBrand{border-bottom:1px solid #ffffff25;align-items:center;gap:12px;padding:0 8px 24px;display:flex}.adminBrand img{object-fit:cover;background:#fff;border-radius:15px;width:54px;height:54px}.adminBrand b,.adminBrand small{display:block}.adminBrand b{font-size:20px}.adminBrand small{opacity:.8;margin-top:3px;font-size:11px}.adminNav{border:0;flex-direction:column;gap:5px;margin:25px 0;display:flex}.adminNav button{color:#d9eee6;text-align:left;background:0 0;border:0;border-radius:9px;padding:12px 14px;font-size:13px}.adminNav button.active,.adminNav button:hover{color:#fff;background:#ffffff18;font-weight:700}.adminSideFoot{border-top:1px solid #ffffff25;margin-top:auto;padding:18px 8px 0}.adminSideFoot span,.adminSideFoot small{display:block}.adminSideFoot small{opacity:.7;margin-top:2px;font-size:11px}.adminSideFoot button{color:#fff;background:0 0;border:1px solid #ffffff45;border-radius:8px;width:100%;margin-top:12px;padding:8px 10px}.adminMain{min-width:0;padding:0 32px 40px}.adminTop{color:#173128;background:0 0;border-bottom:1px solid #d8e2de;justify-content:space-between;align-items:center;padding:25px 0 20px;display:flex}.adminTop h1{font-size:26px}.adminTop p{color:#667a72;margin:4px 0 0;font-size:12px}.syncState{color:#0d6048;background:#e0f1e9;border-radius:10px;padding:8px 11px;font-size:11px}.syncState span{background:#22a06b;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.adminMetrics{grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0;display:grid}.adminMetrics article{background:#fff;border:1px solid #d8e2de;border-radius:14px;padding:18px}.adminMetrics small,.adminMetrics span{color:#6c7e77;font-size:11px;display:block}.adminMetrics b{margin:9px 0 4px;font-size:29px;display:block}.adminGrid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:17px;display:grid}.adminGrid.users{grid-template-columns:330px 1fr}.adminBox{background:#fff;border:1px solid #d8e2de;border-radius:15px;margin-top:20px;padding:20px}.adminGrid .adminBox{margin-top:0}.adminBox h2{font-size:17px}.boxTitle{justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;display:flex}.boxTitle p{color:#6c7e77;margin:3px 0;font-size:11px}.boxTitle button,.adminPrimary{color:#fff;background:#0d6048;border:0;border-radius:9px;padding:9px 12px}.tableWrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:#6c7e77;border-bottom:1px solid #d8e2de;padding:10px;font-weight:400}td{border-bottom:1px solid #edf1ef;padding:13px 10px}td small,td b{display:block}td small{color:#73847d;margin-top:3px}.statusDone,.statusPending{border-radius:999px;padding:5px 8px;font-size:10px;display:inline-block}.statusDone{color:#096047;background:#dff1e8}.statusPending{color:#725710;background:#fff2ce}.tableAction,.userRow button{color:#173128;background:#fff;border:1px solid #a9beb5;border-radius:8px;padding:6px 9px}.donut{--done:0%;background:radial-gradient(circle,#fff 56%,transparent 58%),conic-gradient(#15976e var(--done),#dde8e3 0);border-radius:50%;align-content:center;place-items:center;width:150px;height:150px;margin:22px auto;display:grid}.donut b{font-size:25px}.donut span{color:#6c7e77;font-size:10px}.legend{justify-content:center;gap:15px;font-size:11px;display:flex}.legend i{background:#dde8e3;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.legend i.green{background:#15976e}.routeAdminGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:13px;display:grid}.routeAdminGrid article{border:1px solid #d8e2de;border-radius:12px;padding:15px}.routeAdminGrid h3{margin:12px 0 5px;font-size:14px}.routeAdminGrid p,.routeAdminGrid small{color:#6c7e77;font-size:11px}.userRow{border-bottom:1px solid #e5ece9;grid-template-columns:40px 1fr auto auto;align-items:center;gap:10px;padding:11px 0;display:grid}.avatar{color:#0d6048;background:#dff1e8;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.userRow small,.userRow b{display:block}.userRow small{color:#6c7e77;font-size:10px}.activeUser,.inactiveUser{border-radius:8px;padding:4px 7px;font-size:10px}.activeUser{color:#0d6048;background:#dff1e8}.inactiveUser{color:#666;background:#eee}.reportGrid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.reportGrid article{border:1px solid #d8e2de;border-radius:12px;grid-template-columns:55px 1fr auto;align-items:center;gap:13px;padding:16px;display:grid}.fileIcon{color:#0d6048;background:#dff1e8;border-radius:11px;place-items:center;width:52px;height:52px;font-size:11px;font-weight:700;display:grid}.reportGrid h3{margin:0;font-size:14px}.reportGrid p{color:#6c7e77;margin:4px 0;font-size:11px}.reportGrid button{color:#0d6048;background:#fff;border:1px solid #0d6048;border-radius:8px;padding:8px 10px}@media (max-width:900px){.adminShell{grid-template-columns:1fr}.adminSide{height:auto;position:relative}.adminNav{grid-template-columns:repeat(5,1fr);margin:14px 0;display:grid}.adminSideFoot{display:none}.adminMain{padding:0 16px 30px}.adminMetrics{grid-template-columns:repeat(2,1fr)}.adminGrid,.adminGrid.users{grid-template-columns:1fr}}@media (max-width:600px){.adminNav{grid-template-columns:repeat(2,1fr)}.adminMetrics,.reportGrid{grid-template-columns:1fr}.reportGrid article{grid-template-columns:50px 1fr}.reportGrid button{grid-column:1/-1}.adminTop{align-items:flex-start}.syncState{display:none}}.photoFile{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.photoPicker .photo{text-align:center;cursor:pointer;display:block}.photoPreview{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;margin-top:9px;padding:8px;display:flex}.photoPreview img{object-fit:cover;border-radius:8px;width:74px;height:58px}.photoPreview button{color:var(--danger);background:#fff;border:1px solid #c87967;border-radius:8px;margin-left:auto;padding:7px 9px}.adminNotice{color:#0d6048;background:#e0f1e9;border:1px solid #bddbce;border-radius:10px;justify-content:space-between;margin-top:16px;padding:10px 13px;display:flex}.adminNotice button{background:0 0;border:0;font-size:18px}.adminHint{color:#6c7e77;font-size:11px;line-height:1.5}.deleteButton{border-radius:8px;padding:7px 9px;color:#9f3728!important;background:#fff!important;border:1px solid #c46f62!important}.deleteButton:disabled{opacity:.35;cursor:not-allowed}.userRow{grid-template-columns:40px 1fr auto auto auto}.reportActions{flex-wrap:wrap;gap:6px;display:flex}.reportActions button{color:#0d6048;background:#fff;border:1px solid #0d6048;border-radius:8px;padding:7px 9px}.reportActions button:first-child{color:#fff;background:#0d6048}.reportRecord{border:1px solid #d8e2de;border-radius:12px;justify-content:space-between;align-items:center;gap:15px;margin-top:12px;padding:14px;display:flex}.reportRecord b,.reportRecord small{display:block}.reportRecord small{color:#6c7e77;margin-top:5px;font-size:11px}.emptyAdmin{text-align:center;color:#6c7e77;padding:35px}.tableWrap .reportActions{min-width:250px}@media (max-width:700px){.reportRecord{flex-direction:column;align-items:flex-start}.userRow{grid-template-columns:40px 1fr auto}.userRow button{grid-column:auto}.tableWrap .reportActions{min-width:180px}}.identity small:after,.adminBrand small:after{content:" · v1.0.0"}.reportWithMap{display:block}.reportHeader{justify-content:space-between;align-items:center;gap:15px;display:flex}.surveyMap{background:#eaf1ed;border:1px solid #cbdcd4;border-radius:13px;height:330px;margin-top:14px;position:relative;overflow:hidden}.surveyMap svg{width:100%;height:100%}.surveyMap .mapGrid{stroke:#d4dfda;stroke-width:.35px;fill:none}.surveyMap polyline{fill:none;stroke:#0d6048;stroke-width:1.25px;stroke-linejoin:round;stroke-linecap:round}.surveyMap .mapStart{fill:#24965f;stroke:#fff;stroke-width:.8px}.surveyMap .mapEnd{fill:#c94032;stroke:#fff;stroke-width:.8px}.mapLegend{background:#fffffff0;border-radius:8px;gap:12px;padding:7px 10px;font-size:10px;display:flex;position:absolute;bottom:10px;left:12px}.mapLegend span:first-child{color:#24965f}.mapLegend span:nth-child(2){color:#c94032}.mapLegend small{color:#61756c}.emptyMap{color:#687b73;place-items:center;font-size:12px;display:grid}@media (max-width:700px){.reportHeader{display:block}.reportHeader .reportActions{margin-top:10px}.surveyMap{height:240px}}
