body {
	font-family: Verdana, Arial, Helvetica;
	font-size: 10px;
	margin: 0px;
	padding: 0px;
	color: #003366;
}

td {
	font-size: 10px;
}

form.box {
	background-color: #F5F9FC;
	border: 1px dashed #B1C7DE;
	padding: 8px;
}

input, select, optgroup, option {
	font-family: Verdana, Arial, Helvetica;
	font-size: 10px;
}

textarea {
	font-family: "Courier New", monospace;
	font-size: 12px;
}

h2 {
	font-size: 14px;
	margin: 0px 0px 10px 0px;
}

h3 {
	font-size: 12px;
	margin: 0px 0px 10px 0px;
}

h3 b {
	color: #CC3300;
}

a {
	/*color: #065775;#447EAE;*/
	color: #2961AB;
}

/* Begin Version 6.5 - Modernized header bar */
#aheader {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 14px;
	min-height: 44px;
	background: #fff;
	border-bottom: 1px solid #dde6f0;
	border-top: 3px solid #2e6da4;
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 1px 4px rgba(0,0,0,0.07);
}

.aheader-left {
	display: flex;
	align-items: center;
	gap: 0;
	min-width: 0;
	flex: 1;
}

/* Toggle button — shown on ALL screen sizes, mobile-menu-btn is now the universal toggle */
#mobile-menu-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	color: #7a9abf;
	font-size: 18px;
	width: 34px;
	height: 34px;
	padding: 0;
	cursor: pointer;
	line-height: 1;
	text-transform: none;
	font-weight: normal;
	border-radius: 4px;
	flex-shrink: 0;
	margin-right: 8px;
}

#mobile-menu-btn:hover {
	background-color: #eef3fb;
	color: #1e3a5f;
}

#logo {
	font-size: 13px;
	font-weight: bold;
	color: #1e3a5f;
	letter-spacing: 0.2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-left: 8px;
	border-left: 2px solid #dde6f0;
}

.aheader-right {
	display: flex;
	align-items: center;
	gap: 3px;
	flex-shrink: 0;
	margin-left: 12px;
}

.aheader-link {
	font-size: 10px;
	color: #5a7aab;
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 3px;
	transition: background 0.15s, color 0.15s;
	white-space: nowrap;
}

.aheader-link:hover {
	background-color: #eef3fb;
	color: #1e3a5f;
	text-decoration: none;
}

.aheader-signout {
	color: #c0392b;
	border: 1px solid rgba(192,57,43,0.22);
}

.aheader-signout:hover {
	background-color: #fdf0ee;
	color: #a93226;
}
/* End Version 6.5 */

.time {
	font-size: 10px;
}

.copy {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	color: #888;
	text-align: center;
}

.copy a {
	color: #2961AB;
	text-decoration: none;
}

.copy a:hover {
	text-decoration: underline;
}

button {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	border: 1px solid #2261a8;
	background-color: steelblue;
	color: white;
	font-weight: bold;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 3px;
	cursor: pointer;
}

button:hover {
	background-color: #2261a8;
}

.button {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	border: 1px solid #2261a8;
	background-color: steelblue;
	color: white;
	font-weight: bold;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 3px;
	cursor: pointer;
}

.cautionbutton {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	border: 1px solid #a02200;
	background-color: #CC3300;
	color: white;
	font-weight: bold;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 3px;
	cursor: pointer;
}

code {
	font-size: 11px;
}

.rescount {
	color: #CC3300;
	font-size: 11px;
	font-weight: bold;
}

.msg {
	color: green;
	font-weight: bold;
	margin-bottom: 5px;
}

.err {
	color: red;
	font-weight: bold;
	margin-bottom: 5px;
}

.imp {
	color: darkorange;
	font-weight: bold;
}

.warnbox {
	border: 1px solid red;
	padding: 5px;
	color: red;
}

.warnbox .head {
	font-weight: bold;
}

.hint {
	font-size: 10px;
	color: gray;
}

.info {
	font-size: 11px;
	font-style: italic;
	text-align: center;
}

.infobox {
	font-size: 11px;
	font-style: italic;
	text-align: center;
	border: 1px solid #E4EBF8;
	padding: 10px;
}

.menus {
}

.menu {
	margin-top: 6px;
}

.grid {
	background-color: #E4EBF8;
}

.grid td {
	padding: 4px;
}

.grid2 {
	background-color: #EAEAEA;
}

.gridhead, .gridhead td {
	color: #025C8E;
	font-weight: bold;
	font-size: 10px;
	text-transform: uppercase;
}

.menuhead, .menu th {
	font-size: 10px;
	font-weight: bold;
	text-transform: uppercase;
	/*color: #025C8E;*/
}

.grid2head {
	background-color: #F5F5F5;
	font-weight: bold;
}

.menucell {
	/*background-color: #FAF9F6; /*#ECF5FA;*/
	/*font-size: 11px;*/
}

.menucell a {
	text-decoration: none;
	/*font-weight: bold;*/
	/*display: block;*/
}

.menucell a:hover {
	text-decoration: underline;
}

.gridcell, .gridcell td {
	background-color: white; /*#F4FAFD;*/
}

.gridgrouphead, .gridgrouphead td {
	color: #025C8E;
	font-weight: bold;
	font-size: 10px;
	border-top: 1px solid #B4C5E9;
}

.gridcellalt, .gridcellalt td {
	background-color: #F5F9FC; /*#ECF5FA;*/
}

.gridcellexpired, .gridcellexpired td {
	background-color: #F7F7F7; /*#F4FAFD;*/
	color: gray;
}

.gridcellexpiredalt, .gridcellexpiredalt td {
	background-color: #F0F0F0; /*#ECF5FA;*/
	color: gray;
}

.gridcellexpired a, .gridcellexpiredalt a {
	color: gray;
}

.postlink { /* Version 5.0 */
	font-size: 11px;
	font-weight: bold;
}

.adextra {
	margin-top: 8px;
}

.gridcellmain {
	font-size: 11px; /*#ECF5FA;*/
	font-weight: bold;
}

.gridcellstat {
	background-color: #F5F9FC; /*#F4FAFD;*/
}

.gridcellstat_num {
	background-color: white; /*#F4FAFD;*/
	/*color: #3C719B;*/
	font-size: 14px;
	font-weight: bold;
	text-align: right;
}

.grid2cell {
	background-color: #FAFAFA;
}



.search_desc {
	font-size: 10px;
}

.search_desc b {
	font-weight: normal;
	color: green;
}

.adpreview {
	font-size: 10px;
	color: gray;
	display: block;
}

.event_date {
	font-size: 10px;
}

.abuse_marker {
	color: red;
	font-size: 9px;
}

/*.yes {
	font-size: 10px;
	font-weight: bold;
	color: green;
}

.no {
	font-size: 10px;
	font-weight: bold;
	color: red;
}*/

.yes {
	font-size: 10px;
	color: green;
	/*color: white;
	font-weight: bold;
	background-color: green;*/
	padding: 1px 2px;
}

.no {
	font-size: 10px;
	color: red;
	/*color: white;
	font-weight: bold;
	background-color: #CC3300;*/
	padding: 1px 3px;
}

.marker {
	color: red;
	font-weight: bold;
}

.caution {
	color: red;
}


.extracaution {
	color: red;
	font-weight: bold;
	text-transform: uppercase;
}

.password_hidden {
	background-color: black;
	color: black;
}

.password_revealed {
	background-color: white;
}

/* Begin Version 6.5 - Modernized layout */
#maintable {
	display: flex;
	align-items: stretch;
	min-height: calc(100vh - 80px);
}

/* Sidestrip column removed — toggle lives in the header bar now */
#sidestrip {
	display: none;
}

#sidebar {
	background-color: #eef3fb;
	border-right: 1px solid #B1C7DE;
	width: 155px;
	flex-shrink: 0;
	overflow-y: auto;
	padding-bottom: 10px;
}

.menus {
	padding: 4px 0;
}

.menu {
	margin-top: 2px;
	padding: 0 0 4px 0;
	border-bottom: 1px solid #d0ddf0;
}

.menuhead {
	font-size: 9px;
	font-weight: bold;
	text-transform: uppercase;
	color: #5a7aab;
	padding: 6px 10px 2px 10px;
	letter-spacing: 0.5px;
}

.menulink {
	display: block;
	padding: 3px 10px 3px 14px;
	text-decoration: none;
	color: #1a3a6e;
	font-size: 10px;
}

.menulink:hover {
	background-color: #d6e4f7;
	color: #003366;
	text-decoration: none;
}

.menucell {
}

.menucell a {
	text-decoration: none;
}

.menucell a:hover {
	text-decoration: underline;
}

.sidebar-time {
	padding: 10px;
	font-size: 9px;
	color: #5a7aab;
	line-height: 1.6;
}

#main {
	padding: 10px 14px;
	border-left: 1px solid #B1C7DE;
	flex: 1 1 auto;
	min-width: 0;
}

/* Login page */
#loginpage {
	background-color: #dce7f3;
	color: #003366;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

#login-wrap {
	width: 100%;
	max-width: 380px;
	padding: 20px;
}

#login-card {
	background-color: #fff;
	border: 1px solid #B1C7DE;
	border-radius: 6px;
	padding: 30px 28px 24px;
	box-shadow: 0 2px 12px rgba(30,58,95,0.10);
}

#login-card #logo {
	color: #1e3a5f;
	font-size: 17px;
	text-align: center;
	margin-bottom: 20px;
	letter-spacing: 0.3px;
}

#loginform {
	background-color: transparent;
	border: none;
	padding: 0;
}

.login-field {
	margin-bottom: 14px;
}

.login-field label {
	display: block;
	font-size: 11px;
	font-weight: bold;
	margin-bottom: 4px;
	color: #1e3a5f;
}

.login-field input[type="text"],
.login-field input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: 7px 8px;
	border: 1px solid #B1C7DE;
	border-radius: 3px;
	font-size: 12px;
	outline: none;
}

.login-field input:focus {
	border-color: #2961AB;
	box-shadow: 0 0 0 2px rgba(41,97,171,0.15);
}

.login-field button {
	width: 100%;
	padding: 8px;
	font-size: 12px;
	border-radius: 3px;
	text-transform: none;
	letter-spacing: 0.2px;
}

.login-footer {
	text-align: center;
	margin-top: 18px;
	font-size: 9px;
	color: #999;
}

.login-footer a {
	color: #999;
	text-decoration: none;
}

/* Admin footer */
#admin-footer {
	padding: 8px 14px;
	border-top: 1px solid #d0ddf0;
	background-color: #f5f8fd;
}
/* End Version 6.5 */

.tip {
	color: #2392D1;
}

.tip img {
	margin-right: 5px;
	margin-top: 2px;
}

.path, .postpath {
	font-size: 12px;
	font-weight: bold;
}

.cautionhint {
	color: red;
}

/* Begin Version 5.0 */

.spam {
	background-color: crimson;
	color: white;
	font-size: 10px;
	text-transform: uppercase;
	padding: 1px 3px;
	line-height: 1.5;
}

.stats td {
	vertical-align: top;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: silver;
	padding-top: 10px;
}

.stats .column {
	background-color: white;
}

.stats .alt-column {
	background-color: #F8F8F8;
}

.stat {
	padding-left: 10px;
	padding-bottom: 20px;
	width: 120px;
}

.stat a {
	text-decoration: none;
}

.pay-stat, .pay-stat a {
	color: green;
}

.pay-stat-column {
	border-color: green;
}

.urgent-stat, .urgent-stat a {
	color: crimson;
}

.urgent-stat-column {
	border-color: crimson;
}


.warn-stat, .warn-stat a {
	color: darkorange;
}

.warn-stat-column {
	border-color: darkorange;
}

.cool-stat, .cool-stat a {
	color: #2392D1;
}

.cool-stat-column {
	border-color: #2392D1;
}

.stat-title {
	font-family: Georgia;
	font-size: 12px;
	color: #003366;
}

.stat-num {
	font-family: Georgia;
	font-size: 30px;
}

.wmd-preview {
	border: 1px solid silver;
	background-color: #FAF9F5;
	padding: 10px;
	margin-bottom:  10px;
}

/* End Version 5.0 */

/* Version 5.7.5 Start */

td.info2 {
	font-size:9px;
	font-family:Verdana, Geneva, sans-serif;
	color:#2392D1;
	background:#FFC;
}

label.switchGREEN {
	background:lightgreen; width:85px; line-height:2; float:left;"><input style="vertical-align:middle;
}

label.switchRED {
	background:#F00; color:#FFF; width:85px; line-height:2; float:left;"><input style="vertical-align:middle;
}

.hint {
  display:none;
  position: absolute;
  right: 450px;
  width: 250px;
  margin-top: -4px;
  border: 1px solid #c93;
  padding: 10px 12px;
  background-color: #ffc;
}

.hint .hint-pointer {
    position: absolute;
    left: -10px;
    top: 5px;
    width: 10px;
    height: 19px;
    background: url(./images/tip.gif) left top no-repeat;
}

dl {
  position: relative;
  width: 800px;
}
dt {
  clear: both;
  float:left;
  width: 130px;
  padding: 4px 0 2px 0;
  text-align: left;
}
dd {
  float: left;
  width: 200px;
  margin: 0 0 8px 0;
  padding-left: 6px;
}

/* Version 5.7.5 End */

/* ============================================================
   Begin Version 6.5 - Responsive / Mobile Styles
   ============================================================ */

/* Sidebar overlay backdrop (mobile) */
#sidebar-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.45);
	z-index: 150;
}

/* Scrollable wrapper for wide data tables */
.table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Make core data tables scrollable on small screens */
table.grid, table.grid2 {
	min-width: 480px;
}

/* Wider min-width only for data grids inside scroll wrapper (ads, images) */
.table-scroll table.grid {
	min-width: 760px;
}

/* Begin Version 6.5.1 - Admin pages mobile-friendly */

/* Get-by-ID form width (replaces inline style) */
.box-getad {
	width: 200px;
}

/* Scale images in data grids */
.grid img {
	max-width: 100%;
	height: auto;
}

/* Prevent file input overflow */
input[type="file"] {
	max-width: 100%;
}

/* Tip message box default width */
.tip-msg {
	width: 550px;
}

/* End Version 6.5.1 */

/* Fluid inputs/selects in forms */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="url"],
select,
textarea {
	max-width: 100%;
	box-sizing: border-box;
}

/* ---- Breakpoint: tablet / mobile (≤ 768px) ---- */
@media (max-width: 768px) {

	/* Header: allow wrapping and auto height on mobile */
	#aheader {
		height: auto;
		min-height: 40px;
		padding: 6px 10px;
		flex-wrap: wrap;
		gap: 2px 8px;
	}

	#logo {
		font-size: 13px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		min-width: 0;
	}

	/* Toggle button always visible; hide desktop-only nav links on mobile */
	.aheader-link-desktop {
		display: none;
	}

	/* Footer: stack links vertically on mobile */
	#admin-footer {
		padding: 12px 10px;
	}

	#admin-footer .copy {
		font-size: 10px;
		line-height: 2;
	}

	#admin-footer .footer-sep {
		display: none;
	}

	#admin-footer .footer-links {
		display: block;
		margin-top: 4px;
	}

	/* Sidestrip already hidden globally; sidebar slides in from toggle in header */

	/* Sidebar: slide-over panel on mobile */
	#sidebar {
		position: fixed;
		top: 47px; /* height of #aheader (44px) + 3px top border */
		left: 0;
		bottom: 0;
		z-index: 200;
		width: 200px;
		transform: translateX(-100%);
		transition: transform 0.22s ease;
		overflow-y: auto;
		display: block !important; /* override inline display:none from nosidebar */
		box-shadow: 3px 0 12px rgba(0,0,0,0.18);
	}

	#sidebar.sidebar-mobile-open {
		transform: translateX(0);
	}

	/* Main content takes full width */
	#maintable {
		min-height: unset;
	}

	#main {
		padding: 8px;
		border-left: none;
		overflow-x: auto;
	}

	/* ---- Stats dashboard grid ---- */
	/* Turn the table into a block, tr into a flex wrap container */
	table.stats,
	table.stats tbody,
	table.stats tr {
		display: block;
		width: 100%;
	}

	table.stats tr {
		display: flex;
		flex-wrap: wrap;
		gap: 0;
	}

	/* Each td (stat group/column) becomes a 50% flex item */
	table.stats td {
		display: flex;
		flex-direction: column;
		flex: 0 0 50%;
		max-width: 50%;
		box-sizing: border-box;
		padding: 4px;
		border-top: none;
	}

	/* Individual stat cells — compact card style */
	.stat {
		padding: 8px 10px;
		background: #f5f8fd;
		border: 1px solid #dce7f3;
		border-radius: 4px;
		margin-bottom: 6px;
		width: auto;
	}

	.stat a {
		text-decoration: none;
		display: block;
	}

	.stat-num {
		font-size: 22px;
		line-height: 1.1;
	}

	.stat-title {
		font-size: 9px;
		color: #666;
		margin-top: 2px;
	}

	/* Stack form labels above inputs */
	dt {
		float: none;
		width: auto;
		padding-bottom: 2px;
	}

	dd {
		float: none;
		width: auto;
		margin-left: 0;
		padding-left: 0;
	}

	dl {
		width: 100%;
	}

	/* Wider buttons on mobile */
	button, .button, .cautionbutton {
		padding: 8px 14px;
		font-size: 12px;
	}

	/* Begin Version 6.5.1 - Admin pages mobile-friendly */

	/* ---- Search/filter form tables: stack vertically ---- */
	/* Scoped to .box-filter to avoid breaking edit forms on other pages */
	form.box-filter table,
	form.box-filter table tbody,
	form.box-filter table tr,
	form.box-filter table td {
		display: block;
		width: 100%;
	}

	form.box-filter table tr {
		margin-bottom: 6px;
	}

	form.box-filter table td {
		padding: 2px 0;
	}

	/* Quick-view side panel: remove dashed border, stack below */
	form.box-filter table td[rowspan] {
		border-left: none;
		margin-left: 0;
		padding-left: 0;
	}

	form.box-filter table td[rowspan] > div {
		border-left: none !important;
		margin-left: 0 !important;
		padding-left: 0 !important;
		margin-top: 8px;
	}

	/* Full-width inputs/selects in filter forms */
	form.box-filter input[type="text"],
	form.box-filter select {
		width: 100%;
		box-sizing: border-box;
		font-size: 14px;
		padding: 6px 4px;
	}

	/* Get-by-ID form: full width on mobile */
	.box-getad {
		width: 100%;
	}

	/* ---- Data grid tables: horizontal scroll ---- */
	.table-scroll {
		margin: 0 -8px;
		padding: 0 8px;
	}

	/* Action buttons in grid footer: wrap nicely */
	.grid td[colspan] {
		text-align: left;
		white-space: normal;
	}

	.grid td[colspan] input[type="submit"],
	.grid td[colspan] .button,
	.grid td[colspan] .cautionbutton {
		margin: 3px 2px;
		display: inline-block;
		font-size: 11px;
		padding: 7px 10px;
	}

	/* Legend text */
	.legend {
		text-align: left !important;
		margin-bottom: 4px;
	}

	/* ---- Edit form (editad.php) ---- */

	/* Outer wrapper table */
	table.editad-wrap,
	table.editad-wrap > tbody,
	table.editad-wrap > tbody > tr,
	table.editad-wrap > tbody > tr > td {
		display: block;
		width: 100%;
	}

	/* Convert .postad 2-column table into stacked layout */
	table.postad,
	table.postad tbody,
	table.postad tr,
	table.postad td {
		display: block;
		width: 100%;
	}

	table.postad td {
		padding: 2px 0;
	}

	table.postad tr > td:first-child {
		padding-top: 8px;
		padding-bottom: 2px;
	}

	/* Full-width inputs in the edit form */
	table.postad input[type="text"],
	table.postad select,
	table.postad textarea {
		width: 100%;
		box-sizing: border-box;
		font-size: 14px;
	}

	/* Date select groups: keep 3 selects in a row */
	table.postad select[name="exp_m"],
	table.postad select[name="exp_d"],
	table.postad select[name="exp_y"],
	table.postad select[name="feat_m"],
	table.postad select[name="feat_d"],
	table.postad select[name="feat_y"],
	table.postad select[name="fm"],
	table.postad select[name="fd"],
	table.postad select[name="fy"],
	table.postad select[name="tm"],
	table.postad select[name="td"],
	table.postad select[name="ty"] {
		width: auto;
		display: inline-block;
		min-width: 60px;
		font-size: 13px;
	}

	/* Email radio button nested table: keep as table */
	table.postad td table {
		display: table;
		width: auto;
	}

	table.postad td table tr {
		display: table-row;
	}

	table.postad td table td {
		display: table-cell;
		width: auto;
		padding: 2px 4px 2px 0;
	}

	/* Featured ad section table */
	table.editad-featured,
	table.editad-featured tbody,
	table.editad-featured tr,
	table.editad-featured td {
		display: block;
		width: 100%;
	}

	/* Pictures section: scale images */
	table.postad img {
		max-width: 100%;
		height: auto;
	}

	/* Image grid: constrain thumbnail width */
	.grid td img[width="80"] {
		width: 60px;
		height: auto;
	}

	/* Tip message box: full width */
	.tip-msg {
		width: 100%;
		box-sizing: border-box;
	}

	/* End Version 6.5.1 */
}

/* ---- Breakpoint: small phones (≤ 480px) ---- */
@media (max-width: 480px) {

	#aheader {
		padding: 0 8px;
	}

	#logo {
		font-size: 13px;
	}

	#main {
		padding: 6px;
	}

	/* Login card full-width on phones */
	#login-wrap {
		padding: 10px;
	}

	#login-card {
		padding: 20px 16px;
	}

	/* Begin Version 6.5.1 - Admin pages mobile-friendly */

	/* Action buttons: full-width stacked on small phones */
	.grid td[colspan] input[type="submit"],
	.grid td[colspan] .button,
	.grid td[colspan] .cautionbutton {
		font-size: 10px;
		padding: 6px 8px;
		width: 100%;
		box-sizing: border-box;
		margin: 2px 0;
	}

	/* Smaller date selects on small screens */
	table.postad select[name="exp_m"],
	table.postad select[name="exp_d"],
	table.postad select[name="exp_y"],
	table.postad select[name="feat_m"],
	table.postad select[name="feat_d"],
	table.postad select[name="feat_y"],
	table.postad select[name="fm"],
	table.postad select[name="fd"],
	table.postad select[name="fy"],
	table.postad select[name="tm"],
	table.postad select[name="td"],
	table.postad select[name="ty"] {
		min-width: 50px;
		font-size: 12px;
	}

	/* Search description: slightly larger for readability */
	.search_desc {
		font-size: 11px;
	}

	/* Larger tap target for checkboxes */
	input[type="checkbox"] {
		width: 18px;
		height: 18px;
	}

	/* End Version 6.5.1 */
}

/* ============================================================
   End Version 6.5 - Responsive / Mobile Styles
   ============================================================ */