
:root{
  --primary:#062856;
  --primary-2:#0b3978;
  --accent:#d4a23a;
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#101828;
  --muted:#667085;
  --border:#e5eaf2;
  --soft:#eef3fa;
  --success:#12946b;
  --danger:#c0392b;
  --shadow:0 18px 45px rgba(16,24,40,.08);
  --radius:20px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,94%);margin:auto}
.topbar{background:#061c3d;color:#fff;font-size:13px;padding:9px 0}
.topbar .container{display:flex;justify-content:space-between;gap:16px;align-items:center}
.navbar{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 6px 25px rgba(16,24,40,.06)}
.nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:22px;color:var(--primary)}
.logo-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-weight:900}
.menu{display:flex;gap:22px;align-items:center;font-weight:700;color:#344054;font-size:14px}
.menu a:hover,.menu a.active{color:var(--accent)}
.actions{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:12px 17px;font-weight:800;cursor:pointer;transition:.2s;font-size:14px}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-2);transform:translateY(-1px)}
.btn-accent{background:var(--accent);color:#111827}
.btn-light{background:var(--soft);color:var(--primary)}
.btn-outline{background:#fff;border:1px solid var(--border);color:var(--primary)}
.mobile-toggle{display:none;background:var(--soft);border:0;border-radius:12px;padding:10px;font-size:20px}

.hero{background:linear-gradient(180deg,#071d40 0%,#0b2b5c 62%,#f5f7fb 62%);color:#fff;padding:66px 0 32px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(212,162,58,.23),transparent 28%),radial-gradient(circle at 10% 20%,rgba(255,255,255,.12),transparent 30%)}
.hero .container{position:relative}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:8px 12px;border-radius:999px;font-weight:800;font-size:13px}
h1{font-size:52px;line-height:1.04;margin:18px 0 14px;letter-spacing:-1.4px}
.lead{font-size:18px;color:#dbe7f7;line-height:1.7;margin:0 0 24px}
.searchbox{background:#fff;padding:10px;border-radius:17px;box-shadow:var(--shadow);display:flex;gap:8px}
.searchbox input,.searchbox select{border:0;background:#f7f9fc;border-radius:12px;padding:14px;width:100%;outline:none}
.quick-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.tag{border:1px solid rgba(255,255,255,.24);color:#fff;background:rgba(255,255,255,.08);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700}
.hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:24px;backdrop-filter:blur(12px)}
.hero-profile{display:grid;grid-template-columns:70px 1fr;gap:15px;align-items:center;margin-bottom:14px;background:rgba(255,255,255,.1);border-radius:18px;padding:14px}
.avatar{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#d9e4f4,#fff);display:grid;place-items:center;color:var(--primary);font-weight:900;font-size:22px;border:3px solid rgba(255,255,255,.55)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.stat{background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow);color:var(--text)}
.stat b{font-size:28px;color:var(--primary)}
.section{padding:54px 0}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-title h2{margin:0;font-size:30px;color:#172033}
.section-title p{margin:6px 0 0;color:var(--muted)}
.grid{display:grid;gap:18px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:0 10px 28px rgba(16,24,40,.04)}
.category-card{text-align:center;transition:.2s}
.category-card:hover,.profile-card:hover,.city-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.icon{width:52px;height:52px;border-radius:16px;background:#eef3fb;color:var(--primary);display:grid;place-items:center;font-size:24px;margin:0 auto 12px}
.profile-card{transition:.2s;padding:0;overflow:hidden}
.profile-cover{height:72px;background:linear-gradient(135deg,var(--primary),#143f7c)}
.profile-body{padding:0 18px 18px;margin-top:-34px}
.profile-card .avatar{margin:auto}
.profile-card h3{margin:10px 0 4px;text-align:center}
.meta{text-align:center;color:var(--muted);font-size:14px;line-height:1.5}
.party{display:inline-flex;gap:6px;align-items:center;margin:10px auto;background:#fff7e4;color:#6c4c08;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}
.profile-actions{display:flex;justify-content:center;margin-top:14px}
.city-card{position:relative;min-height:126px;overflow:hidden;color:#fff;background:linear-gradient(135deg,#102f63,#0a1e41);padding:20px;transition:.2s}
.city-card:after{content:"";position:absolute;right:-20px;bottom:-20px;width:110px;height:110px;border-radius:50%;background:rgba(212,162,58,.26)}
.city-code{font-size:28px;font-weight:900}
.city-card p{margin:5px 0 0;color:#dbe7f7}
.footer{background:#061c3d;color:#dbe7f7;padding:44px 0 20px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}
.footer h4{color:#fff;margin-top:0}
.footer a{display:block;margin:10px 0;color:#dbe7f7}
.copy{border-top:1px solid rgba(255,255,255,.13);margin-top:30px;padding-top:18px;text-align:center;color:#aab8cc}

.page-head{padding:38px 0;background:#fff;border-bottom:1px solid var(--border)}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:8px}
.layout{display:grid;grid-template-columns:280px 1fr;gap:22px}
.filter{position:sticky;top:96px;align-self:start}
.form-group{margin-bottom:15px}
label{display:block;font-size:13px;font-weight:800;margin-bottom:7px;color:#344054}
input,select,textarea{width:100%;border:1px solid var(--border);background:#fff;border-radius:12px;padding:13px;outline:none;font-family:inherit}
textarea{min-height:130px;resize:vertical}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:26px}
.pagination a{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);display:grid;place-items:center;background:#fff}
.pagination a.active{background:var(--primary);color:#fff}

.profile-hero{background:linear-gradient(135deg,#061c3d,#0b2b5c);color:#fff;padding:46px 0}
.profile-hero-grid{display:grid;grid-template-columns:140px 1fr auto;gap:24px;align-items:center}
.big-avatar{width:140px;height:140px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center;font-size:46px;font-weight:900;border:5px solid rgba(255,255,255,.6)}
.rating{color:#ffc94b;font-weight:900}
.tabs{display:flex;gap:8px;background:#fff;border-bottom:1px solid var(--border);overflow:auto}
.tab{padding:16px 20px;font-weight:800;color:#475467;border-bottom:3px solid transparent;cursor:pointer}
.tab.active{color:var(--primary);border-color:var(--accent)}
.tab-content{display:none}
.tab-content.active{display:block}
.info-list{display:grid;gap:12px}
.info-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:12px;color:#344054}

.form-shell{display:grid;grid-template-columns:1fr 320px;gap:22px}
.steps{display:grid;gap:12px}
.step{display:flex;gap:10px;align-items:center;color:#475467;font-weight:800}
.step span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eef3fb;color:var(--primary)}
.upload{border:2px dashed #cbd5e1;border-radius:20px;padding:35px;text-align:center;color:var(--muted);background:#fafcff}

.pricing{grid-template-columns:repeat(4,1fr)}
.price-card{position:relative}
.price-card.featured{border:2px solid var(--accent);transform:translateY(-8px)}
.ribbon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--accent);color:#111827;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:900}
.price{font-size:34px;font-weight:900;color:var(--primary);margin:16px 0}
.price span{font-size:13px;color:var(--muted)}
.check{margin:11px 0;color:#344054}

.dashboard{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 0px)}
.sidebar{background:#061c3d;color:#fff;padding:24px;position:sticky;top:0;height:100vh}
.sidebar .logo{color:#fff;margin-bottom:28px}
.side-menu a{display:flex;align-items:center;gap:10px;padding:13px;border-radius:13px;color:#dbe7f7;font-weight:800;margin-bottom:6px}
.side-menu a.active,.side-menu a:hover{background:var(--accent);color:#111827}
.dash-main{padding:28px}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--border)}
.table th,.table td{padding:14px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}
.table th{background:#f8fafc;color:#475467}
.status{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}
.status.ok{background:#e8fff5;color:var(--success)}
.status.wait{background:#fff7e4;color:#946200}

@media(max-width:900px){
  .mobile-toggle{display:block}
  .menu{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;padding:18px;box-shadow:var(--shadow)}
  .menu.show{display:flex}
  .actions{display:none}
  .hero-grid,.layout,.form-shell,.profile-hero-grid,.dashboard{grid-template-columns:1fr}
  h1{font-size:38px}
  .stats,.grid-4,.grid-3,.pricing,.kpi,.footer-grid{grid-template-columns:1fr}
  .sidebar{height:auto;position:relative}
  .searchbox{flex-direction:column}
}
