:root{
  --green:#0e9f6e; /* emerald */
  --green-600:#059669;
  --green-700:#047857;
  --bg:#ffffff;
  --ink:#0b1320;
  --muted:#4b5563;
  --ring:#a7f3d0;
  --border:#e5e7eb;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji','Segoe UI Emoji';
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
a{color:var(--green-700); text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1080px;margin:0 auto;padding:16px}
.header{
  position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);
  z-index:50;backdrop-filter:saturate(180%) blur(8px)
}
.nav{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:8px 16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}
.brand-logo{width:28px;height:28px;border-radius:6px;box-shadow:0 0 0 3px var(--ring)}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--green);color:#fff;border:0;border-radius:12px;
  padding:10px 14px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px rgba(14,159,110,.18);
  transition:.2s transform ease,.2s box-shadow ease
}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(14,159,110,.22)}
.btn-outline{background:#fff;color:var(--green);border:2px solid var(--green)}
.grid{display:grid;gap:16px}
.grid.cities{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.card{
  border:1px solid var(--border);border-radius:16px;padding:16px;background:#fff;
  transition:.2s box-shadow ease,.2s transform ease
}
.card:hover{box-shadow:0 10px 24px rgba(0,0,0,.06);transform:translateY(-2px)}
.badge{font-size:12px;background:#ecfdf5;color:var(--green-700);padding:4px 8px;border-radius:999px;border:1px solid #d1fae5}
.hero{display:grid;gap:12px;padding:28px 16px;text-align:center}
.hero h1{font-size:28px;margin:0}
.hero p{color:var(--muted);margin:0 auto;max-width:720px}
.hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.searchbar{display:flex;gap:8px;margin:12px 0}
.input, textarea, select{
  width:100%;padding:12px 14px;border:1px solid var(--border);
  border-radius:12px;outline:0;font-size:16px;background:#fff
}
.input:focus, textarea:focus, select:focus{border-color:var(--green);box-shadow:0 0 0 4px var(--ring)}
.list{display:grid;gap:12px}
.item{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}
.item h3{margin:0 0 6px 0;font-size:18px}
.kv{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:#475569}
.kv span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:4px 8px}
.tabs{display:flex;gap:8px;margin:8px 0 12px}
.tab{padding:8px 12px;border:1px solid var(--border);border-radius:999px;cursor:pointer}
.tab.active{background:#ecfdf5;border-color:#a7f3d0;color:var(--green-700)}
.footer{border-top:1px solid var(--border);padding:20px;color:#64748b;text-align:center;margin-top:40px}
.notice{background:#ecfeff;border:1px solid #a5f3fc;padding:10px;border-radius:12px}
label{font-size:13px;color:#334155;font-weight:600;margin-bottom:6px;display:block}
.form-row{display:grid;gap:10px;margin-bottom:10px}
.form-two{grid-template-columns:1fr 1fr}
@media (max-width:640px){.form-two{grid-template-columns:1fr}}
.small{font-size:12px;color:#64748b}
.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:10px;border-radius:12px}
.error{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;padding:10px;border-radius:12px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;padding:16px}
.modal.show{display:flex}
.modal-card{background:#fff;max-width:560px;width:100%;border-radius:16px;border:1px solid var(--border);padding:16px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid var(--border);padding:8px;text-align:left;font-size:14px}
.table th{background:#f8fafc}
.alert{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;padding:10px;border-radius:12px}
.hr{height:1px;background:var(--border);border:0;margin:16px 0}
.hidden{display:none}