/* Keep both concern views styled as tabs at every screen size. */
:is(#concerns_tabs, #industrial-reports-tabs){
    box-sizing:border-box;
    margin:20px auto;
    width:calc(100% - 32px);
    max-width:1000px;
    display:flex;
    gap:10px;
    border-bottom:1px solid var(--blue-dark);
}
:is(#concerns_form, #industrial-reports-form-panel){
    display:none;
    padding:20px;
}
:is(#concerns_tabs, #industrial-reports-tabs) > button{
    appearance:none;
    -webkit-appearance:none;
    box-sizing:border-box;
    flex:1 1 0;
    min-width:0;
    min-height:44px;
    font:inherit;
    color:var(--blue-dark);
    cursor:pointer;
    display:block;
    position:relative;
    top:1px;
    text-align:center;
    border:1px solid var(--blue-dark);
    border-radius:6px 6px 0 0;
    padding:12px 8px;
    background:var(--blue-medium);
}
:is(#concerns_tabs, #industrial-reports-tabs) > button[aria-pressed="true"]{
    background:var(--blue-light);
    border-bottom-color:var(--blue-light);
}
:is(#concerns_tabs, #industrial-reports-tabs) > button:focus-visible{
    outline:2px solid var(--blue-dark);
    outline-offset:3px;
}
:is(.concerns #map, #industrial-reports-map){
	width:100%;
	max-width:1000px;
	height:40vh;
	margin:10px;
	cursor: pointer;
}

:is(.concerns #map, #industrial-reports-map).is-unavailable{
	height:auto;
	min-height:0;
	margin:0 auto 12px;
	cursor:default;
}

:is(.concerns #map, #industrial-reports-map).is-unavailable .concerns-empty-state{
	margin: auto 20;
}

.concerns.map-unavailable :is(#concerns_form, #industrial-reports-form-panel){
	padding-top:8px;
}
.leaflet-container {
	z-index: 0 !important;
}
.notification{
	margin:20px;
	font-size:1.3em;
	//font-weight:200;
	color:var(--purple-medium);
}
.button-link{
	text-decoration:none;
	padding: 10px 40px;
	margin: 20px 0px 40px;
	font-size: 1rem;
	max-width: 400px;
	border-radius: 10px;
	box-sizing: border-box;
	font-family: Arial;
	text-align: center;
	color: white;
	background-color: var(--purple-medium);
}

:is(#latlng, #industrial-report-form){
	margin:20px;
	max-width:1000px;
}
:is(#latlng, #industrial-report-form) label{
	display:block;
	color:var(--blue-dark);
	font-weight:700;
	margin:0 0 6px;
}
:is(#latlng, #industrial-report-form) label textarea,
:is(#latlng, #industrial-report-form) label input[type="text"],
:is(#latlng, #industrial-report-form) label select{
	margin-top:8px;
}
:is(#concerns_list, #industrial-reports-list), :is(#concerns_form, #industrial-reports-form-panel){
	flex-direction: column;
	align-items: center;
}
:is(#concerns_list, #industrial-reports-list){
	box-sizing: border-box;
	width:100%;
	max-width:1000px;
	padding: 0px 5px 40px 5px;
}

.concerns-list-header{
	width: 100%;
	box-sizing: border-box;
	margin: 16px 0 12px;
	padding: 18px 20px;
	border-radius: 16px;
	background: linear-gradient(135deg, rgba(193, 226, 255, .45) 0%, rgba(255, 255, 255, .96) 100%);
	border: 1px solid rgba(17, 58, 92, .12);
	box-shadow: 0 10px 28px rgba(16, 42, 67, .08);
}

.concerns-list-header h3{
	margin: 0 0 6px;
	color: var(--blue-dark);
}

.concerns-list-header p{
	margin: 0;
	color: var(--blue-dark);
}

.concerns-list-header-top{
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
}

.concerns-list-header-copy{
	flex: 1 1 auto;
}

.concerns-per-page-control{
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 0 0 auto;
	font-weight: 700;
	color: var(--blue-dark);
}

.concerns-sort-control{
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 0 0 auto;
	font-weight: 700;
	color: var(--blue-dark);
}

.concerns-toolbar{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: end;
	justify-content: flex-end;
}

.concerns-toolbar > *{
	min-width: 0;
}

.concerns-date-control{
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 700;
	color: var(--blue-dark);
	flex: 1 1 13rem;
	inline-size: 100%;
	max-inline-size: 100%;
	min-inline-size: 0;
	overflow: visible;
}

.concerns-date-control input,
.concerns-per-page-control select,
.concerns-sort-control select{
	border: 1px solid var(--blue-dark);
	background: #fff;
	color: var(--blue-dark);
	border-radius: 0;
	padding: 10px 12px;
	font-size: 1rem;
	font-weight: 700;
	min-width: 92px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-inline-size: 0;
	display: block;
}

.concerns-date-control input{
	min-width: 0;
}

.concerns-date-shell{
	display:block;
	width:100%;
	padding-right:10px;
	box-sizing:border-box;
	border:1px solid var(--blue-medium);
	border-radius:10px;
	background:#fff;
	overflow:hidden;
}

.concerns-date-shell input{
	border:0 !important;
	outline:0 !important;
	background:transparent !important;
	box-shadow:none !important;
	margin-bottom:0 !important;
	padding:10px 0 10px 10px !important;
	width:100% !important;
	max-width:100% !important;
	min-width:0 !important;
	box-sizing:border-box !important;
}

.concerns-date-shell:focus-within{
	box-shadow:0px 0px 2px 1px var(--blue-dark);
}

.concerns-date-control input[type="date"],
#concerns-start-date,
#concerns-end-date{
	inline-size: 100% !important;
	max-inline-size: 100% !important;
	min-inline-size: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box;
	overflow: visible;
}

.concerns-date-control input[type="date"]::-webkit-date-and-time-value,
#concerns-start-date::-webkit-date-and-time-value,
#concerns-end-date::-webkit-date-and-time-value{
	min-width: 0;
}

.concerns-date-control input[type="date"]::-webkit-datetime-edit,
#concerns-start-date::-webkit-datetime-edit,
#concerns-end-date::-webkit-datetime-edit{
	padding: 0;
}

.concerns-date-control input[type="date"]::-webkit-calendar-picker-indicator,
#concerns-start-date::-webkit-calendar-picker-indicator,
#concerns-end-date::-webkit-calendar-picker-indicator{
	margin: 0;
	padding: 0 0 0 6px;
}

.concerns-filter-action{
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 700;
	color: var(--blue-dark);
}

.concerns-filter-action button{
	border: 1px solid var(--blue-dark);
	background: var(--blue-dark);
	color: #fff;
	padding: 10px 18px;
	border-radius: 0;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	min-height: 44px;
	white-space: nowrap;
}

.concerns-filter-action button:hover,
.concerns-filter-action button:focus-visible{
	background: #fff;
	color: var(--blue-dark);
}

.concerns-loading-state{
	width: 100%;
	box-sizing: border-box;
	margin: 16px 0 12px;
	padding: 18px 20px;
	border: 1px dashed var(--blue-dark);
	background: linear-gradient(90deg, rgba(193, 226, 255, .45) 0%, rgba(255,255,255,.96) 100%);
	color: var(--blue-dark);
	font-weight: 700;
}

.concerns-pagination{
	width: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 0 0 16px;
	padding: 14px 18px;
	border-radius: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	flex-wrap: nowrap;
}

.concerns-pagination[data-position="top"]{
	margin-top: 0;
	margin-bottom: 18px;
}

.concerns-pagination[data-position="bottom"]{
	margin-top: 18px;
	margin-bottom: 18px;
}

.concerns-pagination-summary{
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	flex: 1 1 auto;
	color: var(--blue-dark);
	text-align: center;
	flex-wrap: nowrap;
}

.concerns-pagination-label,
.concerns-pagination-total{
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.concerns-pagination-summary strong{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0 12px;
	border-radius: 0;
	border: 1px solid var(--blue-dark);
	background: #fff;
	color: var(--blue-dark);
	font-size: 1.05rem;
	box-shadow: none;
}

.concerns-pagination-btn{
	border: 1px solid var(--blue-dark);
	background: #fff;
	color: var(--blue-dark);
	padding: 12px 18px;
	border-radius: 0;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	min-width: 118px;
	transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
	box-shadow: none;
	white-space: nowrap;
}

.concerns-pagination-btn:hover:not([disabled]),
.concerns-pagination-btn:focus-visible:not([disabled]){
	transform: none;
	box-shadow: none;
	background: var(--blue-dark);
	color: #fff;
}

.concerns-pagination-btn[disabled]{
	opacity: .45;
	cursor: default;
	box-shadow: none;
	background: #fff;
	color: var(--blue-dark);
}

:is(#concerns_list, #industrial-reports-list) .item{
	box-sizing: border-box;
	padding: 14px 18px;
	margin: 0 0 12px;
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items: flex-start;
	gap: 14px;
	border-radius: 0;
	border: 1px solid transparent;
	box-shadow: 0 10px 22px rgba(16, 42, 67, .06);
	transition: transform .15s ease, box-shadow .15s ease;
}

:is(#concerns_list, #industrial-reports-list) .item:hover{
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(16, 42, 67, .1);
}

:is(#concerns_list, #industrial-reports-list) .item > span{
	flex: 1 1 0;
	min-width: 0;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

:is(#concerns_list, #industrial-reports-list) .item > span:first-child{
	flex: 0 0 210px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
}

:is(#concerns_list, #industrial-reports-list) .item > span:last-child{
	flex: 0 0 auto;
}
:is(#concerns_list, #industrial-reports-list) .wire{
	color:var(--purple-medium) !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border:1px solid var(--purple-medium) !important;
}
:is(#concerns_list, #industrial-reports-list) .other{
	color:var(--blue-dark) !important;
	background: linear-gradient(90deg, rgba(193, 226, 255, .8) 0%, rgba(255,255,255,.98) 100%) !important;
	border:1px solid var(--blue-dark) !important;
}
:is(#concerns_list, #industrial-reports-list) .pothole{
	color:#a11f1f !important;
	background: #ffdede !important;
	border:1px solid #a11f1f !important;
	box-shadow: inset 0 0 0 1px rgba(161, 31, 31, .12), 0 10px 22px rgba(16, 42, 67, .06) !important;
}
:is(#concerns_list, #industrial-reports-list) .tree{
	color:var(--green-dark) !important;
	background: linear-gradient(90deg, var(--green-light) 0%, rgba(255,255,255,.98) 100%) !important;
	border:1px solid var(--green-dark) !important;
}

:is(#concerns_list, #industrial-reports-list) .item > span{
	background: transparent !important;
}

.concerns-empty-state{
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 12px;
	padding: 16px 18px;
	border: 1px dashed var(--blue-dark);
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	color: var(--blue-dark);
}
:is(#latlng, #industrial-report-form) textarea, :is(#latlng, #industrial-report-form) input[type="text"], :is(#latlng, #industrial-report-form) select{
	width: 100%;
	border: 0px solid white;
	outline: 1px solid var(--blue-medium);
	padding: 10px;
	margin-bottom: 10px;
	line-height: 1em;
	color: var(--blue-dark);
	font-size: 1.2rem;
	border-radius: 10px;
	box-sizing: border-box;
	background:#fff;
}
:is(#latlng, #industrial-report-form) textarea:focus, :is(#latlng, #industrial-report-form) input[type="text"]:focus, :is(#latlng, #industrial-report-form) select:focus{
	box-shadow:0px 0px 2px 1px var(--blue-dark);
}
:is(#latlng, #industrial-report-form) input[type="submit"]{
	background:var(--blue-dark);
	border:0px solid white;
	outline:0px solid var(--blue-dark);
	padding:10px;
	margin:10px 0px;
	font-size:1.2rem;
	width:100%;
	color:white;
	border-radius:10px;
	box-sizing:border-box;
}

.city-handoff-fields{
	margin: 20px 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	border: 0;
}

.city-handoff-fields h4,
.city-311-search-header h3,
.city-submit-handoff h3{
	margin: 0 0 8px;
	color: var(--blue-dark);
	font-size: 1rem;
	font-weight: 700;
}

.city-handoff-fields p,
.city-311-search-header p,
.city-submit-handoff p{
	margin: 0 0 14px;
}

.address-lookup-status{
	min-height: 1.2em;
	font-weight: 700;
	color: var(--blue-dark);
}

.address-lookup-status.is-error{
	color: #9b1c1c;
}

.city-311-search-panel,
.city-submit-handoff{
	width: 100%;
	box-sizing: border-box;
	margin: 16px 0;
	padding: 20px;
	border-radius: 14px;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border: 1px solid rgba(0,0,0,.08);
	box-shadow: 0 8px 30px rgba(16, 42, 67, .08);
}

.city-311-search-form{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	align-items: end;
}

.city-311-search-form label{
	font-weight: 700;
	color: var(--blue-dark);
}

.city-311-search-form input{
	width: 100%;
	border: 0;
	outline: 1px solid var(--blue-medium);
	padding: 10px;
	font-size: 1rem;
	border-radius: 10px;
	box-sizing: border-box;
	background: #fff;
}

.city-311-search-form button{
	grid-column: 1 / -1;
	border: 0;
	background: var(--blue-dark);
	color: #fff;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 1rem;
	cursor: pointer;
}

.city-311-search-status{
	margin: 14px 0 0;
	font-weight: 700;
	color: var(--blue-dark);
}

.city-311-search-status.is-error{
	color: #9b1c1c;
}

.city-311-results{
	display: grid;
	gap: 14px;
	margin-top: 16px;
}

.city-311-ticket{
	padding: 16px;
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,.08);
	background: linear-gradient(135deg, rgba(240,248,255,.9) 0%, rgba(255,255,255,.98) 100%);
}

.city-311-ticket-top{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
}

.city-311-ticket-top h4{
	margin: 0;
	color: var(--blue-dark);
}

.city-311-ticket-status{
	display: inline-flex;
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--purple-light);
	color: var(--purple-medium);
	font-weight: 700;
}

.city-311-ticket-location,
.city-311-ticket-created{
	margin: 8px 0 0;
}

.city-311-ticket-notes{
	margin: 14px 0 0;
	padding-left: 18px;
}

.city-311-ticket-notes li{
	margin-bottom: 10px;
}

.city-311-ticket-notes li span{
	display: block;
	margin-top: 4px;
}

.city-311-ticket-notes li.is-empty{
	list-style: none;
	margin-left: -18px;
	opacity: .75;
}

.city-311-empty{
	margin: 0;
	padding: 16px;
	border-radius: 10px;
	background: rgba(255,255,255,.8);
	border: 1px dashed rgba(0,0,0,.18);
}

.city-311-pagination{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 16px;
}

.city-311-pagination button{
	border: 0;
	background: var(--purple-medium);
	color: #fff;
	padding: 10px 14px;
	border-radius: 999px;
	cursor: pointer;
}

.city-311-pagination button[disabled]{
	opacity: .5;
	cursor: default;
}

.city-submit-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 14px;
}

button.button-link{
	border: 0;
	cursor: pointer;
}

.city-open-form{
	background-color: var(--blue-dark);
}

.city-submit-feedback{
	min-height: 1.2em;
	font-weight: 700;
	color: var(--green-dark);
}

.city-submit-preview{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.city-submit-preview div{
	padding: 12px;
	border-radius: 10px;
	background: rgba(255,255,255,.78);
	border: 1px solid rgba(0,0,0,.06);
}

.city-submit-preview strong,
.city-submit-preview span{
	display: block;
}

.city-submit-preview span{
	margin-top: 6px;
	word-break: break-word;
}

@media only screen and (max-width:900px){
	:is(#concerns_list, #industrial-reports-list) .item{
		flex-direction: column;
		gap: 8px;
	}

	.concerns-list-header-top{
		flex-direction: column;
		align-items: stretch;
	}

	.concerns-toolbar{
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: stretch;
		width: 100%;
	}

	.concerns-date-control{
		flex: 1 1 100%;
		width: 100%;
		min-width: 0;
	}

	.concerns-per-page-control,
	.concerns-sort-control{
		flex: 1 1 180px;
		width: auto;
		min-width: 0;
	}

	.concerns-filter-action{
		flex: 0 0 auto;
	}

	.concerns-date-control input,
	.concerns-per-page-control select,
	.concerns-sort-control select{
		min-width: 0;
		width: 100%;
		box-sizing: border-box;
		max-width: 100%;
		min-inline-size: 0;
	}

	:is(#concerns_list, #industrial-reports-list) .item > span:first-child,
	:is(#concerns_list, #industrial-reports-list) .item > span:last-child{
		flex: 1 1 auto;
	}

	.concerns-pagination{
		flex-direction: row;
		align-items: center;
		padding: 10px 0;
		gap: 10px;
		overflow-x: auto;
	}

	.concerns-pagination-summary{
		flex: 0 0 auto;
	}

	.concerns-pagination-btn{
		width: auto;
		min-width: 96px;
		flex: 0 0 auto;
	}

	.city-311-search-form,
	.city-submit-preview{
		grid-template-columns: 1fr;
	}

	.city-311-ticket-top{
		flex-direction: column;
	}
}

@media only screen and (max-width:600px){
	.concerns-list-header{
		padding: 16px 14px;
	}

	.concerns-toolbar{
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.concerns-date-control,
	.concerns-per-page-control,
	.concerns-sort-control,
	.concerns-filter-action{
		width: 100%;
		flex: 1 1 auto;
	}

	.concerns-filter-action button{
		width: 100%;
	}

	.concerns-date-control input{
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-inline-size: 0;
		font-size: 16px;
		padding: 10px;
	}

	.concerns-pagination{
		gap: 8px;
	}

	.concerns-pagination-btn{
		min-width: 88px;
		padding: 10px 12px;
	}
}






























/* --- Concerns as cards --- */
:is(#concerns_list, #industrial-reports-list) .item{
  /* override the earlier flex row */
  display: grid !important;
  box-sizing: border-box;
  width: 100%;
  margin: 10px 0px;
  padding: 16px 20px;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);

  grid-template-areas:
    "type interact"
    "desc desc"
    "addr addr"
    "user user"
    "time time";   /* extra row on the right to stack username + time */
  grid-template-columns: 1fr auto;
  row-gap: 2px;
  column-gap: 12px;

  /* neutralize the old per-type top/bottom borders */
  border: 1px solid transparent;
  border-left: 10px solid transparent;
}



/* map spans to areas */
:is(#concerns_list, #industrial-reports-list) .item > span:nth-child(1){
  grid-area: type; 
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.1rem;
  line-height: 1.2;
}
:is(#concerns_list, #industrial-reports-list) .item > span:nth-child(6){
  grid-area: interact; 
  font-size:1rem;
}
:is(#concerns_list, #industrial-reports-list) .item > span:nth-child(6) > img{
  width:25px;
}
:is(#concerns_list, #industrial-reports-list) .item > span:nth-child(2){
  grid-area: desc; 
  font-size: 1rem;
  line-height: 1.1;
}
:is(#concerns_list, #industrial-reports-list) .item > span:nth-child(3){
  grid-area: addr; 
  opacity: .9;
}

/* Submitted by */
:is(#concerns_list, #industrial-reports-list) .item > span:nth-child(4){
  grid-area: user;
  justify-self: end;
  text-align: right;
  font-size: .85rem;
  opacity: .7;
  line-height: 1;
}

/* Timestamp */
:is(#concerns_list, #industrial-reports-list) .item > span:nth-child(5){
  grid-area: time;
  justify-self: end;
  text-align: right;
  font-size: .85rem;
  opacity: .7;
  line-height: 1;
}




/* Per-type themes with gradient card bg (left → white) */
:is(#concerns_list, #industrial-reports-list) .wire{
  color: var(--purple-medium);
  background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
  border-color: var(--purple-medium);
}
:is(#concerns_list, #industrial-reports-list) .other{
  color: var(--green-dark);
  background: linear-gradient(to left, var(--green-light) 0%, #fff 70%);
  border-color: var(--green-dark);
}
:is(#concerns_list, #industrial-reports-list) .pothole{
  color: var(--stats-dark);
  background: linear-gradient(to left, var(--stats-light) 0%, #fff 70%);
  border-color: var(--stats-dark);
}
:is(#concerns_list, #industrial-reports-list) .tree{
  color: var(--blue-dark);
  background: linear-gradient(to left, var(--blue-medium) 0%, #fff 70%);
  border-color: var(--blue-dark);
}



.upvote-icon {
  display: inline-block;
  width: 25px;
  height: 25px;
  background-color: gray; /* default color */
  -webkit-mask: url('/images/upvote.svg') no-repeat center;
  -webkit-mask-size: contain;
  mask: url('/images/upvote.svg') no-repeat center;
  mask-size: contain;
}


:is(#concerns_list, #industrial-reports-list) .wire .upvote-icon { background-color: var(--purple-medium); }
:is(#concerns_list, #industrial-reports-list) .other .upvote-icon { background-color: var(--green-dark); }
:is(#concerns_list, #industrial-reports-list) .pothole .upvote-icon { background-color: var(--stats-dark); }
:is(#concerns_list, #industrial-reports-list) .tree .upvote-icon { background-color: var(--blue-dark); }

/* --- Concerns card refresh --- */
:is(#concerns_list, #industrial-reports-list) .concern-card{
	display: block !important;
	position: relative;
	width: 100%;
	margin: 12px 0;
	padding: 0;
	border-radius: 16px;
	border: 1px solid rgba(17, 58, 92, .14) !important;
	border-left-width: 8px;
	box-shadow: 0 14px 28px rgba(16, 42, 67, .08);
	overflow: hidden;
	cursor: pointer;
	transition: box-shadow .18s ease, transform .18s ease;
}

:is(#concerns_list, #industrial-reports-list) .concern-card:hover{
	transform: translateY(-2px);
	box-shadow: 0 18px 34px rgba(16, 42, 67, .12);
}

:is(#concerns_list, #industrial-reports-list) .concern-card.wire{
	color: var(--purple-medium) !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(108, 74, 164, .35) !important;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.other{
	color: var(--blue-dark) !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(18, 58, 92, .25) !important;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.pothole{
	color: #ff5e66 !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(255, 94, 102, .45) !important;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.tree{
	color: var(--green-dark) !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(33, 110, 57, .3) !important;
}

.concern-card-summary{
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	padding: 18px 20px;
	align-items: start;
}

.concern-card-main{
	min-width: 0;
}

.concern-card-topline{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}

.concern-card-type{
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.9);
	font-size: .9rem;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: inherit;
}

.concern-card-source{
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: inherit;
	opacity: .82;
}

.concern-card-address,
.concern-card-preview,
.concern-card-date,
.concern-card-toggle-hint,
.concern-card-details p{
	margin: 0;
}

.concern-card-address{
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
	color: inherit;
}

.concern-card-preview{
	margin-top: 8px;
	font-size: .98rem;
	line-height: 1.5;
	color: inherit;
}

.concern-card-side{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	min-width: 170px;
	text-align: right;
}

.concern-card-side .concern-share-button{
	align-self:flex-end;
}

.concern-card-date{
	font-size: .86rem;
	font-weight: 700;
	line-height: 1.4;
	color: inherit;
	opacity: .78;
}

.concern-upvote-button,
.concern-upvote-static{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 34px;
	padding: 7px 11px;
	border-radius: 999px;
	font-size: .77rem;
	font-weight: 800;
	letter-spacing: .03em;
	line-height: 1;
}

.concern-upvote-button{
	border: 1px solid currentColor;
	background: rgba(255,255,255,.78);
	color: inherit;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.concern-upvote-button:hover,
.concern-upvote-button:focus-visible{
	background: rgba(255,255,255,.92);
	transform: translateY(-1px);
	box-shadow: 0 8px 16px rgba(16, 42, 67, .08);
}

.concern-upvote-button[disabled]{
	cursor: default;
	opacity: .96;
	transform: none;
	box-shadow: none;
}

.concern-upvote-button.is-voted{
	background: linear-gradient(135deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 100%);
	color: #fff;
	border-color: transparent;
}

.concern-upvote-button.is-loading{
	opacity: .7;
}

.concern-upvote-count{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	min-height: 24px;
	padding: 0 7px;
	border-radius: 999px;
	background: rgba(18, 60, 104, .08);
	font-size: .82rem;
	font-weight: 900;
	line-height: 1;
}

.concern-upvote-button.is-voted .concern-upvote-count{
	background: rgba(255,255,255,.2);
}

.concern-upvote-static{
	border: 1px dashed rgba(18,60,104,.2);
	background: rgba(255,255,255,.52);
	color: rgba(18,60,104,.68);
}

.concern-card.concern-group-roads .concern-upvote-button.is-voted{
	background: linear-gradient(135deg, rgba(255, 94, 102, .94) 0%, rgba(255, 158, 164, .88) 100%);
}

.concern-card.concern-group-sidewalks .concern-upvote-button.is-voted{
	background: linear-gradient(135deg, rgba(31, 138, 168, .94) 0%, rgba(133, 214, 233, .88) 100%);
}

.concern-card.concern-group-trees_brush .concern-upvote-button.is-voted{
	background: linear-gradient(135deg, rgba(74, 166, 113, .94) 0%, rgba(152, 214, 175, .88) 100%);
}

.concern-card.concern-group-trash_dumping .concern-upvote-button.is-voted{
	background: linear-gradient(135deg, rgba(255, 122, 61, .96) 0%, rgba(255, 190, 153, .9) 100%);
}

.concern-card.concern-group-property_blight .concern-upvote-button.is-voted{
	background: linear-gradient(135deg, rgba(128, 94, 216, .94) 0%, rgba(190, 168, 245, .88) 100%);
}

.concern-card.concern-group-snow_winter .concern-upvote-button.is-voted{
	background: linear-gradient(135deg, rgba(74, 176, 222, .94) 0%, rgba(168, 223, 245, .88) 100%);
}

.concern-card.concern-group-other .concern-upvote-button.is-voted{
	background: linear-gradient(135deg, rgba(44, 123, 229, .94) 0%, rgba(142, 184, 255, .88) 100%);
}

.concern-card-toggle-hint{
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .03em;
	text-transform: none;
	color: inherit;
	opacity: .72;
}

.concern-card[data-expanded="1"] .concern-card-toggle-hint::before{
	content: "Tap for less details";
}

.concern-card[data-expanded="0"] .concern-card-toggle-hint::before{
	content: "Tap for more details";
}

.concern-card-toggle-hint{
	font-size: 0;
}

.concern-card-details{
	display: none;
	padding: 0 20px 20px;
	border-top: 1px solid rgba(17, 58, 92, .12);
	background: rgba(255,255,255,.62);
}

.concern-card[data-expanded="1"] .concern-card-details{
	display: block;
}

.concern-card-detail-grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	padding-top: 16px;
}

.concern-card-detail-grid strong{
	display: block;
	margin-bottom: 6px;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: inherit;
	opacity: .78;
}

.concern-card-detail-grid p{
	font-size: .98rem;
	line-height: 1.5;
	color: inherit;
	overflow-wrap: anywhere;
}

.concern-card-meta-row{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.concern-meta-pill{
	display: inline-flex;
	align-items: center;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	border: 1px solid rgba(17, 58, 92, .14);
	font-size: .84rem;
	font-weight: 700;
	color: inherit;
}

.concern-card-actions{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	width: 100%;
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid rgba(17, 58, 92, .12);
}

.concern-share-button,
.nh-share-button{
	border:0;
	border-radius:8px;
	padding:8px 12px;
	background:var(--stats-dark);
	color:#fff;
	font-weight:800;
	cursor:pointer;
}

.concern-comments-section{
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid rgba(17, 58, 92, .12);
}

.concern-sync-log-section{
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid rgba(17, 58, 92, .12);
}

.concern-sync-log-details{
	border: 1px solid rgba(17, 58, 92, .12);
	border-radius: 12px;
	background: rgba(255,255,255,.72);
	overflow: hidden;
}

.concern-sync-log-summary{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	cursor: pointer;
	list-style: none;
	font-weight: 700;
}

.concern-sync-log-summary::-webkit-details-marker{
	display: none;
}

.concern-sync-log-title{
	font-size: .92rem;
	letter-spacing: .03em;
	text-transform: uppercase;
	opacity: .84;
}

.concern-sync-log-count{
	font-size: .84rem;
	font-weight: 700;
	opacity: .7;
}

.concern-sync-log-list{
	padding: 0 14px 14px;
	display: grid;
	gap: 12px;
}

.concern-sync-log-item{
	padding: 12px;
	border-radius: 10px;
	background: rgba(230,243,255,.42);
	border: 1px solid rgba(17, 58, 92, .1);
}

.concern-sync-log-item-top{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 6px;
}

.concern-sync-log-event{
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.concern-sync-log-date,
.concern-sync-log-source{
	font-size: .82rem;
	opacity: .72;
}

.concern-sync-log-summary-text{
	margin-top: 6px;
	font-size: .94rem;
	line-height: 1.45;
}

.concern-sync-log-change-list{
	display: grid;
	gap: 8px;
	margin-top: 10px;
}

.concern-sync-log-change-row{
	display: grid;
	gap: 4px;
	padding: 8px 10px;
	border-radius: 8px;
	background: rgba(255,255,255,.72);
}

.concern-sync-log-change-row strong{
	font-size: .75rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	opacity: .8;
}

.concern-sync-log-change-row span{
	font-size: .92rem;
	line-height: 1.4;
}

.concern-sync-log-empty{
	font-size: .92rem;
	opacity: .74;
}

.concern-comments-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}

.concern-comments-header strong{
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: inherit;
	opacity: .82;
}

.concern-comments-count{
	font-size: .82rem;
	font-weight: 700;
	color: inherit;
	opacity: .76;
}

.concern-comments-list{
	display: grid;
	gap: 12px;
	max-height: 240px;
	overflow-y: auto;
	padding-right: 6px;
	align-content: start;
}

.concern-comment-item{
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(255,255,255,.76);
	border: 1px solid rgba(17, 58, 92, .12);
}

.concern-comment-meta{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
	font-size: .8rem;
}

.concern-comment-author{
	font-weight: 800;
	color: inherit;
}

.concern-comment-date{
	opacity: .72;
}

.concern-comment-body{
	margin: 0;
	font-size: .94rem;
	line-height: 1.5;
	color: inherit;
	overflow-wrap: anywhere;
}

.concern-comments-empty,
.concern-comment-auth-note{
	margin: 0;
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(255,255,255,.56);
	border: 1px dashed rgba(17, 58, 92, .18);
	font-size: .9rem;
	font-weight: 700;
	color: inherit;
	opacity: .82;
}

.concern-comment-form{
	display: grid;
	gap: 10px;
	margin-top: 14px;
}

.concern-comment-form label{
	display: grid;
	gap: 6px;
	font-weight: 800;
	color: inherit;
}

.concern-comment-form label span{
	font-size: .78rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .78;
}

.concern-comment-input{
	width: 100%;
	box-sizing: border-box;
	min-height: 92px;
	padding: 12px 14px;
	border-radius: 12px;
	border: 1px solid rgba(17, 58, 92, .18);
	background: rgba(255,255,255,.9);
	color: inherit;
	font: inherit;
	line-height: 1.5;
	resize: vertical;
}

.concern-comment-input:focus{
	outline: none;
	box-shadow: 0 0 0 2px rgba(17, 58, 92, .14);
}

.concern-comment-form-actions{
	display: flex;
	justify-content: flex-end;
}

.concern-comment-submit{
	border: 1px solid currentColor;
	background: rgba(255,255,255,.78);
	color: inherit;
	padding: 10px 14px;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .04em;
	cursor: pointer;
	transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.concern-comment-submit:hover,
.concern-comment-submit:focus-visible{
	background: rgba(255,255,255,.94);
	transform: translateY(-1px);
	box-shadow: 0 8px 16px rgba(16, 42, 67, .08);
}

.concern-comment-form.is-loading{
	opacity: .72;
}

.concern-focus-map{
	display: block;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid currentColor;
	background: rgba(255,255,255,.72);
	color: inherit;
	padding: 14px 16px;
	border-radius: 12px;
	font-size: .96rem;
	font-weight: 800;
	letter-spacing: .03em;
	text-align: center;
	cursor: pointer;
	box-shadow: none;
	transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.concern-focus-map:hover,
.concern-focus-map:focus-visible{
	background: rgba(255,255,255,.9);
	color: inherit;
	transform: translateY(-1px);
	box-shadow: 0 10px 18px rgba(16, 42, 67, .08);
}

.concern-detail-note{
	font-size: .9rem;
	font-weight: 700;
	color: rgba(17, 58, 92, .7);
}

@media only screen and (max-width:900px){
	.concern-card-summary{
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.concern-card-side{
		align-items: flex-start;
		min-width: 0;
		text-align: left;
	}

	.concern-card-detail-grid{
		grid-template-columns: 1fr;
	}
}

/* Grouped concern layer sweep */
.concerns fieldset{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	padding: 14px 16px;
	border: 1px solid rgba(18, 60, 104, .14);
	border-radius: 14px;
	background: rgba(255,255,255,.82);
}

.concerns fieldset legend{
	padding: 0 8px;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--blue-dark);
}

.map-layer-label{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid rgba(18, 60, 104, .14);
	background: rgba(255,255,255,.92);
	font-size: .88rem;
	font-weight: 700;
	line-height: 1;
}

.map-layer-label input{
	margin: 0;
}

.map-layer-roads{
	color: #ff5e66;
	background: rgba(255, 233, 234, .96);
	border-color: rgba(255, 94, 102, .34);
}

.map-layer-sidewalks{
	color: #3b8fcf;
	background: rgba(232, 242, 255, .96);
	border-color: rgba(59, 143, 207, .34);
}

.map-layer-trees-brush{
	color: var(--green-dark);
	background: rgba(228, 247, 233, .96);
	border-color: rgba(74, 217, 111, .3);
}

.map-layer-trash-dumping{
	color: #ff7a3d;
	background: rgba(255, 239, 230, .96);
	border-color: rgba(255, 122, 61, .34);
}

.map-layer-property-blight{
	color: var(--purple-medium);
	background: rgba(239, 232, 255, .96);
	border-color: rgba(153, 147, 255, .34);
}

.map-layer-snow-winter{
	color: #4ea9dd;
	background: rgba(230, 247, 255, .96);
	border-color: rgba(78, 169, 221, .34);
}

.map-layer-other{
	color: var(--blue-dark);
	background: rgba(227, 239, 255, .96);
	border-color: rgba(18, 60, 104, .28);
}

:is(#concerns_list, #industrial-reports-list) .concern-card .concern-card-group{
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.78);
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-roads{
	color: #ff5e66 !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(255, 94, 102, .45) !important;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-sidewalks{
	color: #3b8fcf !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(59, 143, 207, .34) !important;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-trees_brush{
	color: var(--green-dark) !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(74, 217, 111, .34) !important;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-trash_dumping{
	color: #ff7a3d !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(255, 122, 61, .34) !important;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-property_blight{
	color: var(--purple-medium) !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(153, 147, 255, .34) !important;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-snow_winter{
	color: #4ea9dd !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(78, 169, 221, .38) !important;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-other{
	color: var(--blue-dark) !important;
	background:var(--nh-card-bg, rgba(255, 255, 255, .85)) !important;
	border-color: rgba(18, 60, 104, .28) !important;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-roads .concern-card-group{
	color: #ff5e66;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-sidewalks .concern-card-group{
	color: #3b8fcf;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-trees_brush .concern-card-group{
	color: var(--green-dark);
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-trash_dumping .concern-card-group{
	color: #ff7a3d;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-property_blight .concern-card-group{
	color: var(--purple-medium);
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-snow_winter .concern-card-group{
	color: #4ea9dd;
}

:is(#concerns_list, #industrial-reports-list) .concern-card.concern-group-other .concern-card-group{
	color: var(--blue-dark);
}

:is(#concerns_list, #industrial-reports-list) .concern-card .concern-card-type,
:is(#concerns_list, #industrial-reports-list) .concern-card .concern-meta-pill{
	border: 1px solid currentColor;
}

:is(#concerns_list, #industrial-reports-list) .concern-card .concern-card-details{
	background: rgba(255,255,255,.66);
}

:is(#concerns_list, #industrial-reports-list) .concern-card-map-focused{
	box-shadow: 0 0 0 3px rgba(44, 123, 229, .2), 0 18px 34px rgba(16, 42, 67, .16) !important;
	transform: translateY(-2px);
}

.concern-map-popup{
	min-width: min(320px, 70vw);
	max-width: 380px;
	padding: 6px 12px 6px 6px;
	color: var(--blue-dark);
	box-sizing: border-box;
}

.concern-map-popup-meta{
	margin-bottom: 6px;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: rgba(18, 60, 104, .74);
}

.concern-map-popup-meta-secondary{
	margin-bottom: 4px;
	font-size: .76rem;
	font-weight: 800;
}

.concern-map-popup-meta-address{
	margin-bottom: 10px;
	font-size: .84rem;
	font-weight: 700;
	letter-spacing: normal;
	text-transform: none;
	line-height: 1.35;
	color: rgba(18, 60, 104, .86);
	overflow-wrap: anywhere;
}

.concern-map-popup-row{
	display: grid;
	grid-template-columns: 78px 1fr;
	gap: 10px;
	align-items: start;
	margin-bottom: 10px;
	font-size: .92rem;
	line-height: 1.45;
}

.concern-map-popup-row strong{
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(18, 60, 104, .72);
}

.concern-map-popup-row span,
.concern-map-popup-row p{
	margin: 0;
	color: var(--blue-dark);
	overflow-wrap: anywhere;
}

.concern-map-popup-description{
	grid-template-columns: 1fr;
	gap: 6px;
	padding-right: 4px;
}

.concern-map-popup-description-box{
	max-height: 180px;
	overflow-y: auto;
	padding: 10px 12px;
	border: 1px solid rgba(18, 60, 104, .14);
	border-radius: 10px;
	background: rgba(255,255,255,.84);
	box-sizing: border-box;
}

.concern-map-popup-description-box p{
	margin: 0;
	white-space: pre-wrap;
}

.concern-popup-focus{
	display: block;
	width: calc(100% - 4px);
	margin-top: 12px;
	border: 1px solid var(--blue-dark);
	background: rgba(230,243,255,.88);
	color: var(--blue-dark);
	padding: 12px 14px;
	border-radius: 12px;
	font-size: .92rem;
	font-weight: 800;
	letter-spacing: .03em;
	text-align: center;
	cursor: pointer;
	margin-right: 4px;
}

.concern-popup-focus:hover,
.concern-popup-focus:focus-visible{
	background: var(--blue-dark);
	color: #fff;
}


.concerns-toolbar,
.concerns-toolbar > *,
.concerns-toolbar .concerns-date-control,
.concerns-toolbar .concerns-per-page-control,
.concerns-toolbar .concerns-sort-control,
.concerns-toolbar .concerns-filter-action{
	min-width: 0;
	max-width: 100%;
}

.concerns-date-control{
	max-inline-size: 100%;
}

.concerns-toolbar input[type="date"],
.concerns-toolbar input[type="text"],
.concerns-toolbar select,
.concerns-toolbar button,
#date_from,
#date_to,
#from_date,
#to_date{
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	inline-size: 100%;
	max-inline-size: 100%;
	box-sizing: border-box;
}

.concerns-toolbar input[type="date"]{
	padding-right: 10px;
	overflow: visible;
}

.concerns-status-control{
	display:flex;
	flex-direction:column;
	gap:6px;
	flex:0 0 auto;
	font-weight:700;
	color:var(--blue-dark);
}

.concerns-date-control input,
.concerns-per-page-control select,
.concerns-sort-control select,
.concerns-status-control select{
	border:0px solid white;
	outline:1px solid var(--blue-medium);
	background:#fff;
	color:var(--blue-dark);
	border-radius:10px;
	padding:10px;
	font-size:1.2rem;
	font-weight:400;
	line-height:1em;
}

.concerns-date-control input:focus,
.concerns-per-page-control select:focus,
.concerns-sort-control select:focus,
.concerns-status-control select:focus{
	box-shadow:0px 0px 2px 1px var(--blue-dark);
}

.concerns-filter-action button{
	border:0px solid white;
	background:var(--blue-dark);
	color:#fff;
	outline:0px solid var(--blue-dark);
	padding:10px;
	border-radius:10px;
	font-size:1.2rem;
	font-weight:400;
	box-sizing:border-box;
}

.concerns-filter-action button:hover,
.concerns-filter-action button:focus-visible{
	background:var(--blue-dark);
	color:#fff;
	box-shadow:0px 0px 2px 1px var(--blue-dark);
}

@media only screen and (max-width:900px){
	.concerns-status-control{
		flex:1 1 180px;
		width:auto;
		min-width:0;
	}

	.concerns-status-control select{
		min-width:0;
		width:100%;
		box-sizing:border-box;
		max-width:100%;
		min-inline-size:0;
	}
}

@media only screen and (max-width:700px){
	.concerns-status-control{
		width:100%;
		flex:1 1 auto;
	}
}

.concerns-toolbar .concerns-status-control{
	min-width:0;
	max-width:100%;
}

#concerns-start-date,
#concerns-end-date,
.concerns-date-control input[type="date"]{
	padding-right:0 !important;
}

.concerns-pagination-summary strong{
	border-radius:10px;
	outline:1px solid var(--blue-medium);
	border:0;
	font-size:1.2rem;
	font-weight:400;
}

.concerns-pagination-btn{
	border:0;
	outline:1px solid var(--blue-medium);
	padding:10px 18px;
	border-radius:10px;
	font-size:1.2rem;
	font-weight:400;
}

.concerns-pagination-btn[disabled]{
	opacity:.45;
}

.concern-upvote-static .concern-upvote-count{
	background:rgba(18, 60, 104, .08);
	color:inherit;
}

.concerns-address-control{
	display:flex;
	flex-direction:column;
	gap:6px;
	flex:1 1 13rem;
	font-weight:700;
	color:var(--blue-dark);
	min-width:0;
	max-width:100%;
}

.concerns-address-control input{
	border:0px solid white;
	outline:1px solid var(--blue-medium);
	background:#fff;
	color:var(--blue-dark);
	border-radius:10px;
	padding:10px;
	font-size:1.2rem;
	font-weight:400;
	line-height:1em;
	width:100%;
	max-width:100%;
	min-width:0;
	box-sizing:border-box;
}

.concerns-address-control input:focus{
	box-shadow:0px 0px 2px 1px var(--blue-dark);
}

.concerns-ticket-control{
	display:flex;
	flex-direction:column;
	gap:6px;
	flex:1 1 13rem;
	font-weight:700;
	color:var(--blue-dark);
	min-width:0;
	max-width:100%;
}

.concerns-ticket-control input{
	border:0px solid white;
	outline:1px solid var(--blue-medium);
	background:#fff;
	color:var(--blue-dark);
	border-radius:10px;
	padding:10px;
	font-size:1.2rem;
	font-weight:400;
	line-height:1em;
	width:100%;
	box-sizing:border-box;
}

.concerns-ticket-control input:focus{
	box-shadow:0px 0px 2px 1px var(--blue-dark);
}

.concern-upvote-static{
	border:1px solid currentColor;
	background:rgba(255,255,255,.78);
	color:inherit;
	cursor:default;
}

@media only screen and (max-width:900px){
	.concerns-address-control{
		flex:1 1 100%;
		width:100%;
	}
	.concerns-ticket-control{
		flex:1 1 100%;
		width:100%;
	}
}

@media only screen and (max-width:700px){
	.concerns-address-control{
		width:100%;
		flex:1 1 auto;
	}
	.concerns-ticket-control{
		width:100%;
		flex:1 1 auto;
	}
}

/* Quiet, centered city outage notice. */
#main .concerns-city-status {
    box-sizing:border-box;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    gap:8px;
    width:calc(100% - 32px);
    max-width:1000px;
    margin:14px auto 0;
    padding:0;
    color:var(--purple-medium);
    font:inherit;
    font-size:.9rem;
    line-height:1.5;
    text-align:center;
}
#main .concerns-city-status-text {
    min-width:0;
    margin:0;
    color:inherit;
    font:inherit;
    text-align:center;
    white-space:normal;
}
.concerns-city-status-icon {
    flex:0 0 1.15em;
    width:1.15em;
    height:1.15em;
    margin-top:.175em;
    color:inherit;
}
.concerns-city-status[hidden] { display:none !important; }

/* Pin tips mark the exact reported coordinates on every base-map provider. */
.concern-map-pin { background: transparent; border: 0; }
.concern-map-pin > span {
    display: block; position: absolute; top: 5px; left: 1px;
    box-sizing: border-box; width: 22px; height: 22px;
    border: 2px solid #fff; border-radius: 50% 50% 0 50%;
    transform: rotate(45deg); box-shadow: 0 2px 5px #0f172a66;
}
.concern-map-pin > span::after {
    content: ''; position: absolute; top: 5px; left: 5px;
    width: 8px; height: 8px; border-radius: 50%; background: #fff;
}
.concern-map-pin-selected > span { border-color: currentColor; }
.concern-map-pin-selected > span::after { background: currentColor; }
.concern-map-pin:focus-visible { outline: 3px solid #173c68; outline-offset: 3px; }
