:root{--tm-orange:#ff9408;--tm-green:#2e9d45;--tm-dark:#1b1f23}
body{background:#f4f6f8;color:#1f2933}
.brand-mark{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--tm-orange),#ffbd54);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 8px 18px rgba(255,148,8,.28)}
.page-title{background:linear-gradient(135deg,var(--tm-orange),#ff7a00);color:#fff;border-radius:8px;padding:14px 18px;margin-bottom:18px;box-shadow:0 10px 22px rgba(255,148,8,.22)}
.card-soft{background:#fff;border:1px solid #e7ebef;border-radius:10px;box-shadow:0 6px 18px rgba(15,23,42,.06)}
.stat-card{padding:18px;border-left:5px solid var(--tm-orange)}
.stat-card strong{font-size:28px}
.btn-orange{background:var(--tm-orange);border-color:var(--tm-orange);color:#fff}
.btn-orange:hover{background:#ed8200;border-color:#ed8200;color:#fff}
.table thead th{background:#f7f8fa;white-space:nowrap}
.form-label{font-weight:600}
#map,#dashboardMap{height:calc(100vh - 180px);min-height:440px;border-radius:10px;border:1px solid #dbe1e8}
.public-wrap{min-height:100vh;background:linear-gradient(135deg,#fff7ed,#f0fdf4);padding:28px 0}
.public-card{border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 14px 40px rgba(15,23,42,.08)}
.photo-thumb{width:58px;height:58px;object-fit:cover;border-radius:8px;background:#eef2f7}
.required:after{content:" *";color:#dc3545}
.dataTables_wrapper{overflow-x:auto}
@media(max-width:768px){#map,#dashboardMap{height:520px}.navbar-brand small{display:none!important}}
