:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#183449;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}header{background:#183449;color:#fff;padding:18px max(24px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}header small{color:#e4b46b}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{color:#fff;text-decoration:none}a{color:#a32926}a:hover{text-decoration:underline}.container{max-width:1120px;margin:38px auto;padding:0 20px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}.heading h1{margin:0;font-size:30px}.heading p{color:#627282}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1px}.card{background:#fff;border:1px solid #e2e7eb;border-radius:12px;padding:24px;box-shadow:0 4px 18px #0b243008;margin-bottom:24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats .card{display:grid;gap:12px}.stats span{color:#627282}.stats strong{font-size:36px}button,.button{border:0;border-radius:7px;padding:12px 18px;background:#b4190b;color:#fff;text-decoration:none;font-weight:700;cursor:pointer;display:inline-block}button:hover,.button:hover{background:#921609;text-decoration:none}label{display:grid;gap:7px;font-weight:600}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #c8d2da;border-radius:7px;font:inherit;color:#183449}form{display:grid;gap:18px}.edit-form{max-width:800px}.login{max-width:430px;margin:90px auto}.search{display:flex;flex-direction:row;margin-bottom:22px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:13px;border-bottom:1px solid #e5e9ed}th{color:#536575}.error,.success{padding:14px;border-radius:7px}.error{background:#ffeded;color:#9b1818}.success{background:#e7f7ed;color:#185c34}@media(max-width:700px){header{align-items:flex-start;flex-direction:column}.container{margin:22px auto}.stats{grid-template-columns:1fr}.card{padding:16px}.search{flex-direction:column}.heading h1{font-size:25px}}

/* Account security and dashboard administration cards */
.module-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.module-grid > a,.module-grid > div {display:flex;flex-direction:column;gap:9px;padding:20px;border:1px solid #e1e7ec;border-radius:10px;text-decoration:none;min-width:0;background:#fbfcfd;color:#183449}
.module-grid > a:hover {border-color:#b4190b;background:#fff8f7}
.module-grid strong {font-size:16px}
.module-grid span {font-size:13px;line-height:1.5;color:#63717b}
.account-card {max-width:650px}
.account-card form {margin-top:22px}
.account-card button {justify-self:start}
.form-help {margin:0;color:#627282;font-size:13px}
@media(max-width:700px){.module-grid{grid-template-columns:1fr}}

/* ShopTownly admin shell v1: scoped styles avoid altering public pages. */
body:has(.admin-shell){background:#f3f5f8}
.admin-shell{display:flex;min-height:100vh}
.admin-sidebar{width:248px;flex:0 0 248px;background:#173349;color:#dbe5ee;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;overflow-y:auto}
.admin-brand{padding:27px 23px 25px;color:white;text-decoration:none;font-size:18px;font-weight:800;letter-spacing:-.4px;border-bottom:1px solid #355167}
.admin-brand span{font-size:11px;letter-spacing:.6px;color:#e4b46b}
.admin-nav{display:block;padding:17px 11px;flex:1}
.admin-nav-group{margin:0 0 19px}.admin-nav-label{display:block;padding:9px 12px;color:#9db4c4;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:800}
.admin-nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:8px;color:#dbe5ee;text-decoration:none;font-size:13px;font-weight:550;line-height:1.3}
.admin-nav a:hover,.admin-nav a.active{background:#2c4a60;color:white;text-decoration:none}.admin-nav a.active{box-shadow:inset 3px 0 #d95345}
.admin-nav-icon{display:inline-flex;width:21px;justify-content:center;font-size:17px;color:#b7c9d7}
.admin-sidebar-foot{padding:20px 23px;border-top:1px solid #355167;color:#9db4c4;font-size:11px}
.admin-main{min-width:0;flex:1}.admin-topbar{position:sticky;top:0;z-index:10;min-height:69px;padding:15px 30px;background:white;border-bottom:1px solid #e3e8ed;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#173349}
.admin-topbar-title{font-weight:650;font-size:14px}.admin-user-actions{display:flex;align-items:center;gap:19px;font-size:13px}.admin-user-actions a{color:#42586b;text-decoration:none}.admin-user-actions a:hover{text-decoration:underline}.admin-user-name{font-weight:650}
.admin-menu-toggle{display:none;padding:7px 10px;background:#eef2f6;color:#173349;font-size:20px}
.admin-container{max-width:1300px;margin:34px auto;padding:0 32px 50px}
.admin-container .heading h1{font-size:29px}.admin-container .card{box-shadow:0 2px 12px #12283a07}
.admin-container .stats{gap:16px}.admin-container .stats .card{margin-bottom:0}.admin-container .stats strong{font-size:32px}
.admin-dashboard-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-dashboard-actions a{padding:10px 14px;border:1px solid #e1e7ec;border-radius:8px;color:#183449;text-decoration:none;font-weight:650;font-size:13px}.admin-dashboard-actions a:hover{border-color:#b4190b}
.admin-dashboard-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;margin-top:22px}.admin-dashboard-grid .card{margin-bottom:0}
.admin-backdrop{display:none}
@media(max-width:1100px){.admin-sidebar{width:218px;flex-basis:218px}.admin-container{padding:0 22px 40px}.admin-user-name{display:none}}
@media(max-width:800px){.admin-sidebar{position:fixed;z-index:40;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .2s;width:260px}.admin-menu-open .admin-sidebar{transform:translateX(0)}.admin-menu-open .admin-backdrop{display:block;position:fixed;inset:0;background:#07152299;z-index:30}.admin-menu-toggle{display:inline-flex}.admin-topbar{padding:12px 16px;min-height:58px}.admin-container{margin:22px auto;padding:0 16px 30px}.admin-dashboard-grid{grid-template-columns:1fr}.admin-user-actions{gap:10px}.admin-topbar-title{font-size:13px}}
@media(max-width:540px){.admin-container .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-container .stats .card{padding:15px}.admin-container .stats strong{font-size:27px}.admin-user-actions{font-size:12px}.admin-topbar-title{display:none}}

/* Admin shell v2: one document scrollbar, no independently scrolling sidebar. */
@media (min-width:801px){
 .admin-shell{align-items:stretch;min-height:100vh}
 .admin-sidebar{position:static;top:auto;height:auto;min-height:100vh;overflow:visible;align-self:stretch}
 .admin-topbar{position:static;top:auto}
}
/* Dashboard v2: full-width activity and compact action toolbar. */
.admin-dashboard .heading{margin-bottom:24px}
.admin-dashboard .heading p{margin:8px 0 0}
.admin-dashboard .stats{gap:18px;margin-bottom:26px}
.admin-dashboard .stats .card{padding:23px 25px;border-radius:12px}
.admin-dashboard .stats span{font-size:14px}
.admin-dashboard .stats strong{line-height:1.1;font-size:36px}
.admin-dashboard-section{margin:0 0 24px}
.admin-dashboard-section .card{margin:0;padding:25px 28px}
.admin-dashboard-section h2{margin:0 0 17px;font-size:20px;line-height:1.3}
.admin-dashboard-actions{display:flex;gap:11px;align-items:center;flex-wrap:wrap}
.admin-dashboard-actions a{padding:11px 15px;background:#f8fafc;border:1px solid #dce4eb}
.admin-dashboard-actions a:first-child{background:#b4190b;color:#fff;border-color:#b4190b}
.admin-dashboard-actions a:first-child:hover{background:#921609}
.admin-dashboard .table-wrap{overflow-x:auto}
.admin-dashboard table{table-layout:auto}
.admin-dashboard th,.admin-dashboard td{padding:15px 14px;vertical-align:middle}
.admin-dashboard th:first-child,.admin-dashboard td:first-child{width:58%}
.admin-dashboard td:last-child,.admin-dashboard th:last-child{white-space:nowrap}
.admin-dashboard .status-label{display:inline-block;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:700;background:#edf3f7;color:#345369}
.admin-dashboard .status-label.status-published{background:#e9f5ed;color:#21653c}
.admin-dashboard .status-label.status-suspended{background:#fff1e8;color:#98521d}
.admin-dashboard .dashboard-section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}
.admin-dashboard .dashboard-section-head h2{margin:0}
.admin-dashboard .dashboard-section-head a{font-size:13px;font-weight:700}
@media(max-width:800px){.admin-dashboard-section .card{padding:20px}.admin-dashboard .stats{gap:12px}}
@media(max-width:540px){.admin-dashboard .stats{grid-template-columns:1fr}.admin-dashboard .stats .card{padding:17px 20px}.admin-dashboard .stats strong{font-size:30px}.admin-dashboard th,.admin-dashboard td{padding:12px 10px}.admin-dashboard .dashboard-section-head{align-items:flex-start}}


/* ShopTownly admin v3 — Businesses listing */
.business-heading{margin-bottom:22px}
.business-subtitle{margin:8px 0 0;color:#607488;font-size:14px}
.business-list-card{padding:22px 24px}
.business-search{display:flex;align-items:center;gap:12px;margin:0 0 18px;flex-wrap:wrap}
.business-search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.business-search input{flex:1 1 280px;min-width:0;width:auto}
.business-search button{flex:0 0 auto}
.business-clear{font-size:13px;font-weight:600}
.business-table{font-size:14px}
.business-table th{font-size:12px;text-transform:uppercase;letter-spacing:.045em;color:#617588}
.business-table td,.business-table th{padding:13px 12px;vertical-align:middle}
.business-table tr:last-child td{border-bottom:0}
.business-name{font-weight:600;color:#19374c}
.business-slug{color:#6c7d8b;font-size:13px;overflow-wrap:anywhere}
.business-status{display:inline-flex;align-items:center;border-radius:30px;padding:5px 11px;font-size:12px;font-weight:700;background:#edf2f5;color:#4c6170;white-space:nowrap}
.business-status-published{background:#e7f5eb;color:#22643c}
.business-status-draft{background:#eef1f5;color:#58687b}
.business-status-suspended{background:#fff0e9;color:#9b4427}
.business-actions-col{text-align:right;white-space:nowrap}
.business-edit{display:inline-block;border:1px solid #dbe3e9;border-radius:6px;padding:7px 13px;text-decoration:none;font-size:12px;font-weight:700;color:#19374c;background:#fff}
.business-edit:hover{border-color:#b4190b;color:#b4190b;text-decoration:none}
.business-empty{text-align:center;padding:32px!important;color:#637585}
.business-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #e5eaf0;padding-top:19px;margin-top:8px}
.business-page-summary{font-size:13px;color:#607488}
.business-page-links{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.business-page-links a{display:inline-flex;justify-content:center;align-items:center;min-width:35px;min-height:35px;padding:6px 10px;border:1px solid #dce4ea;border-radius:7px;text-decoration:none;font-size:13px;font-weight:650;color:#2a4358;background:#fff}
.business-page-links a:hover{border-color:#b4190b;color:#b4190b}
.business-page-links a.is-active{background:#b4190b;border-color:#b4190b;color:#fff}
.business-page-ellipsis{padding:0 4px;color:#607488}
@media(max-width:700px){.business-list-card{padding:16px}.business-search{flex-direction:column;align-items:stretch}.business-search input{flex:auto;width:100%}.business-pagination{justify-content:center}.business-page-summary{width:100%;text-align:center}.business-table{min-width:610px}}

/* v4: Listing type and community resource filters */
.listing-type-pills{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 22px;padding-bottom:19px;border-bottom:1px solid #e7ecf0}
.listing-type-pill{display:inline-flex;align-items:center;padding:10px 17px;border:1px solid #d8e1e8;border-radius:999px;background:#fff;color:#29465a;text-decoration:none;font-size:13px;font-weight:700}
.listing-type-pill:hover{border-color:#b4190b;color:#b4190b;text-decoration:none}
.listing-type-pill.is-active{background:#173349;border-color:#173349;color:#fff}
.community-filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 19px}
.community-filter-pill{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid #dfe6eb;border-radius:999px;background:#f8fafb;color:#4b6375;text-decoration:none;font-size:12px;font-weight:650}
.community-filter-pill:hover{border-color:#b4190b;color:#b4190b;text-decoration:none}
.community-filter-pill.is-active{background:#fcecea;border-color:#e6b7b0;color:#9f2116}
.community-category{color:#607488}
@media(max-width:700px){.community-table{min-width:750px}.listing-type-pills{gap:7px}.listing-type-pill{padding:9px 13px}}
