
:root{--bg:#f7f7f2;--card:#fff;--text:#172033;--muted:#667085;--primary:#2563eb;--border:#e5e7eb;--shadow:0 14px 35px rgba(15,23,42,.08)}
*{box-sizing:border-box} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)} a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.topbar{background:#0f172a;color:white}.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.logo{font-weight:900;display:flex;align-items:center;gap:10px}.logo-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#38bdf8,#22c55e);display:grid;place-items:center;color:#020617;font-weight:900}
.nav-links{display:flex;gap:18px;color:#cbd5e1;font-size:14px}.nav-links a:hover{color:white}
.hero{background:radial-gradient(circle at top left,rgba(56,189,248,.22),transparent 35%),radial-gradient(circle at top right,rgba(34,197,94,.14),transparent 35%),linear-gradient(135deg,#0f172a,#1e3a8a);color:white;padding:54px 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center}h1{font-size:clamp(34px,5vw,62px);line-height:1;margin:0 0 16px;letter-spacing:-1.8px}.hero p{color:#dbeafe;font-size:18px;max-width:720px}
.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#dbeafe;margin-bottom:16px}
main{padding:30px 0 54px}.panel,.card{background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.panel{padding:18px;margin-bottom:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:22px;transition:.2s ease}.card:hover{transform:translateY(-2px);border-color:#93c5fd}.card-icon{font-size:34px;margin-bottom:14px}.card h2,.card h3{margin:0 0 8px}.card p{color:var(--muted);line-height:1.5;margin:0 0 16px}
.button{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:white;border-radius:999px;padding:11px 15px;font-weight:800;border:0;cursor:pointer}.button.secondary{background:#eef2ff;color:#1e3a8a}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:18px}.stat strong{display:block;font-size:30px}.stat span{color:#bfdbfe;font-size:13px}
.filters{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:12px;align-items:end}label{display:block;font-size:13px;font-weight:800;color:var(--muted);margin-bottom:6px}input,select,button{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:14px;outline:none;background:white}
.layout{display:grid;grid-template-columns:1fr 360px;gap:20px}#map{height:680px;border-radius:22px;border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow)}.side{display:flex;flex-direction:column;gap:14px;max-height:680px;overflow:auto;padding-right:4px}
.result-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px;cursor:pointer}.result-card:hover{border-color:#93c5fd}.result-card h3{margin:0 0 8px;font-size:16px}.result-card p{margin:0 0 8px;color:var(--muted);font-size:13px}
.pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;margin-right:6px;margin-bottom:4px}.ok{background:#dcfce7;color:#166534}.ko{background:#fee2e2;color:#991b1b}.neutral{background:#e0f2fe;color:#075985}.warning{background:#fef3c7;color:#92400e}
.event-list{display:grid;gap:14px}.event-card{display:grid;grid-template-columns:95px 1fr auto;gap:16px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:var(--shadow)}
.datebox{background:#eff6ff;color:#1d4ed8;border-radius:16px;text-align:center;padding:12px 8px;font-weight:900}.datebox .day{display:block;font-size:28px;line-height:1}.datebox .month{display:block;font-size:12px;margin-top:4px}.event-card h3{margin:0 0 6px}.event-meta{color:var(--muted);font-size:14px}
footer{border-top:1px solid var(--border);color:var(--muted);padding:28px 0;font-size:14px}
@media(max-width:920px){.hero-grid,.layout,.filters,.grid-3,.stats{grid-template-columns:1fr}.nav-links{display:none}#map{height:520px}.side{max-height:none}.event-card{grid-template-columns:1fr}}
