.r18-container { margin: 20px 0; }
.r18-header { background: #003082; color: white; padding: 20px; border-radius: 8px; margin-bottom: 20px; }
.r18-info-trigger { background: rgba(255,255,255,0.2); border: 1px solid white; color: white; padding: 5px 12px; border-radius: 4px; cursor: pointer; }
.r18-info-box { background: #f8fafc; padding: 20px; border-radius: 8px; border: 1px solid #cbd5e0; margin-bottom: 20px; }
.r18-description-box { line-height: 1.6; }
.r18-description-box a { color: #003082; text-decoration: underline; font-weight: bold; }

.r18-filter-panel { display: flex; flex-wrap: wrap; gap: 20px; background: #fff; padding: 15px; border: 1px solid #e2e8f0; border-radius: 8px; margin-bottom: 30px; }
.r18-filter-group { display: flex; flex-direction: column; gap: 5px; }
.r18-filter-group label { font-weight: bold; color: #64748b; text-transform: uppercase; font-size: 0.85em; }
.r18-filter-group select { padding: 8px; border-radius: 4px; border: 1px solid #cbd5e0; min-width: 200px; }

.r18-grid { display: flex; flex-wrap: wrap; gap: 30px; align-items: flex-start; }
.r18-location-section { flex: 1; min-width: 320px; display: none; flex-direction: column; }
.r18-cards-stack { display: flex; flex-direction: column; gap: 20px; }

.r18-loc-title { border-bottom: 2px solid #003082; color: #003082; padding-bottom: 5px; margin: 0 0 15px 0; }

.r18-card { background: white; border: 1px solid #e2e8f0; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.r18-card-header { background: #f8fafc; padding: 10px; font-weight: bold; border-bottom: 1px solid #e2e8f0; min-height: 40px; display: flex; align-items: center; }
.r18-table { width: 100%; border-collapse: collapse; }
.r18-table td { padding: 8px 12px; border-bottom: 1px solid #f1f5f9; }
.r18-num { text-align: right; font-weight: bold; color: #dc2626; }

.r18-grid.r18-full-width .r18-location-section { flex: 0 0 100%; }
.r18-grid.r18-full-width .r18-cards-stack { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }

.r18-hidden { display: none !important; }
.r18-btn-close { margin-top: 10px; padding: 6px 12px; cursor: pointer; }