:root{--dinsos:#e2003b;--orange:#ff8d2a;--dark:#1f2937;--soft:#f6f7fb}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:#f4f6fa;color:#273043}.btn-dinsos{background:linear-gradient(135deg,var(--dinsos),var(--orange));border:0;color:#fff;font-weight:700}.btn-dinsos:hover{color:#fff;filter:brightness(.95)}.login-page-dinsos{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,#ffd39f,#fff 36%,#ffe7ec)}.login-card{width:min(440px,92vw);background:#fff;border-radius:28px;padding:34px}.login-logo{width:110px}.demo-login{font-size:.86rem;background:#f7f7f7;border-radius:14px;padding:12px}.admin-shell{display:flex;min-height:100vh}.sidebar{width:285px;background:#111827;color:#fff;position:fixed;inset:0 auto 0 0;z-index:1020;overflow-y:auto;transition:.25s}.brand-box{display:flex;gap:12px;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-box img{width:48px}.brand-box small{display:block;color:#cbd5e1}.sidebar-menu{padding:14px}.sidebar-menu a{display:flex;gap:10px;align-items:center;color:#dbeafe;text-decoration:none;padding:11px 12px;border-radius:13px;margin-bottom:4px}.sidebar-menu a:hover{background:rgba(255,255,255,.08);color:#fff}.menu-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin:14px 12px 6px}.admin-main{margin-left:285px;min-height:100vh;width:calc(100% - 285px)}.topbar{height:72px;background:#fff;display:flex;align-items:center;padding:0 22px;position:sticky;top:0;z-index:1010}.hamburger{border:0;background:#f1f5f9;border-radius:12px;width:42px;height:42px;font-size:1.3rem;margin-right:14px}.content-wrap{padding:24px}.hero-admin{background:linear-gradient(135deg,#e2003b,#ff9a35);color:#fff;border-radius:24px;padding:26px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.hero-admin h2{font-weight:800}.hero-admin img{width:120px;filter:drop-shadow(0 16px 30px rgba(0,0,0,.2))}.stat-card{background:#fff;border-radius:20px;padding:18px;min-height:128px;box-shadow:0 10px 30px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:8px}.stat-card i{font-size:1.8rem}.stat-card span{color:#64748b}.stat-card strong{font-size:2rem}.card-dinsos{border:0;border-radius:20px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.card-dinsos .card-header{background:#fff;border-bottom:1px solid #eef2f7;font-weight:800;border-radius:20px 20px 0 0}.map-picker{height:280px;border-radius:18px;overflow:hidden;border:1px solid #e5e7eb}.main-map{height:620px;border-radius:22px;overflow:hidden;border:1px solid #e5e7eb}.sidebar-backdrop{display:none}.front-body{background:#fff}.front-nav{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);box-shadow:0 6px 25px rgba(15,23,42,.08)}.front-nav img{width:42px}.front-hero{padding:140px 0 80px;background:linear-gradient(135deg,#df003d,#ff8d2a);color:#fff}.front-hero h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:900}.front-hero p{font-size:1.2rem;max-width:720px}.hero-logo{width:min(300px,70vw);filter:drop-shadow(0 20px 45px rgba(0,0,0,.24))}.public-stat,.feature-card,.info-chip{border-radius:22px;background:#fff;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.06);height:100%}.public-stat span{display:block;color:#64748b}.public-stat strong{font-size:2rem;color:#e2003b}.feature-card i{font-size:2rem;color:#e2003b}.page-header{padding:120px 0 45px;background:linear-gradient(135deg,#111827,#e2003b);color:#fff}.front-footer{background:#111827;color:#cbd5e1;padding:32px 0;margin-top:40px}.table td,.table th{vertical-align:middle}@media(max-width:991px){.sidebar{transform:translateX(-105%)}body.sidebar-open .sidebar{transform:translateX(0)}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1015}body.sidebar-open .sidebar-backdrop{display:block}.admin-main{margin-left:0;width:100%}.content-wrap{padding:16px}.hero-admin{align-items:flex-start}.hero-admin img{width:80px}.topbar{height:auto;min-height:68px;padding:12px}.main-map{height:480px}.front-hero{padding-top:120px}}@media(max-width:576px){.stat-card{min-height:96px}.stat-card strong{font-size:1.5rem}.login-card{padding:24px}.hero-admin{display:block}.hero-admin img{display:none}}
