:root{--brand-50:#f0faf0;--brand-100:#e8fbe8;--brand-200:#98fb98;--brand-500:#00fa9a;--brand-600:#3cb371;--brand-700:#2e8b57;--brand-800:#1f6b52;--brand-900:#145240;--surface:#fff;--surface-soft:#f8fff8;--line:#bcefc6;--text:#062b22;--muted:#587269;--shadow-soft:0 16px 40px #14524024;--shadow-inset:inset 0 3px 10px #14524040, inset 0 -3px 10px #ffffffd1;color:var(--text);background:var(--brand-50);font-family:Arial,Helvetica,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:radial-gradient(circle at 16px 16px, #98fb9857, transparent 24px), linear-gradient(180deg, var(--brand-50), #f8fff8 42%, var(--brand-100));margin:0}button,input,select,textarea{font:inherit}button{background:linear-gradient(180deg, var(--brand-500), #03d987);color:#063728;cursor:pointer;border:0;border-radius:10px;min-height:40px;padding:0 15px;font-weight:900;transition:background .16s,box-shadow .16s,transform .16s;box-shadow:0 8px 18px #00fa9a3d}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 22px #00fa9a4d}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{background:var(--surface);color:var(--text);border:1px solid #b6dec0;border-radius:12px;width:100%;padding:0 12px}input{min-height:42px}input:focus,select:focus,textarea:focus{border-color:var(--brand-600);outline:none;box-shadow:0 0 0 3px #00fa9a2e}select{background:var(--surface);min-height:42px}textarea{resize:vertical;min-height:120px;padding-top:10px;padding-bottom:10px;line-height:1.4}label{color:var(--brand-900);gap:6px;font-size:12px;font-weight:700;display:grid}code{background:#eef2ef;border-radius:5px;padding:2px 5px}.center{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.publicHome{grid-template-columns:minmax(0,1.2fr) minmax(340px,430px);align-items:center;gap:28px;max-width:1120px;min-height:100vh;margin:0 auto;padding:40px 24px;display:grid}.publicIntro{gap:18px;display:grid}.publicBrand{align-items:center;gap:16px;display:flex}.publicBrand .siteLogo{width:142px;height:74px}.publicBrand h1{margin:0;font-size:38px;line-height:1}.publicLead{color:#314d44;max-width:720px;margin:0;font-size:18px;line-height:1.55}.publicFeatureList{gap:10px;max-width:720px;margin:0;padding-left:21px;display:grid}.publicFeatureList li{color:#405b52;font-size:15px;line-height:1.45}.publicNote{color:var(--muted);margin:0;font-size:14px;font-weight:700}.loginPanel{gap:14px;display:grid}.brandHeading,.topbarIdentity{align-items:center;gap:14px;min-width:0;display:flex}.brandHeading{align-items:flex-start;margin-bottom:12px}.brandHeading h1,.brandHeading p{margin-bottom:0}.brandHeading p{margin-top:5px}.publicLinks{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:14px;display:flex}.publicLinks a{color:var(--brand-800);font-size:13px;font-weight:900}.siteLogo{object-fit:contain;flex:none;width:110px;height:58px;display:block}.compactSiteLogo{width:88px;height:46px}.admin{background:0 0;grid-template-columns:86px minmax(0,1fr);min-height:100vh;padding:0;display:grid}.sideNav{background:#f0faf0f0;border-right:1px solid #2e8b572e;flex-direction:column;align-items:center;gap:18px;min-height:100vh;padding:14px 8px;display:flex;position:sticky;top:0;box-shadow:10px 0 26px #14524017}.sideBrand{color:var(--brand-900);background:linear-gradient(#11f0a0,#0bd884);border:1px solid #ffffff73;border-radius:10px;justify-content:center;align-items:center;width:60px;height:60px;font-size:14px;font-weight:900;display:flex;box-shadow:0 12px 22px #00fa9a3d}.sideMenu{justify-items:center;gap:12px;width:100%;display:grid}.sideMenuItem{color:var(--brand-900);background:linear-gradient(#10f19b,#0cda87);border:1px solid #ffffff70;border-radius:10px;justify-content:center;align-items:center;width:60px;height:60px;min-height:60px;padding:0;display:flex;position:relative;box-shadow:0 12px 22px #00fa9a40,inset 0 1px #ffffff57}.sideMenuItem svg{fill:none;stroke:#035842;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:27px;height:27px}.sideMenuItem.active,.sideMenuItem:hover{background:linear-gradient(#23ffad,#00cc78);transform:translateY(-1px);box-shadow:0 14px 26px #00fa9a5c,inset 0 1px #ffffff75}.sideMenuItem.active{outline-offset:2px;outline:2px solid #1452402e}.menuTooltip{background:var(--brand-900);color:#fff;opacity:0;pointer-events:none;white-space:nowrap;z-index:20;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:800;transition:opacity .14s,transform .14s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-4px);box-shadow:0 10px 24px #14524033}.sideMenuItem:hover .menuTooltip,.sideMenuItem:focus-visible .menuTooltip{opacity:1;transform:translateY(-50%)translate(0)}.adminShell{gap:18px;padding:20px 22px 28px;display:grid}.dashboardTopbar{background:#ffffffdb;border:1px solid #2e8b572e;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:17px 20px;display:flex;box-shadow:0 10px 28px #14524014}.dashboardTopbar h1{margin-bottom:3px}.dashboardTopbar p{margin-bottom:0}.topbarIdentity>div{min-width:0}.topbarTools{align-items:center;gap:12px;display:flex}.weatherCard{color:#fff;background:#2f5a2d;border:1px solid #f0faf02e;border-radius:999px;gap:5px;min-width:365px;padding:16px 26px;display:grid;position:relative;box-shadow:0 12px 26px #1452402e}.weatherCurrent{align-items:center;gap:13px;display:flex}.weatherPillAction{box-shadow:none;color:#efffec;background:0 0;border:1px solid #f0faf047;border-radius:999px;min-height:24px;padding:0 9px;font-size:11px;position:absolute;top:14px;right:18px}.weatherCard span{color:#e4ffd8;letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:900}.weatherCard strong{color:#fff;font-size:30px;line-height:1}.weatherCard em,.weatherCard small{color:#f2ffe9;font-size:13px;font-style:normal}.weatherCard small{display:block}.weatherPillTempLine{flex-wrap:wrap;align-items:baseline;gap:12px;padding-right:58px;display:flex}.weatherCurrent em{color:#fff;font-size:17px;font-weight:900}.weatherLocationLine{display:none!important}.weatherMetaLine{color:#dcf8d2!important;font-size:11px!important}.weatherAlerts{border-top:1px solid #f0faf024;gap:5px;margin-left:46px;padding-top:5px;display:grid}.weatherAlerts.active>small{color:#ffe2b8;font-weight:900}.weatherAlert{background:#fff7ed1f;border:1px solid #fed7aa59;border-radius:8px;gap:2px;padding:7px 8px;display:grid}.weatherAlert strong{color:#ffedd5;font-size:12px}.weatherAlert span{color:#fff7ed;text-transform:none;font-size:11px;font-weight:700;line-height:1.25}.weatherIcon{color:currentColor;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;flex:none}.weatherIcon circle{fill:currentColor;stroke:currentColor}.weatherPillIcon{color:#e8ffd9;width:28px;height:28px}.weatherLargeIcon{color:var(--brand-700);justify-self:end;width:54px;height:54px}.weatherListIcon,.weatherHourIcon{color:var(--brand-700);width:24px;height:24px}.weatherPage{gap:16px;display:grid}.weatherPropertyBar{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(260px,380px) minmax(0,1fr);align-items:end;gap:14px;padding:12px;display:grid}.weatherPropertyBar>div{gap:4px;display:grid}.weatherPropertyBar strong{color:var(--text)}.weatherPropertyBar small{color:var(--muted);font-weight:700}.weatherWorkspace{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:14px;display:grid}.weatherCurrentPanel,.weatherAlertPanel,.weatherForecastPanel,.weatherHourlyPanel,.weatherRadarPanel{background:#fff;border:1px solid #ccefd3;border-radius:12px;gap:12px;min-width:0;padding:14px;display:grid}.weatherCurrentPanel{grid-column:1/-1;grid-template-columns:minmax(0,1.3fr) auto minmax(260px,.9fr)}.weatherCurrentPanel h3{margin:0}.weatherTemperature{text-align:right;align-self:center;justify-items:end;gap:4px;display:grid}.weatherTemperature strong{color:var(--text);font-size:42px;line-height:1}.weatherTemperature span{color:var(--brand-800);font-weight:900}.weatherFacts{align-self:center;gap:6px;display:grid}.weatherFacts span{color:var(--muted);justify-content:space-between;gap:8px;display:flex}.weatherFacts strong{color:var(--text);text-align:right}.weatherAlertList,.weatherForecastList{gap:8px;display:grid}.weatherAlertItem,.weatherForecastItem{border-left:3px solid var(--brand-600);gap:5px;padding:7px 0 7px 10px;display:grid}.weatherAlertItem{border-left-color:#ea580c}.weatherAlertItem div,.weatherForecastItem>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.weatherAlertItem strong,.weatherForecastItem strong,.weatherForecastTitle strong{color:var(--text)}.weatherAlertItem span,.weatherForecastItem>div>span:not(.weatherForecastTitle){color:var(--brand-800);text-align:right;font-size:12px;font-weight:900}.weatherForecastTitle{align-items:center;gap:8px;min-width:0;display:flex;color:var(--text)!important;text-align:left!important}.weatherAlertItem p,.weatherForecastItem p{color:#354940;margin:0;font-size:13px;line-height:1.35}.weatherAlertItem small,.weatherForecastItem small{color:var(--muted);font-size:12px;font-weight:700}.weatherHourlyPanel{grid-column:1/-1}.weatherHourlyStrip{grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;display:grid;overflow-x:auto}.weatherHour{background:var(--surface-soft);border:1px solid #d7f4dc;border-radius:10px;justify-items:start;gap:4px;min-width:110px;padding:9px;display:grid}.weatherHour strong{color:var(--text)}.weatherHour span{color:var(--brand-800);font-weight:900}.weatherHour small{color:var(--muted);font-size:11px;font-weight:700;line-height:1.25}.weatherRadarPanel{grid-column:1/-1}.weatherRadarFrame{border:1px solid #ccefd3;border-radius:10px;width:100%;height:520px}.policyPage{max-width:860px;margin:0 auto;padding:40px 24px 56px}.policyHero{border-bottom:1px solid #ccefd3;margin-bottom:28px;padding-bottom:22px}.policyHero p{color:#465953;max-width:760px;font-size:17px;line-height:1.55}.policyUpdated{margin-bottom:0;font-weight:700;font-size:14px!important}.eyebrow{letter-spacing:0;text-transform:uppercase;margin-bottom:8px;font-weight:900;color:var(--brand-800)!important;font-size:13px!important}.policySection{gap:10px;margin-bottom:26px;display:grid}.policySection p,.policySection li{color:#465953;font-size:16px;line-height:1.55}.policySection p,.policySection ul{margin-bottom:0}.policySection ul{padding-left:22px}.policySection a{color:#126342;font-weight:800}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}h1,h2,p{margin-top:0}h1{color:var(--text);margin-bottom:6px;font-size:26px}h2{color:var(--text);font-size:19px}h3{color:var(--text);margin:0;font-size:15px}h4{color:var(--text);margin:0;font-size:14px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.quickSetup{margin-bottom:16px}.tabBar{border-bottom:1px solid #ccefd3;flex-wrap:wrap;gap:8px;display:flex}.tabButton{color:#465953;background:0 0;border-bottom:3px solid #0000;border-radius:0;min-height:42px;padding:0 14px}.tabButton.active{border-bottom-color:var(--brand-600);color:#123d32}.sectionHeader{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sectionHeader h2{margin-bottom:5px}.sectionHeader p,.subhead p{margin-bottom:0}.formSection{border-top:1px solid #d7f4dc;gap:12px;padding-top:14px;display:grid}.sectionHeader+.formSection{border-top:0;padding-top:0}.subhead{gap:3px;display:grid}.createUserForm,.bulkImportForm,.fieldGrid,.routeListGrid,.setupForm{gap:12px;display:grid}.createUserForm,.bulkImportForm{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.wideField{grid-column:1/-1}.fieldGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.routeListGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.formActions{grid-column:1/-1;justify-content:flex-end;display:flex}.formActions button{min-width:220px}.actionPanel{gap:14px;margin-bottom:16px;display:grid}.inlineForm{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.lookupPanel{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;gap:12px;padding:12px;display:grid}.lookupPanel .quickForm{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.lookupResults{gap:8px;display:grid}.lookupControls{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;display:grid}.lookupCount{margin:0}.lookupRow{background:#fff;border:1px solid #ccefd3;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.lookupRow div:first-child{gap:3px;display:grid}.lookupRow strong{color:var(--text)}.lookupRow em,.lookupRow small{color:#65766f;overflow-wrap:anywhere;font-size:12px;font-style:normal}.userPanel{gap:16px;margin-bottom:16px;display:grid}.quickForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.quickForm button{align-self:end}.panel{background:#ffffffeb;border:1px solid #2e8b572e;border-radius:16px;padding:18px;box-shadow:0 10px 30px #14524014}.narrow{width:100%;max-width:430px}.stack{gap:12px;margin-bottom:18px;display:grid}.locationEditor{border-top:1px solid #e4ebe6;gap:12px;margin-bottom:18px;padding-top:14px;display:grid}.locationEditorForm{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.locationEditorTop{border-top:0;padding-top:0}.buildingFloorEditor{border-top:1px solid #e4ebe6;gap:12px;margin-top:16px;padding-top:14px;display:grid}.buildingFloorGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.buildingFloorCard{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;gap:10px;padding:12px;display:grid}.buildingFloorCardHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.buildingFloorCardHeader strong{color:var(--text)}.buildingFloorCardHeader span{background:var(--brand-100);color:var(--brand-900);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.buildingFloorCard textarea{min-height:155px}.secondary{box-shadow:none;color:var(--brand-900);background:#fff;border:1px solid #b6dec0}.danger{color:#fff;background:linear-gradient(#ef4444,#dc2626);border:1px solid #dc2626}.compact{min-height:28px;padding:0 10px;font-size:12px}.muted{color:var(--muted)}.error{color:#982d22;background:#f7dfdc;border-radius:12px;padding:12px;font-weight:700}.empty{color:var(--muted);margin:0}.tableWrap{background:#fff;border:1px solid #d7f4dc;border-radius:14px;overflow-x:auto}.adminTable{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;font-size:12px;line-height:1.35}.adminTable th,.adminTable td{text-align:left;vertical-align:middle;border-bottom:1px solid #e9f5eb;padding:9px 12px}.adminTable th{color:var(--brand-800);text-transform:uppercase;background:#f5fff5;font-size:11px;font-weight:700}.adminTable td{color:var(--text);font-weight:400}.adminTable td strong{color:var(--text);font-weight:700}.adminTable tbody tr:last-child td{border-bottom:0}.adminTable tr{cursor:pointer}.adminTable tbody tr:hover,.adminTable tr.selected{background:#f0faf0}.adminTable td small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.propertyTablePanel{background:#fff;padding:0;overflow:hidden}.propertyTablePanel>.sectionHeader{background:linear-gradient(#98fb98,#8af28d);align-items:center;padding:24px 20px}.propertyTablePanel>.sectionHeader h2{margin:0;font-size:22px}.propertyTablePanel>.sectionHeader p{color:var(--brand-900);margin-top:4px}.propertySearchBar{background:linear-gradient(#8af28d,#e8fbe8);padding:14px 20px 18px}.propertySearchBar input{box-shadow:var(--shadow-inset);color:var(--brand-900);border-color:#86cf98;border-radius:17px;min-height:48px;font-size:15px}.propertySearchBar input::placeholder{color:#667d76}.propertyTablePanel .tableWrap{border:0;border-radius:0}.propertySearchEmpty{background:#fff;padding:14px 20px 18px}.editorPanel{border-top:1px solid #e4ebe6;gap:12px;margin-top:14px;padding-top:14px;display:grid}.dataList{gap:8px;display:grid}.dataRow{border:1px solid #ccefd3;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:8px;display:grid}.dataRow.selected{border-color:var(--brand-700)}.rowButton{box-shadow:none;color:var(--text);text-align:left;background:0 0;justify-content:stretch;align-items:flex-start;min-height:0;padding:0;display:grid}.rowButton span{font-weight:800}.rowButton em{color:#53635d;overflow-wrap:anywhere;font-size:12px;font-style:normal;font-weight:600;line-height:1.35}.rowButton small{color:#65766f;font-size:12px}.rowButton:hover,.propertyDetailButton:hover{box-shadow:none;transform:none}.formWide{grid-column:1/-1;gap:8px;display:grid}.settingsGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stack .settingsGrid{grid-template-columns:1fr}.inlineCheck{background:var(--surface-soft);border:1px solid #ccefd3;border-radius:12px;align-self:end;align-items:center;gap:8px;min-height:42px;padding:8px 10px;display:flex}.inlineCheck input{width:auto;min-height:0}.checkList{flex-wrap:wrap;gap:8px;max-height:180px;display:flex;overflow:auto}.checkList label,.propertyChoice{background:#fff;border:1px solid #ccefd3;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;display:flex}.propertyChoice.selected{background:var(--brand-100);border-color:var(--brand-700);color:var(--text)}.propertyChoice{justify-content:space-between}.propertyChoice label{background:0 0;border:0;flex:1;min-width:180px;padding:0}.propertyChoice span{gap:2px;display:grid}.propertyChoice small{color:#65766f;font-size:11px;font-weight:700}.checkList input{width:auto;min-height:0}.rowActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.rowEdit{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;display:grid}.userGroups,.userGroup,.userList{gap:12px;display:grid}.groupHeader{border-bottom:1px solid #e4ebe6;justify-content:space-between;align-items:center;padding-bottom:7px;display:flex}.groupHeader span,.assignmentHeader span{background:var(--brand-100);color:var(--brand-900);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.userRow{background:#fff;border:1px solid #ccefd3;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:14px;padding:14px;display:grid}.userSummary{gap:5px;display:grid}.identityLine{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.identityLine strong,.userSummary strong{color:var(--text)}.badgeRow{flex-wrap:wrap;gap:6px;display:flex}.roleBadge,.statusBadge{letter-spacing:0;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:800}.roleBadge{background:var(--brand-100);color:var(--brand-900)}.statusActive{color:var(--brand-800);background:#dffbe7}.statusDisabled{color:#982d22;background:#f5dfdc}.userSummary em{color:#53635d;overflow-wrap:anywhere;font-size:13px;font-style:normal}.userSummary small{color:#65766f;font-size:12px;font-weight:700}.userActions{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.buttonGroup{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.assignmentBlock{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.assignmentHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.assignmentHeader strong{color:var(--text)}.assignmentFooter{justify-content:flex-end;display:flex}.trackerPanel{gap:16px;display:grid}.trackerImportForm{grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;align-items:end;gap:10px;display:grid}.trackerSourceForm{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(180px,1fr) minmax(260px,1.4fr) auto minmax(160px,.8fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.trackerAdminActions{grid-template-columns:minmax(180px,260px) auto auto;justify-content:start;align-items:end;gap:10px;display:grid}.trackerTabs{flex-wrap:wrap;gap:8px;display:flex}.trackerTabs button{box-shadow:none;color:var(--brand-900);background:#fff;border:1px solid #ccefd3}.trackerTabs button.active,.trackerTabs button:hover{background:linear-gradient(180deg, var(--brand-100), #fff);border-color:var(--brand-600);transform:none}.trackerReportPanel,.trackerEmailPanel{gap:14px;display:grid}.trackerReportControls{grid-template-columns:minmax(180px,260px) minmax(240px,1fr);align-items:end;gap:12px;display:grid}.trackerEmailHeader{justify-content:space-between;align-items:center;gap:16px;display:flex}.collectorEmailList{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.collectorEmailList .checkboxLine{align-items:flex-start}.collectorEmailList span{gap:3px;display:grid}.collectorEmailList small{color:var(--muted);font-weight:700}.trackerCustomEmailForm{border-top:1px solid #d7f4dc;gap:12px;padding-top:14px;display:grid}.violationBatchPanel{background:linear-gradient(#fff,#f6fcf6);border:1px solid #ccefd3;border-radius:14px;gap:12px;padding:14px;display:grid}.violationBatchHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.violationBatchHeader h3{margin:0 0 3px}.violationBatchList{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.violationBatchItem{background:#fff;border:1px solid #d7f4dc;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.violationBatchItem span{gap:2px;min-width:0;display:grid}.violationBatchItem small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.violationBatchEmailForm{border-top:1px solid #d7f4dc;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;padding-top:12px;display:grid}.checkboxLine{background:#fff;border:1px solid #ccefd3;border-radius:12px;align-self:end;align-items:center;gap:8px;min-height:42px;padding:8px 10px;display:flex}.checkboxLine input{width:auto;min-height:0}.errorCell{color:#982d22;overflow-wrap:anywhere;font-weight:800}.metricGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.metricCard{background:linear-gradient(#fff,#f0faf0);border:1px solid #ccefd3;border-radius:14px;gap:6px;padding:12px;display:grid}.metricCard span{color:var(--brand-800);text-transform:uppercase;font-size:12px;font-weight:800}.metricCard strong{color:var(--text);font-size:22px}.settingsPanel{gap:16px;max-width:none;display:grid}.settingsStatus{border-top:1px solid #d7f4dc;border-bottom:1px solid #d7f4dc;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0;padding:12px 0;display:grid}.settingsStatus div{gap:4px;display:grid}.settingsStatus span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.settingsStatus strong{color:var(--text);overflow-wrap:anywhere;font-size:13px}.settingsForm{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.settingsLayout{border-top:1px solid #d7f4dc;grid-template-columns:220px minmax(0,1fr);gap:16px;padding-top:16px;display:grid}.settingsSubMenu{align-content:start;gap:8px;display:grid}.settingsSubMenu button{box-shadow:none;color:var(--brand-900);text-align:left;background:#fff;border:1px solid #ccefd3;border-radius:11px;justify-content:flex-start;min-height:44px;padding:0 12px}.settingsSubMenu button.active,.settingsSubMenu button:hover{background:linear-gradient(180deg, var(--brand-100), #fff);border-color:var(--brand-600);transform:none;box-shadow:0 8px 18px #1452401a}.settingsContentPane,.settingsPane{gap:14px;min-width:0;display:grid}.settingsSubheader{justify-content:space-between;align-items:center;gap:16px;display:flex}.settingsSubheader p{margin-bottom:0}.settingsHint{background:var(--surface-soft);color:var(--brand-900);border:1px solid #ccefd3;border-radius:12px;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.businessCardBuilder{gap:14px;display:grid}.businessCardGrid{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:16px;display:grid}.businessCardForm{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;display:grid}.businessCardPreviewPanel{background:linear-gradient(180deg, var(--surface-soft), #fff);border:1px solid var(--line);border-radius:14px;align-content:start;gap:12px;padding:12px;display:grid}.businessCardPreview,.publicBusinessCard{background:#fff;border:1px solid #d9e6dc;border-radius:16px;overflow:hidden;box-shadow:0 16px 34px #14524024}.businessCardPreviewBody,.publicBusinessCardBody{align-items:flex-start;gap:16px;padding:18px;display:flex}.businessCardContact,.publicBusinessCardContact{flex:1;gap:7px;min-width:0;display:grid}.businessCardContact>strong{color:#111827;font-size:20px;line-height:1.1}.businessCardContact>span,.publicBusinessCardContact>p{color:#2e7d32;margin:0;font-size:13px;font-weight:800}.businessCardContact div,.publicBusinessCardLinks{color:#374151;gap:4px;font-size:13px;display:grid}.businessCardContact em,.publicBusinessCardLinks span{overflow-wrap:anywhere;font-style:normal;display:block}.businessCardContact a,.publicBusinessCardLinks a{color:#1a5276;overflow-wrap:anywhere;font-weight:700;text-decoration:none}.businessCardContact a:hover,.publicBusinessCardLinks a:hover{text-decoration:underline}.businessCardLogo{object-fit:contain;flex:0 0 55%;max-width:55%}.businessCardNaa,.publicNaaRow{border-top:1px solid #e5e7eb;align-items:center;gap:10px;padding:10px 18px;display:flex}.businessCardNaa img,.publicNaaRow img{object-fit:contain;height:38px}.businessCardNaa span,.publicNaaRow span{color:#374151;font-size:12px;font-weight:700;line-height:1.25}.cardUrlBox{background:#fff;border:1px solid #d7f4dc;border-radius:12px;gap:4px;padding:10px;display:grid}.cardUrlBox span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.cardUrlBox strong{color:var(--text);overflow-wrap:anywhere;font-size:13px}.nfcActions{justify-content:stretch}.nfcActions button{flex:1}.settingsMessage{background:var(--brand-100);border:1px solid var(--line);color:var(--brand-900);border-radius:12px;margin:0;padding:10px;font-size:13px;font-weight:800}.signatureBlock{border-top:1px solid #d7f4dc;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding-top:14px;display:grid}.signaturePreview{background:#fff;border:1px solid #d7f4dc;border-radius:12px;padding:12px;overflow:auto}.signatureBlock textarea{min-height:190px}.publicCardPage{background:linear-gradient(180deg, var(--brand-50), #f8fff8);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.publicCardShell{gap:16px;width:100%;max-width:580px;display:grid}.publicBusinessCardContact h1{color:#111827;margin:0;font-size:22px;line-height:1.1}.publicBusinessCardLogo{flex:0 0 55%;max-width:55%}.publicBusinessCardLogo img{object-fit:contain;width:100%;display:block}.publicSaveContactButton{border-radius:13px;width:100%;min-height:50px}.trackerControls{grid-template-columns:minmax(220px,280px) minmax(220px,280px) auto;align-items:end;gap:12px;display:grid}.trackerTable tr{cursor:default}.propertyDetailButton{box-shadow:none;color:var(--text);font-size:inherit;text-align:left;background:0 0;min-height:0;padding:0;font-weight:500}.propertyDetailButton:hover{color:var(--brand-800);text-decoration:underline}.clickableDetailRow:focus-visible{outline:2px solid var(--brand-600);outline-offset:-2px}.collectConnectViolationOverlay{z-index:70;background:#0a14109e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.collectConnectViolationModal{background:#fff;border-radius:16px;width:100%;max-width:1080px;max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 18px 60px #0000004d}.collectConnectViolationBody{gap:14px;padding:16px;display:grid}.collectConnectViolationMeta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0;display:grid}.wideMeta{grid-column:1/-1}.collectConnectViolationText{border:1px solid #ccefd3;border-radius:12px;gap:8px;padding:12px;display:grid}.collectConnectViolationText h3,.collectConnectViolationText p{margin:0}.collectConnectViolationActions{grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);align-items:stretch;gap:12px;display:grid}.collectConnectViolationActions .checkboxLine{align-self:stretch;margin:0}.collectConnectViolationActions .checkboxLine span{gap:2px;display:grid}.collectConnectViolationActions .checkboxLine small{color:var(--muted);font-weight:700}.singleViolationEmailForm{background:#fff;border:1px solid #ccefd3;border-radius:12px;grid-template-columns:minmax(200px,1fr) auto;align-items:end;gap:10px;padding:10px;display:grid}.secondaryLink{color:#126342;font-weight:700}.collectConnectViolationImages{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.collectConnectViolationImages a{min-width:0;display:block}.collectConnectViolationImages img{background:var(--surface-soft);object-fit:contain;border:1px solid #ccefd3;border-radius:12px;width:100%;max-height:520px;display:block}.goalBadge{text-align:center;border-radius:6px;min-width:58px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-block}.goalGood{color:#126342;background:#dff3e6}.goalClose{color:#185b9d;background:#dcecff}.goalWatch{color:#7a5200;background:#fff0cc}.goalLow{color:#982d22;background:#f7dfdc}.importLog{border-top:1px solid #e4ebe6;gap:12px;padding-top:14px;display:grid}.adminLogPanel{border:1px solid #dce7df;border-radius:12px;gap:10px;margin:14px 0;padding:12px;display:grid}.adminLogRow{color:var(--muted);border-top:1px solid #edf2ef;grid-template-columns:minmax(220px,1fr) minmax(220px,auto);align-items:start;gap:6px;padding-top:10px;display:grid}.adminLogRow span{gap:3px;display:grid}.adminLogRow strong{color:var(--text);text-transform:capitalize}.violationDetailOverlay{z-index:50;background:#0a14108c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.violationDetailModal{background:#fff;border-radius:16px;width:100%;max-width:980px;max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 18px 60px #00000047}.violationDetailHeader{color:#fff;background:#4a7836;justify-content:space-between;align-items:center;padding:16px;display:flex}.violationDetailHeader span{letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900;display:block}.violationDetailHeader h2{color:#fff;margin:3px 0 0}.modalClose{box-shadow:none;color:#fff;background:#ffffff29;border:1px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;min-height:38px;padding:0;display:flex}.violationDetailActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 16px 0;display:grid}.detailMeta{background:var(--surface-soft);color:var(--muted);border:1px solid #ccefd3;border-radius:12px;margin:14px 16px;padding:12px;font-size:13px}.detailTable{min-width:0}.detailTable th{color:#6b7280;background:#f9fafb}.detailTable td,.detailTable th{text-align:center}.detailTotalRow{font-weight:600}.detailFilterBar{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.detailFilterBar strong{color:var(--text)}@media (max-width:900px){.publicHome{grid-template-columns:1fr;align-items:stretch}.publicBrand{flex-direction:column;align-items:flex-start}.publicBrand h1{font-size:31px}.admin{grid-template-columns:1fr}.sideNav{flex-direction:row;align-items:center;min-height:0;padding:10px;position:static;overflow-x:auto}.sideMenu{min-width:max-content;display:flex}.menuTooltip{display:none}.adminShell{padding:12px}.dashboardTopbar,.topbarTools{flex-direction:column;align-items:flex-start}.weatherCard{border-radius:32px;width:100%;min-width:0;padding:16px 18px}.weatherPillTempLine{padding-right:0}.weatherPropertyBar,.weatherWorkspace,.weatherCurrentPanel{grid-template-columns:1fr}.weatherTemperature{text-align:left;justify-items:start}.weatherFacts span{justify-content:flex-start}.weatherHourlyStrip{grid-template-columns:repeat(3,minmax(110px,1fr))}.weatherRadarFrame{height:380px}.grid,.createUserForm,.bulkImportForm,.fieldGrid,.inlineForm,.quickForm,.routeListGrid,.trackerAdminActions,.trackerImportForm,.trackerSourceForm,.settingsForm,.lookupPanel .quickForm{grid-template-columns:1fr}.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.trackerControls,.trackerReportControls,.violationBatchEmailForm,.collectConnectViolationActions,.singleViolationEmailForm,.violationDetailActions,.collectorEmailList,.violationBatchList{grid-template-columns:1fr}.trackerEmailHeader,.violationBatchHeader{flex-direction:column;align-items:flex-start}.lookupControls,.lookupRow,.businessCardGrid,.businessCardForm,.buildingFloorGrid,.locationEditorForm,.settingsLayout,.signatureBlock,.settingsGrid,.settingsStatus{grid-template-columns:1fr}.settingsSubMenu{display:flex;overflow-x:auto}.settingsSubMenu button{min-width:max-content}.businessCardPreviewBody,.publicBusinessCardBody{display:grid}.businessCardLogo,.publicBusinessCardLogo{width:100%;max-width:100%}.topbar{flex-direction:column;align-items:flex-start}.dataRow{grid-template-columns:1fr}.rowActions,.formActions,.assignmentFooter,.buttonGroup{justify-content:flex-start}.formActions button,.assignmentFooter button,.buttonGroup button{width:100%}.rowEdit,.userRow,.userActions{grid-template-columns:1fr}}@media print{body.printViolationDetail .topbar,body.printViolationDetail .tabBar,body.printViolationDetail .trackerPanel>:not(.violationDetailOverlay),body.printViolationDetail .noPrint{display:none!important}body.printViolationDetail{background:#fff}body.printViolationDetail .admin{max-width:none;padding:0}body.printViolationDetail .violationDetailOverlay{background:#fff;align-items:stretch;padding:0;display:block;position:static;inset:auto}body.printViolationDetail .violationDetailModal{box-shadow:none;border-radius:0;max-width:none;max-height:none;overflow:visible}}
