*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:#f5f7fb;color:#0f172a}
a{text-decoration:none;color:inherit}

/* NAV */
.nav{background:#ffffff;color:#0f172a;padding:10px 24px;display:flex;gap:18px;align-items:center;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:50}
.nav .brand{display:flex;align-items:center;margin-right:auto}
.nav-slogan{font-size:14px;font-weight:600;color:#0f172a;opacity:.8;margin-left:14px;max-width:360px;line-height:1.3}
.nav-buttons{display:flex;gap:10px;align-items:center}
.nav .btn{padding:10px 14px;border-radius:8px;font-size:14px}
.brand-logo{height:62px;width:auto;display:block}

/* HERO */
.hero{background:linear-gradient(135deg,#0ea5a4,#0284c7);color:#fff;padding:32px 20px;text-align:center}
.hero h1{margin:0 0 12px;font-size:40px}
.hero p{margin:0 0 20px;font-size:18px;opacity:.95}
.hero-logo{height:110px;width:auto;margin:0 auto 18px;display:block;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.hero.hero-filters{text-align:left}
.hero-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}
.hero-copy{max-width:420px;flex:0 1 auto}
.hero-filters h1{margin:0 0 10px;font-size:36px}
.hero-subline{margin:0;color:#e0f7ff;opacity:1;font-size:18px;font-weight:600}
.hero .filters{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;justify-content:flex-end;width:100%;max-width:1100px;box-shadow:0 12px 26px rgba(0,0,0,.14)}
.hero .filter-group{display:flex;flex-direction:column;gap:4px;min-width:170px;max-width:220px;flex:1 1 170px}
.hero .filter-group label{font-size:13px;font-weight:700;color:#f0fbff}
.hero .filter-group select{width:100%;padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.4);background:#fff;color:#0f172a;font-size:14px;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.hero .filter-reset{margin-left:auto;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.18);color:#fff;font-weight:800;cursor:pointer;transition:background .2s,transform .2s}
.hero .filter-reset:hover{background:rgba(255,255,255,.28);transform:translateY(-1px)}
.hero .filter-reset:active{transform:translateY(0)}

.btn{display:inline-block;background:#fff;color:#0ea5a4;padding:12px 18px;border-radius:10px;font-weight:700}
.btn.secondary{background:#0b9ab2;color:#fff}
.btn.active{pointer-events:none;cursor:default;box-shadow:none;opacity:.95}

.container{max-width:1100px;margin:0 auto;padding:40px 20px}
.results-count{font-weight:800;color:#0f172a;margin:0 0 12px;font-size:16px}
.month-row{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}
.calendar-container{width:240px;flex-shrink:0}
.calendar-month{background:#fff;border-radius:12px;padding:12px;box-shadow:0 6px 18px rgba(15,23,42,.08);box-sizing:border-box}
.calendar-month-header{text-align:center;font-size:15px;font-weight:800;margin-bottom:8px;color:#0f172a}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calendar-day-header{text-align:center;font-size:11px;font-weight:700;color:#64748b}
.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:6px;background:#f8fafc;border:1px solid #e2e8f0;color:#0f172a}
.calendar-day.other-month{background:#f1f5f9;color:#cbd5e1}
.calendar-day.has-range{font-weight:700}
.cards-container{flex:1;display:flex;flex-wrap:wrap;gap:14px;align-self:stretch;justify-content:flex-start}
.conference-card{display:flex;flex-direction:column;background:#fff;border-radius:12px;padding:0;border-left:4px solid transparent;box-shadow:0 6px 18px rgba(15,23,42,.08);color:inherit;transition:transform .15s,box-shadow .15s;overflow:hidden;flex:0 0 250px;width:250px}
.conference-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.12)}
.conference-card-image-wrapper{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#dbeafe}
.conference-card-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block}
.conference-date-badge{position:absolute;top:0;right:0;background:rgba(0,0,0,.2);color:#fff;font-weight:800;border-radius:0 0 0 8px;padding:6px 10px;font-size:12px;backdrop-filter:blur(2px)}
.conference-body{display:flex;flex-direction:column;flex:1 1 auto}
.conference-header{display:block;margin:12px 14px 6px;white-space:normal}
.conference-title{display:inline;font-weight:800;font-size:16px;color:#0f172a;font-family:'Roboto Condensed',Inter,Arial,Helvetica,sans-serif}
.conference-meta{display:inline;font-size:13px;color:#475569;margin-left:6px;font-family:'Roboto Condensed',Inter,Arial,Helvetica,sans-serif;font-weight:400}
.conference-date{display:none}
.conference-location{font-size:13px;color:#475569;margin:0 14px 8px}
.conference-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 14px 12px;margin-top:auto}
.tag{display:inline-block;background:#e2e8f0;color:#0f172a;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}
.tag.soft{background:#f1f5f9;color:#0f172a;font-weight:600}
.empty-state{text-align:center;color:#64748b;font-size:14px;margin-top:18px}

.table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(15,23,42,.08)}
.table th,.table td{padding:12px 12px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:14px}
.table th{background:#f1f5f9;font-weight:800}
.table tr:last-child td{border-bottom:none}

.input, select, textarea{width:100%;padding:10px;border-radius:10px;border:1px solid #cbd5e1;margin-top:6px;margin-bottom:14px;font-size:14px}
label{font-weight:800;font-size:13px}
.notice{background:#ecfeff;border:1px solid #a5f3fc;padding:14px;border-radius:12px}
.footer{padding:30px 20px;text-align:center;color:#64748b;font-size:14px}
code{background:#0f172a0d;padding:2px 6px;border-radius:6px}
