/* Unified Reports Styles (Single File) - Aug 24 2025 */
/* All previous report-related CSS consolidated here. */

#reports-page * { box-sizing:border-box; }

/* Toolbar & Header */
#reports-page .reports-toolbar { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; padding:1rem 1.25rem; margin:0 0 1rem; background:linear-gradient(145deg,var(--card) 0%,var(--surface-secondary) 100%); border:1px solid var(--card-border); border-radius:1rem; position:relative; overflow:hidden; }
#reports-page .reports-toolbar:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 110% -15%, var(--accent) 0%, transparent 70%); opacity:.18; pointer-events:none; }
#reports-page .reports-title { margin:0; font-size:1.9rem; font-weight:700; letter-spacing:.4px; background:linear-gradient(120deg,var(--primary),var(--accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
#reports-page .reports-sub { margin:.25rem 0 0; font-size:.85rem; opacity:.65; }
#reports-page .toolbar-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
#reports-page .toolbar-actions .btn { background:var(--surface-secondary); border:1px solid var(--border); font-size:.65rem; padding:.6rem .9rem; border-radius:.6rem; font-weight:600; letter-spacing:.05em; cursor:pointer; transition:.35s ease; }
#reports-page .toolbar-actions .btn-primary { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); box-shadow:0 2px 10px -4px rgba(0,0,0,.5); }
#reports-page .toolbar-actions .btn:hover:not(.btn-primary) { background:var(--surface-tertiary); }

/* Metrics */
#reports-page .reports-metrics { display:flex; gap:.45rem; flex-wrap:wrap; }
#reports-page .metric-chip { background:linear-gradient(135deg,var(--surface-secondary),var(--surface-tertiary)); border:1px solid var(--border); padding:.45rem .75rem; border-radius:1rem; font-size:.6rem; font-weight:600; letter-spacing:.06em; position:relative; overflow:hidden; }
#reports-page .metric-chip:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 130% -20%,var(--accent) 0%,transparent 70%); opacity:.25; }

/* Filters Row */
#reports-page .reports-filters-row { display:flex; gap:1rem; align-items:center; margin:0 0 .9rem; }
#reports-page .reports-search { flex:1; background:var(--surface-secondary); border:1px solid var(--border); border-radius:.7rem; padding:.75rem 1rem; font-size:.75rem; letter-spacing:.02em; }
#reports-page .reports-search:focus { outline:2px solid var(--primary); border-color:var(--primary); }
#reports-page .tag-filters { display:flex; gap:.35rem; flex-wrap:wrap; }
#reports-page .tag-filters button { border:1px solid var(--border); background:var(--surface-secondary); color:var(--foreground-secondary); font-size:.6rem; padding:.45rem .85rem; border-radius:1.2rem; cursor:pointer; font-weight:600; letter-spacing:.05em; }
#reports-page .tag-filters button.active, #reports-page .tag-filters button:hover { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }

/* Grid */
#reports-page [data-reports-grid] { display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:1rem; align-items:start; }

/* Card */
#reports-page .report-card { display:flex; flex-direction:column; gap:.5rem; background:linear-gradient(145deg,var(--card),var(--surface-secondary)); border:1px solid var(--card-border); border-radius:.9rem; padding:1.05rem 1.1rem 1.1rem; position:relative; box-shadow:0 2px 4px -2px rgba(0,0,0,.5); transition:.45s cubic-bezier(.4,.14,.3,1); overflow:hidden; }
#reports-page .report-card:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 120% -10%,var(--accent) 0%, transparent 70%); opacity:0; transition:opacity .6s ease; pointer-events:none; }
#reports-page .report-card:hover { transform:translateY(-5px); box-shadow:0 10px 26px -12px rgba(0,0,0,.65),0 4px 14px -6px rgba(0,0,0,.4); }
#reports-page .report-card:hover:before { opacity:.22; }
#reports-page .report-card.favorited { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent) inset,0 6px 22px -10px rgba(0,0,0,.55); }
#reports-page .report-name { margin:0; font-size:1rem; font-weight:600; letter-spacing:.03em; line-height:1.25; }
#reports-page .report-desc { margin:0; font-size:.7rem; line-height:1.4; opacity:.75; }
#reports-page .report-tags { display:flex; gap:.3rem; flex-wrap:wrap; }
#reports-page .tag-chip { background:var(--surface-tertiary); border:1px solid var(--border); font-size:.55rem; padding:.25rem .5rem .3rem; border-radius:1rem; letter-spacing:.06em; font-weight:600; }
#reports-page .card-meta { display:flex; flex-wrap:wrap; gap:.4rem .6rem; font-size:.6rem; opacity:.85; }
#reports-page .status-chip { font-size:.6rem; padding:.3rem .6rem .35rem; border-radius:.65rem; background:var(--surface-tertiary); border:1px solid var(--border); font-weight:600; letter-spacing:.06em; }
#reports-page .status-chip.status-completed { background:var(--success-light); color:var(--success); border-color:var(--success); }
#reports-page .status-chip.status-failed { background:var(--destructive-light); color:var(--destructive); border-color:var(--destructive); }
#reports-page .status-chip.status-running { background:var(--warning-light); color:var(--warning); border-color:var(--warning); }
#reports-page .actions-row { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.3rem; }
#reports-page .actions-row button { font-size:.55rem; padding:.45rem .7rem; border:1px solid var(--border); background:var(--surface-secondary); border-radius:.55rem; font-weight:600; letter-spacing:.05em; cursor:pointer; transition:.35s ease; }
#reports-page .actions-row button:hover { background:var(--surface-tertiary); }
#reports-page .actions-row button.danger { background:var(--destructive); color:var(--primary-foreground); border-color:var(--destructive); }

/* Empty State */
#reports-page .empty-state { padding:2.2rem 1.6rem 2.4rem; border:1px dashed var(--border); border-radius:.9rem; background:linear-gradient(145deg,var(--surface-secondary),var(--surface-tertiary)); text-align:left; display:flex; flex-direction:column; gap:.55rem; animation:fadeIn .6s ease; box-shadow:0 4px 18px -8px rgba(0,0,0,.5) inset; }
#reports-page .empty-state h3 { margin:0; font-size:1.05rem; font-weight:700; }
#reports-page .empty-state p { margin:0 0 .65rem; font-size:.7rem; line-height:1.5; opacity:.7; max-width:340px; }
#reports-page .empty-state .btn { align-self:flex-start; font-size:.55rem; padding:.5rem .8rem; border-radius:.6rem; }

/* Modal */
[data-reports-modals] .modal-overlay { position:fixed; inset:0; z-index:4200; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.55); backdrop-filter:blur(6px); animation:fadeIn .4s ease; }
[data-reports-modals] .modal-content { position:relative; background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius-xl); width:clamp(840px,80vw,1280px); max-width:96vw; max-height:82vh; display:flex; flex-direction:column; box-shadow:0 10px 32px -8px rgba(0,0,0,.45), 0 4px 14px -6px rgba(0,0,0,.35); overflow:hidden; animation:scaleIn .45s cubic-bezier(.6,.3,.2,1); }
[data-reports-modals] .modal-content.large { width:clamp(900px,90vw,1400px); }
[data-reports-modals] .modal-header { display:flex; justify-content:space-between; align-items:center; padding:.85rem 1rem .75rem; border-bottom:1px solid var(--border); position:relative; }
[data-reports-modals] .modal-header::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--primary),var(--accent)); opacity:.75; }
[data-reports-modals] .modal-title { margin:0; font-size:1rem; }
[data-reports-modals] .modal-body { padding:1rem 1.1rem 1.25rem; overflow-y:auto; font-size:.7rem; }

/* Builder */
.builder-shell { display:grid; grid-template-columns:260px 1fr 300px; gap:.8rem; min-height:520px; }
@media (max-width:1100px){ .builder-shell { grid-template-columns:220px 1fr 240px; } }
@media (max-width:900px){ .builder-shell { grid-template-columns:1fr; } .builder-panel.right { order:3; } .builder-panel.left { order:1; } .builder-canvas { order:2; } }
.builder-panel { background:linear-gradient(140deg,var(--surface-secondary),var(--surface-tertiary)); border:1px solid var(--border); border-radius:.75rem; display:flex; flex-direction:column; overflow:hidden; }
.builder-panel header { padding:.6rem .7rem .55rem; font-size:.5rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid var(--border); opacity:.8; }
.builder-panel .panel-body { flex:1; overflow:auto; padding:.55rem .6rem .7rem; display:flex; flex-direction:column; gap:.5rem; }
.dataset-item, .field-item, .selected-field, .filter-item { background:var(--surface-secondary); border:1px solid var(--border); border-radius:.5rem; padding:.4rem .5rem; font-size:.55rem; display:flex; align-items:center; gap:.45rem; cursor:grab; }
.dataset-item:hover, .field-item:hover, .selected-field:hover, .filter-item:hover { background:var(--surface-tertiary); }
.builder-canvas { background:linear-gradient(140deg,var(--surface-secondary),var(--surface-tertiary)); border:1px solid var(--border); border-radius:.75rem; padding:.8rem .85rem .9rem; display:flex; flex-direction:column; }
.selected-field-list { min-height:120px; border:2px dashed var(--border); border-radius:.65rem; padding:.5rem; background:var(--surface-secondary); }
.preview-toolbar { display:flex; gap:.4rem; justify-content:flex-end; margin-top:auto; padding-top:.6rem; }
.preview-output { margin-top:.6rem; background:var(--surface-secondary); border:1px solid var(--border); border-radius:.6rem; padding:.6rem; max-height:240px; overflow:auto; font-size:.55rem; }

/* Animations */
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes scaleIn { from { transform:translateY(18px) scale(.95); opacity:0;} to { transform:translateY(0) scale(1); opacity:1;} }

/* Utility */
#reports-page .btn { cursor:pointer; }
#reports-page .btn-primary { background:var(--primary); color:var(--primary-foreground); border:1px solid var(--primary); }
#reports-page .btn-primary:hover { filter:brightness(1.06); }
#reports-page .btn-outline { background:transparent; border:1px solid var(--border); }
#reports-page .btn-outline:hover { border-color:var(--primary); color:var(--primary); }

/* Focus */
#reports-page button:focus-visible, #reports-page [tabindex]:focus-visible, #reports-page input:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

/* Toasts */
.toast-container { position:fixed; bottom:1rem; right:1rem; display:flex; flex-direction:column; gap:.5rem; z-index:5000; }
.toast { background:var(--card); border:1px solid var(--card-border); padding:.55rem .7rem; border-radius:.6rem; font-size:.55rem; box-shadow:0 6px 20px -8px rgba(0,0,0,.55); }

/* === Builder Full-Space & Larger Content Overrides (Aug 24 2025) === */
[data-reports-modals] .modal-content { height:auto; max-height:none; display:flex; flex-direction:column; }
[data-reports-modals] .modal-body { flex:1; display:flex; flex-direction:column; overflow:visible; padding:1.1rem 1.25rem 1.4rem; }
.rb-frame { height:100%; }
.rb-main { flex:1; display:flex; flex-direction:column; }
.rb-tab-panel { overflow:visible; }
.rb-tab-panel.active { flex:1; }
/* Scale up typography & controls */
.rb-side header, .rb-meta-pane > header { font-size:.7rem; }
.ds-pill, .field-chip { font-size:.8rem; padding:.55rem .8rem; }
.title-input { font-size:1rem; padding:.75rem 1rem; width:400px; }
.panel-block h4 { font-size:.75rem; }
.mini, .mini.add, .mini.danger { font-size:.65rem; padding:.3rem .6rem; }
.pill { font-size:.65rem; padding:.38rem .7rem .42rem; }
.measure-row, .filter-row, .param-row { font-size:.65rem; }
.measure-row select, .filter-row select, .measure-row input, .filter-row input, .param-row input { font-size:.65rem; padding:.45rem .6rem; }
.param-row .chk { font-size:.65rem; }
.tab-btn { font-size:.7rem; padding:.6rem 1rem; }
.preview-modes button { font-size:.65rem; padding:.5rem .85rem; }
.prev-output, .mini-table { font-size:.65rem; }
.meta-form label { font-size:.7rem; }
.meta-form input, .meta-form textarea, .meta-form select { font-size:.75rem; padding:.75rem .85rem; }
.status-badge { font-size:.65rem; padding:.33rem .65rem .4rem; }
/* Panel height use available vertical space */
.rb-tab-panel.active .panel-grid { min-height:320px; }
.panel-block { flex:1; }
.panel-block.full { min-height:320px; }
.pill-zone { min-height:60px; }
/* Limit preview output internal scroll but allow growth */
.prev-output { max-height:420px; }

/* === Enlarged Modal & Builder Scale Overrides (Aug 24 2025) === */
[data-reports-modals] .modal-overlay { padding:1.25rem 1.25rem 1.4rem; }
[data-reports-modals] .modal-content { width:calc(100vw - 3.5rem); max-width:2000px; height:calc(100vh - 4rem); max-height:calc(100vh - 4rem); display:flex; flex-direction:column; /* reduced height to prevent outer page scroll */ }
[data-reports-modals] .modal-content.large { width:calc(100vw - 2.5rem); height:calc(100vh - 3.25rem); max-height:calc(100vh - 3.25rem); }
[data-reports-modals] .modal-content.fullscreen { width:100vw; max-width:none; height:100vh; max-height:100vh; border-radius:0; }
.rb-frame { grid-template-columns:320px 1fr 340px; }
@media (max-width:1500px){ .rb-frame { grid-template-columns:300px 1fr 320px; } }
@media (max-width:1400px){ .rb-frame { grid-template-columns:280px 1fr 300px; } }
@media (max-width:1200px){ .rb-frame { grid-template-columns:240px 1fr 260px; } }
body.modal-open { overflow:hidden; }
/* Font / spacing scale */
.ds-pill, .field-chip { font-size:.85rem; padding:.65rem .9rem; width:100%; text-align:left; }
.rb-side header, .rb-meta-pane > header { font-size:.75rem; }
.rb-scroll.datasets { flex:1; }
.rb-scroll.datasets::-webkit-scrollbar { width:8px; }
.rb-scroll.datasets::-webkit-scrollbar-track { background:transparent; }
.rb-scroll.datasets::-webkit-scrollbar-thumb { background:var(--surface-tertiary); border-radius:4px; }
.panel-block h4 { font-size:.7rem; }
.mini, .mini.add, .mini.danger { font-size:.6rem; }
.pill { font-size:.6rem; padding:.35rem .65rem .4rem; }
.measure-row, .filter-row, .param-row { font-size:.6rem; }
.measure-row select, .filter-row select, .measure-row input, .filter-row input, .param-row input { font-size:.6rem; padding:.4rem .55rem; }
.param-row .chk { font-size:.6rem; }
.title-input { font-size:1.05rem; padding:.85rem 1.05rem; width:430px; }
.subtitle { font-size:.6rem; }
.tab-btn { font-size:.65rem; padding:.55rem .9rem; }
.preview-modes button { font-size:.6rem; padding:.45rem .75rem; }
.prev-output, .mini-table { font-size:.6rem; }
.meta-form label { font-size:.65rem; }
.meta-form input, .meta-form textarea, .meta-form select { font-size:.7rem; padding:.65rem .75rem; }
.status-badge { font-size:.6rem; padding:.3rem .6rem .35rem; }
/* Fix legacy malformed selectors (removed old broken definitions) */

/* Grid Layout */
.reports-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1.4rem; margin:0 0 2.25rem; }

/* Widget Base */
.reports-widget { background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius-xl); padding:1.5rem 1.6rem 1.55rem; box-shadow:0 2px 4px -2px rgba(0,0,0,.08), 0 4px 16px -6px rgba(0,0,0,.18); position:relative; overflow:hidden; transition:background .45s ease, box-shadow .55s ease, transform .55s cubic-bezier(.4,.14,.3,1), border-color .45s ease; }
.reports-widget::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--primary),var(--accent)); opacity:.75; }
.reports-widget:hover { transform:translateY(-6px); box-shadow:0 10px 26px -10px rgba(0,0,0,.45),0 4px 14px -6px rgba(0,0,0,.25); border-color:var(--border-hover,var(--primary)); }

/* Report Categories */
.report-categories {
  grid-column: span 12;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

.category-card { background:linear-gradient(135deg,var(--surface-secondary),var(--surface-tertiary)); border:1px solid var(--border); border-radius:1rem; padding:1.6rem 1.5rem 1.65rem; position:relative; overflow:hidden; cursor:pointer; transition:background .45s ease, transform .55s cubic-bezier(.4,.14,.3,1), box-shadow .55s ease, border-color .5s ease; }
.category-card::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 25% 15%, rgba(255,255,255,.2), transparent 70%); opacity:0; transition:opacity .55s ease; }
.category-card:hover { transform:translateY(-6px); box-shadow:0 10px 28px -10px rgba(0,0,0,.45),0 4px 14px -6px rgba(0,0,0,.25); border-color:var(--border-hover,var(--primary)); }
.category-card:hover::after { opacity:1; }

.category-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
}

.category-card.financial::before {
  background: linear-gradient(135deg, hsl(var(--success)), hsl(var(--primary)));
}

.category-card.operational::before {
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent)));
}

.category-card.analytics::before {
  background: linear-gradient(135deg, hsl(var(--accent)), hsl(var(--warning)));
}

.category-card.compliance::before {
  background: linear-gradient(135deg, hsl(var(--warning)), hsl(var(--destructive)));
}

.category-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.category-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(var(--primary-foreground));
}

.category-icon.financial {
  background: linear-gradient(135deg, hsl(var(--success)), hsl(var(--primary)));
}

.category-icon.operational {
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent)));
}

.category-icon.analytics {
  background: linear-gradient(135deg, hsl(var(--accent)), hsl(var(--warning)));
}

.category-icon.compliance {
  background: linear-gradient(135deg, hsl(var(--warning)), hsl(var(--destructive)));
}

.category-title {
  font-size: var(--font-size-xl);
  font-weight: 700;
  color: hsl(var(--foreground));
  margin: 0;
}

.category-description {
  font-size: var(--font-size-sm);
  color: hsl(var(--foreground-secondary));
  margin-bottom: 1.5rem;
}

.report-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.report-item { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:.85rem 1rem .9rem; background:var(--surface-secondary); border:1px solid var(--border); border-radius:.85rem; cursor:pointer; position:relative; overflow:hidden; transition:background .4s ease, transform .55s cubic-bezier(.4,.14,.3,1), box-shadow .55s ease, border-color .45s ease; }
.report-item::before { content:""; position:absolute; inset:0; background:linear-gradient(140deg,var(--surface-tertiary) 0%,transparent 70%); opacity:0; transition:opacity .55s ease; }
.report-item:hover { background:var(--surface-tertiary); transform:translateY(-4px); box-shadow:0 6px 16px -6px rgba(0,0,0,.4); border-color:var(--border-hover); }
.report-item:hover::before { opacity:1; }

.report-info {
  flex: 1;
}

.report-name {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: hsl(var(--foreground));
  margin: 0 0 0.25rem 0;
}

.report-description {
  font-size: var(--font-size-sm);
  color: hsl(var(--foreground-secondary));
}

.report-actions {
  display: flex;
  gap: 0.5rem;
}

.report-btn { padding:.45rem .85rem; border:1px solid var(--border); background:var(--secondary); color:var(--foreground-secondary); font-size:.6rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; border-radius:.55rem; cursor:pointer; transition:background .35s ease, color .35s ease, border-color .4s ease, transform .5s cubic-bezier(.4,.14,.3,1); }
.report-btn:hover { background:var(--surface-tertiary); color:var(--foreground); }
.report-btn.primary { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); box-shadow:0 2px 6px -2px rgba(0,0,0,.35); }
.report-btn.primary:hover { filter:brightness(1.06); }

/* Recent Reports Widget */
.recent-reports-widget {
  grid-column: span 6;
}

.recent-reports-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.recent-report-item { display:flex; align-items:center; gap:.9rem; padding:.9rem 1rem; background:var(--surface-secondary); border:1px solid var(--border); border-radius:.95rem; cursor:pointer; position:relative; transition:background .4s ease, transform .55s cubic-bezier(.4,.14,.3,1), box-shadow .55s ease, border-color .4s ease; }
.recent-report-item:hover { background:var(--surface-tertiary); transform:translateY(-5px); box-shadow:0 8px 20px -8px rgba(0,0,0,.4); border-color:var(--border-hover); }

.recent-report-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent)));
  color: hsl(var(--primary-foreground));
  display: flex;
  align-items: center;
  justify-content: center;
}

.recent-report-info {
  flex: 1;
}

.recent-report-name {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: hsl(var(--foreground));
  margin: 0 0 0.25rem 0;
}

.recent-report-meta {
  font-size: var(--font-size-sm);
  color: hsl(var(--foreground-secondary));
}

.recent-report-status {
  padding: 0.25rem 0.75rem;
  border-radius: var(--radius-sm);
  font-size: var(--font-size-xs);
  font-weight: 500;
}

.status-generated {
  background: hsl(var(--success-light));
  color: hsl(var(--success));
}

.status-processing {
  background: hsl(var(--warning-light));
  color: hsl(var(--warning));
}

.status-failed {
  background: hsl(var(--destructive-light));
  color: hsl(var(--destructive));
}

/* Scheduled Reports Widget */
.scheduled-reports-widget {
  grid-column: span 6;
}

.scheduled-reports-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.scheduled-report-item { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:.85rem 1rem; background:var(--surface-secondary); border:1px solid var(--border); border-radius:.85rem; position:relative; transition:background .4s ease, transform .55s cubic-bezier(.4,.14,.3,1), box-shadow .5s ease, border-color .45s ease; }
.scheduled-report-item:hover { background:var(--surface-tertiary); transform:translateY(-4px); box-shadow:0 6px 16px -6px rgba(0,0,0,.4); border-color:var(--border-hover); }

.scheduled-report-info {
  flex: 1;
}

.scheduled-report-name {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: hsl(var(--foreground));
  margin: 0 0 0.25rem 0;
}

.scheduled-report-schedule {
  font-size: var(--font-size-sm);
  color: hsl(var(--foreground-secondary));
}

.schedule-controls {
  display: flex;
  gap: 0.5rem;
}

.schedule-btn {
  width: 32px;
  height: 32px;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--surface-secondary));
  color: hsl(var(--foreground-secondary));
  border-radius: var(--radius);
  cursor: pointer;
  transition: all var(--transition-fast);
  display: flex;
  align-items: center;
  justify-content: center;
}

.schedule-btn:hover {
  background: hsl(var(--surface-tertiary));
  color: hsl(var(--foreground));
}

.schedule-btn.active {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border-color: hsl(var(--primary));
}

/* Report Builder Widget */
.report-builder-widget {
  grid-column: span 12;
}

.builder-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}

.builder-step { text-align:center; padding:1.25rem 1.1rem 1.4rem; background:var(--surface-secondary); border:1px solid var(--border); border-radius:1rem; cursor:pointer; position:relative; overflow:hidden; transition:background .45s ease, transform .55s cubic-bezier(.4,.14,.3,1), box-shadow .55s ease, border-color .45s ease; }
.builder-step::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 30% 25%, rgba(255,255,255,.12), transparent 70%); opacity:0; transition:opacity .6s ease; }
.builder-step:hover { transform:translateY(-6px); box-shadow:0 8px 18px -8px rgba(0,0,0,.4); border-color:var(--border-hover); }
.builder-step:hover::after { opacity:1; }

.builder-step.active { background:linear-gradient(135deg,var(--primary) 0%, var(--accent) 100%); color:var(--primary-foreground); border-color:var(--primary); box-shadow:0 0 0 1px var(--primary) inset, 0 4px 16px -6px rgba(0,0,0,.4); }
.builder-step.completed { background:linear-gradient(135deg,var(--success) 0%, var(--primary) 100%); color:var(--primary-foreground); border-color:var(--success); }

.step-number {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: hsl(var(--border));
  color: hsl(var(--foreground-muted));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  font-weight: 600;
}

.builder-step.active .step-number {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

.builder-step.completed .step-number {
  background: hsl(var(--success));
  color: hsl(var(--primary-foreground));
}

.step-title {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: hsl(var(--foreground));
  margin: 0 0 0.5rem 0;
}

.step-description {
  font-size: var(--font-size-sm);
  color: hsl(var(--foreground-secondary));
}

 .builder-content { background:linear-gradient(145deg,var(--surface-secondary),var(--surface-tertiary)); border:1px solid var(--border); border-radius:1.15rem; padding:2rem 2.2rem;
  text-align: center;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.builder-placeholder {
  color: hsl(var(--foreground-muted));
}

/* Responsive Design */
@media (max-width: 768px) {
  .reports-container { padding:1rem 1rem 2rem; }
  
  .reports-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .report-categories,
  .recent-reports-widget,
  .scheduled-reports-widget,
  .report-builder-widget {
    grid-column: span 1;
  }
  
  .report-categories {
    grid-template-columns: 1fr;
  }
  
  .builder-steps { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width:1500px){ .reports-grid { grid-template-columns:repeat(12, minmax(0,1fr)); } }

@keyframes rptFadeIn { from { opacity:0; transform:translateY(12px);} to { opacity:1; transform:translateY(0);} }

/* === Saved Reports Library Enhancements === */
.report-card { display:flex; flex-direction:column; gap:.6rem; background:var(--card); border:1px solid var(--card-border); border-radius:1rem; padding:1rem 1.1rem 1rem; position:relative; grid-column:span 6; box-shadow:0 2px 4px -2px rgba(0,0,0,.08); transition:box-shadow .35s ease, transform .4s ease, border-color .35s ease; }
@media (min-width:1100px){ .report-card { grid-column:span 4; } }
@media (max-width:820px){ .report-card { grid-column:span 12; } }
.report-card:hover { box-shadow:0 10px 24px -12px rgba(0,0,0,.5); transform:translateY(-4px); border-color:var(--border-hover,var(--primary)); }
.report-card-main { display:flex; gap:1rem; }
.report-thumb { width:96px; height:72px; background:linear-gradient(135deg,var(--surface-secondary),var(--surface-tertiary)); border:1px solid var(--border); border-radius:.75rem; position:relative; overflow:hidden; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:.65rem; font-weight:600; color:var(--foreground-muted); letter-spacing:.05em; }
.report-card-header { flex:1; min-width:0; }
.report-name { margin:0 0 .25rem; font-size:1rem; font-weight:600; line-height:1.2; }
.report-desc { margin:0 0 .35rem; font-size:.7rem; line-height:1.3; color:var(--foreground-secondary); max-width:560px; }
.report-tags { display:flex; flex-wrap:wrap; gap:.35rem; }
.tag-chip { background:var(--surface-secondary); border:1px solid var(--border); padding:.25rem .55rem .28rem; font-size:.55rem; font-weight:500; border-radius:1rem; letter-spacing:.05em; text-transform:uppercase; color:var(--foreground-secondary); }
.report-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem .75rem; font-size:.55rem; margin:.15rem 0 .25rem; }
.meta-row { display:flex; gap:.25rem; align-items:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.meta-label { opacity:.65; }
.run-status { font-weight:600; }
.status-completed { color:hsl(var(--success)); }
.status-failed, .status-error { color:hsl(var(--destructive)); }
.status-queued { color:hsl(var(--warning)); }
.report-actions-row { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.25rem; }
.ra-btn { --btn-bg:var(--surface-secondary); background:var(--btn-bg); border:1px solid var(--border); font-size:.55rem; font-weight:600; padding:.35rem .55rem; border-radius:.55rem; letter-spacing:.05em; cursor:pointer; transition:background .35s ease, color .35s ease, border-color .35s ease, transform .4s ease; text-transform:uppercase; }
.ra-btn.run, .ra-btn.preview { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }
.ra-btn.run:hover, .ra-btn.preview:hover { filter:brightness(1.06); }
.ra-btn[disabled]{ opacity:.4; cursor:not-allowed; }
.report-visibility { font-size:.55rem; font-weight:600; padding:.25rem .45rem; background:var(--surface-secondary); border:1px solid var(--border); border-radius:.5rem; text-transform:uppercase; letter-spacing:.05em; }
.broken-banner { position:absolute; left:0; right:0; bottom:0; background:linear-gradient(140deg,var(--destructive),var(--warning)); color:#fff; font-size:.6rem; padding:.3rem .6rem; font-weight:600; letter-spacing:.05em; display:flex; align-items:center; gap:.4rem; }

/* Favorites */
.report-card.favorited { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent) inset, 0 4px 18px -8px rgba(0,0,0,.4); }

/* Bulk selection highlight */
.report-card.bulk-selected { outline:2px solid var(--primary); outline-offset:2px; }

/* Modal Base */
.report-modal { position:fixed; inset:0; z-index:500; display:flex; align-items:center; justify-content:center; animation:fadeIn .35s ease; }
.report-modal-overlay { position:absolute; inset:0; background:rgba(0,0,0,.55); backdrop-filter:blur(4px); }
.report-modal-dialog { position:relative; z-index:1; background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius-xl); width:min(1000px,92vw); max-height:90vh; display:flex; flex-direction:column; box-shadow:0 18px 48px -16px rgba(0,0,0,.6); animation:scaleIn .4s cubic-bezier(.4,.14,.3,1); }
.report-modal-dialog.large { width:min(1400px,96vw); }
.modal-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem .9rem; border-bottom:1px solid var(--border); }
.modal-header h2 { margin:0; font-size:1.1rem; font-weight:700; }
.modal-close { background:var(--surface-secondary); border:1px solid var(--border); width:32px; height:32px; border-radius:.65rem; cursor:pointer; }
.modal-close:hover { background:var(--surface-tertiary); }
.modal-body { padding:1.1rem 1.25rem 1.4rem; overflow:auto; }

@keyframes fadeIn { from { opacity:0;} to { opacity:1;} }
@keyframes scaleIn { from { transform:translateY(18px) scale(.95); opacity:0;} to { transform:translateY(0) scale(1); opacity:1;} }

/* Builder Layout */
.builder-shell { display:grid; grid-template-columns:280px 1fr 320px; gap:1rem; min-height:520px; }
@media (max-width:1100px){ .builder-shell { grid-template-columns:240px 1fr 260px; } }
@media (max-width:880px){ .builder-shell { grid-template-columns:1fr; } .builder-panel.right { order:3; } .builder-panel.left { order:1; } .builder-canvas { order:2; } }
.builder-panel { background:linear-gradient(145deg,var(--surface-secondary),var(--surface-tertiary)); border:1px solid var(--border); border-radius:.9rem; display:flex; flex-direction:column; overflow:hidden; }
.builder-panel header { padding:.75rem .85rem .65rem; font-size:.65rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--foreground-secondary); display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--border); }
.builder-panel .panel-body { flex:1; overflow:auto; padding:.65rem .75rem .85rem; display:flex; flex-direction:column; gap:.6rem; }
.dataset-list, .field-list, .selected-field-list, .filter-list { display:flex; flex-direction:column; gap:.35rem; }
.dataset-item, .field-item, .selected-field, .filter-item { background:var(--surface-secondary); border:1px solid var(--border); border-radius:.55rem; padding:.45rem .55rem; font-size:.65rem; display:flex; align-items:center; gap:.5rem; cursor:grab; position:relative; }
.dataset-item:hover, .field-item:hover, .selected-field:hover, .filter-item:hover { background:var(--surface-tertiary); }
.selected-field.dragging { opacity:.4; }
.field-badge { background:var(--primary); color:var(--primary-foreground); font-size:.55rem; padding:.2rem .4rem; border-radius:.45rem; font-weight:600; }
.builder-canvas { background:linear-gradient(145deg,var(--surface-secondary),var(--surface-tertiary)); border:1px solid var(--border); border-radius:.9rem; padding:1rem 1rem 1.1rem; display:flex; flex-direction:column; min-height:400px; }
.canvas-header { display:flex; align-items:center; justify-content:space-between; margin:0 0 .75rem; }
.canvas-header h3 { margin:0; font-size:.9rem; font-weight:600; }
.selected-field-list { min-height:140px; border:2px dashed var(--border); border-radius:.75rem; padding:.6rem .6rem .7rem; background:var(--surface-secondary); }
.selected-field { cursor:grab; }
.preview-toolbar { display:flex; gap:.5rem; justify-content:flex-end; margin-top:auto; padding-top:.75rem; }
.preview-output { margin-top:.75rem; background:var(--surface-secondary); border:1px solid var(--border); border-radius:.75rem; padding:.75rem .85rem; max-height:260px; overflow:auto; font-size:.65rem; }
.preview-output table { width:100%; border-collapse:collapse; font-size:.6rem; }
.preview-output th, .preview-output td { padding:.35rem .4rem; border:1px solid var(--border); text-align:left; }
.preview-status { font-size:.6rem; margin-left:auto; opacity:.8; }

/* Advanced Builder */
.builder-advanced { display:flex; flex-direction:column; gap:.75rem; margin-top:.85rem; }
.groupby-section, .measures-section, .joins-section { background:var(--surface-secondary); border:1px solid var(--border); border-radius:.65rem; padding:.55rem .6rem .65rem; display:flex; flex-direction:column; gap:.5rem; }
.section-title { font-size:.55rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; opacity:.75; display:flex; align-items:center; gap:.4rem; }
.pill-list { display:flex; flex-wrap:wrap; gap:.4rem; }
.pill { background:var(--surface-tertiary); border:1px solid var(--border); padding:.3rem .55rem .34rem; font-size:.6rem; border-radius:1rem; display:flex; gap:.4rem; align-items:center; }
.pill button { all:unset; cursor:pointer; font-size:.7rem; opacity:.65; }
.pill button:hover { opacity:1; }
.add-small { font-size:.55rem; padding:.3rem .6rem; border:1px dashed var(--border); background:var(--surface-secondary); border-radius:.55rem; cursor:pointer; letter-spacing:.05em; }
.add-small:hover { background:var(--surface-tertiary); }
.validation-msg { font-size:.55rem; color:hsl(var(--destructive)); }
.measure-row { display:grid; grid-template-columns:100px 80px 1fr 60px; gap:.4rem; align-items:center; }
.measure-row select, .measure-row input { width:100%; font-size:.6rem; padding:.3rem .4rem; background:var(--surface-secondary); border:1px solid var(--border); border-radius:.4rem; }
.measure-row button { font-size:.6rem; }
.snapshot-flag { background:linear-gradient(135deg,var(--accent),var(--primary)); color:var(--primary-foreground); font-size:.55rem; padding:.2rem .5rem; border-radius:.55rem; font-weight:600; }

/* Calculated fields & HAVING */
.calc-section, .having-section { background:var(--surface-secondary); border:1px solid var(--border); border-radius:.65rem; padding:.55rem .6rem .65rem; display:flex; flex-direction:column; gap:.5rem; }
.calc-row, .having-row { display:grid; grid-template-columns:110px 1fr 70px; gap:.4rem; align-items:center; }
.calc-row input, .having-row input { width:100%; font-size:.6rem; padding:.3rem .45rem; background:var(--surface-tertiary); border:1px solid var(--border); border-radius:.45rem; }
.having-row select { font-size:.6rem; padding:.3rem .45rem; background:var(--surface-tertiary); border:1px solid var(--border); border-radius:.45rem; }
.calc-row button, .having-row button { font-size:.6rem; }

/* Toasts */
.toast-container { position:fixed; bottom:1.2rem; right:1.2rem; display:flex; flex-direction:column; gap:.55rem; z-index:5200; max-width:320px; }
.toast { background:var(--card); border:1px solid var(--card-border); padding:.75rem .9rem .75rem; border-radius:.75rem; box-shadow:0 8px 24px -10px rgba(0,0,0,.55); display:flex; gap:.65rem; animation:toastIn .45s cubic-bezier(.4,.14,.3,1); position:relative; overflow:hidden; font-size:.65rem; }
.toast.success { border-color:hsl(var(--success)); }
.toast.error { border-color:hsl(var(--destructive)); }
.toast::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(var(--primary),var(--accent)); }
@keyframes toastIn { from { transform:translateY(12px) scale(.95); opacity:0;} to { transform:translateY(0) scale(1); opacity:1;} }
.toast-close { all:unset; position:absolute; top:4px; right:6px; cursor:pointer; font-size:.8rem; opacity:.55; }
.toast-close:hover { opacity:1; }

/* Bulk actions active state */
.bulk-active .report-card { opacity:.85; }
.bulk-active .report-card.bulk-selected { opacity:1; }

/* History Table */
.history-table { width:100%; border-collapse:collapse; font-size:.6rem; }
.history-table th, .history-table td { padding:.45rem .55rem; border:1px solid var(--border); text-align:left; }
.history-table th { background:var(--surface-secondary); font-weight:600; }

/* Parameter form */
.param-form { display:flex; flex-direction:column; gap:.6rem; }
.param-row { display:flex; gap:.5rem; align-items:center; }
.param-row input, .param-row select { flex:1; padding:.4rem .55rem; font-size:.65rem; border:1px solid var(--border); border-radius:.45rem; background:var(--surface-secondary); }

/* Share modal */
.share-form { display:flex; flex-direction:column; gap:.75rem; }
.permission-matrix { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.4rem; font-size:.55rem; align-items:center; }
.permission-matrix span { font-weight:600; }
.permission-matrix label { display:flex; gap:.25rem; align-items:center; justify-content:center; background:var(--surface-secondary); border:1px solid var(--border); padding:.35rem .25rem; border-radius:.5rem; cursor:pointer; }
.permission-matrix input { width:14px; height:14px; }

/* Status chips */
.status-chip { display:inline-flex; align-items:center; gap:.35rem; font-size:.55rem; font-weight:600; padding:.25rem .55rem .28rem; border-radius:1rem; background:var(--surface-secondary); border:1px solid var(--border); }
.status-chip.success { background:hsl(var(--success-light)); border-color:hsl(var(--success)); color:hsl(var(--success)); }
.status-chip.failed { background:hsl(var(--destructive-light)); border-color:hsl(var(--destructive)); color:hsl(var(--destructive)); }
.status-chip.running { background:hsl(var(--warning-light)); border-color:hsl(var(--warning)); color:hsl(var(--warning)); }

/* Run progress */
.run-progress { position:absolute; left:0; bottom:0; height:3px; background:linear-gradient(90deg,var(--primary),var(--accent)); width:0%; transition:width .3s ease; }
.report-card { position:relative; }

/* Preview chart */
.preview-chart { width:100%; height:160px; background:var(--surface-secondary); border:1px solid var(--border); border-radius:.6rem; position:relative; margin-top:.5rem; display:flex; align-items:center; justify-content:center; }
.preview-chart canvas { width:100%; height:100%; }

/* Snapshot modal buttons */
.history-table td button.restore-btn { font-size:.55rem; padding:.25rem .5rem; border:1px solid var(--border); background:var(--surface-secondary); border-radius:.4rem; cursor:pointer; }
.history-table td button.restore-btn:hover { background:var(--surface-tertiary); }

/* Utility */
.btn-danger { background:var(--destructive); border-color:var(--destructive); color:var(--primary-foreground); }
.chip.small { font-size:.55rem; padding:.4rem .65rem; border-radius:1rem; background:var(--surface-secondary); border:1px solid var(--border); cursor:pointer; }
.chip.small.active { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }

/* New Classes for Reports Enhancements */
.reports-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; margin:0 0 1rem; padding:1.1rem 1.25rem 1rem; background:linear-gradient(145deg,var(--card),var(--surface-secondary)); border:1px solid var(--card-border); border-radius:1rem; position:relative; }
.reports-toolbar::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 120% -10%, var(--accent) 0%, transparent 70%); opacity:.15; }
.reports-title { margin:0; font-size:1.9rem; font-weight:700; letter-spacing:.5px; background:linear-gradient(135deg,var(--primary),var(--accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.reports-sub { margin:.35rem 0 0; font-size:.75rem; opacity:.75; }
.toolbar-actions { display:flex; gap:.55rem; align-items:center; flex-wrap:wrap; }
.toolbar-actions .btn { font-size:.65rem; padding:.6rem .9rem; border:1px solid var(--border); background:var(--surface-secondary); border-radius:.6rem; cursor:pointer; font-weight:600; letter-spacing:.05em; }
.toolbar-actions .btn-primary { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }
.toolbar-actions .btn:hover { background:var(--surface-tertiary); }
.reports-filters-row { display:flex; align-items:center; gap:1rem; margin:0 0 1.25rem; }
.reports-search { flex:1; padding:.75rem 1rem; border:1px solid var(--border); background:var(--surface-secondary); border-radius:.75rem; font-size:.75rem; }
.reports-search:focus { outline:2px solid var(--primary); outline-offset:1px; }
.tag-filters { display:flex; gap:.4rem; flex-wrap:wrap; }
.tag-filters button { border:1px solid var(--border); background:var(--surface-secondary); color:var(--foreground-secondary); font-size:.6rem; padding:.45rem .85rem; border-radius:1.2rem; cursor:pointer; font-weight:600; letter-spacing:.05em; }
.tag-filters button.active, .tag-filters button:hover { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }
.report-card .mini-chart { position:relative; width:100%; height:48px; background:var(--surface-secondary); border:1px solid var(--border); border-radius:.55rem; margin:.25rem 0 .4rem; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.report-card .mini-chart canvas { width:100%; height:100%; }
.sched-badge { font-size:.65rem; background:var(--surface-secondary); border:1px solid var(--border); padding:.25rem .45rem; border-radius:.55rem; }
.broken-badge { font-size:.55rem; background:linear-gradient(120deg,hsl(var(--destructive)),hsl(var(--warning))); color:#fff; padding:.25rem .45rem; border-radius:.55rem; font-weight:600; }
/* Align shared modal overlay if inventory not loaded */
[data-reports-modals] .modal-overlay { position:fixed; inset:0; z-index:4000; display:flex; align-items:flex-start; justify-content:center; padding-top:8vh; background:rgba(0,0,0,.55); backdrop-filter:blur(4px); }
[data-reports-modals] .modal-content { position:relative; background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius-xl); width:clamp(720px,80vw,1100px); max-width:96vw; max-height:82vh; display:flex; flex-direction:column; box-shadow:0 10px 32px -8px rgba(0,0,0,.45), 0 4px 14px -6px rgba(0,0,0,.35); overflow:hidden; animation:scaleIn .45s cubic-bezier(.6,.3,.2,1); }
[data-reports-modals] .modal-content.large { width:clamp(900px,90vw,1400px); }
[data-reports-modals] .modal-header { display:flex; justify-content:space-between; align-items:center; padding:.85rem 1rem .75rem; border-bottom:1px solid var(--border); position:relative; }
[data-reports-modals] .modal-header::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--primary),var(--accent)); opacity:.75; }
[data-reports-modals] .modal-title { margin:0; font-size:1rem; }
[data-reports-modals] .modal-body { padding:1rem 1.1rem 1.25rem; overflow-y:auto; font-size:.7rem; }

/* Builder Redesign */
.rb-frame { display:grid; grid-template-columns:220px 1fr 260px; gap:1rem; min-height:520px; width:100%; }
@media (max-width:1200px){ .rb-frame { grid-template-columns:200px 1fr 240px; } }
@media (max-width:980px){ .rb-frame { grid-template-columns:1fr; } .rb-meta-pane { order:3; } .rb-side { order:1; } .rb-main { order:2; } }
.rb-side, .rb-meta-pane { background:linear-gradient(140deg,var(--surface-secondary),var(--surface-tertiary)); border:1px solid var(--border); border-radius:.75rem; display:flex; flex-direction:column; overflow:hidden; }
.rb-side header, .rb-meta-pane > header { padding:.75rem .85rem .65rem; font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--border); opacity:.85; }
.rb-scroll { padding:.6rem .65rem .8rem; display:flex; flex-direction:column; gap:.35rem; overflow:auto; }
.ds-pill { all:unset; background:var(--surface-tertiary); border:1px solid var(--border); padding:.4rem .55rem; font-size:.6rem; border-radius:.55rem; cursor:pointer; font-weight:600; letter-spacing:.04em; }
.ds-pill.active, .ds-pill:hover { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }
.rb-fields { padding:.55rem .6rem .75rem; display:flex; flex-wrap:wrap; gap:.4rem; overflow:auto; }
.field-chip { background:var(--surface-secondary); border:1px solid var(--border); padding:.35rem .55rem; font-size:.55rem; border-radius:.55rem; cursor:pointer; font-weight:600; letter-spacing:.04em; }
.field-chip:hover { background:var(--surface-tertiary); }
.rb-help { margin:auto 0 .75rem; padding:.6rem .75rem; font-size:.55rem; opacity:.65; }
.rb-main { background:linear-gradient(155deg,var(--surface-secondary),var(--surface-tertiary)); border:1px solid var(--border); border-radius:.75rem; display:flex; flex-direction:column; overflow:hidden; }
.rb-topbar { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; padding:.8rem .95rem .75rem; border-bottom:1px solid var(--border); }
.title-block { display:flex; flex-direction:column; gap:.25rem; }
.title-input { background:var(--surface-tertiary); border:1px solid var(--border); padding:.55rem .7rem; font-size:.75rem; border-radius:.6rem; font-weight:600; letter-spacing:.03em; width:280px; }
.title-input:focus { outline:2px solid var(--primary); border-color:var(--primary); }
.subtitle { font-size:.55rem; opacity:.65; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.rb-primary-actions { display:flex; gap:.5rem; }
.btn.outline { background:var(--surface-secondary); border:1px solid var(--border); color:var(--foreground-secondary); }
.btn.outline:hover { background:var(--surface-tertiary); }
.btn.primary { background:var(--primary); color:var(--primary-foreground); border:1px solid var(--primary); }
.btn.primary:hover { filter:brightness(1.06); }
.rb-tabs { display:flex; padding:.4rem .55rem; gap:.4rem; background:var(--surface-tertiary); border-bottom:1px solid var(--border); }
.tab-btn { background:var(--surface-secondary); border:1px solid var(--border); padding:.45rem .75rem; font-size:.6rem; font-weight:600; letter-spacing:.05em; border-radius:.55rem; cursor:pointer; }
.tab-btn.active, .tab-btn:hover { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }
.rb-tab-panel { display:none; padding:.85rem .95rem 1rem; overflow:auto; flex:1; }
.rb-tab-panel.active { display:block; }
.panel-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; }
.panel-block { background:var(--surface-secondary); border:1px solid var(--border); border-radius:.65rem; padding:.75rem .8rem .85rem; display:flex; flex-direction:column; gap:.55rem; position:relative; }
.panel-block.full { grid-column:1/-1; }
.panel-block header { display:flex; align-items:center; justify-content:space-between; margin:-.15rem 0 .2rem; }
.panel-block h4 { margin:0; font-size:.65rem; letter-spacing:.06em; font-weight:700; text-transform:uppercase; opacity:.8; }
.mini { background:var(--surface-tertiary); border:1px solid var(--border); font-size:.55rem; padding:.25rem .5rem; border-radius:.5rem; cursor:pointer; font-weight:600; }
.mini.add { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }
.mini.add:hover { filter:brightness(1.06); }
.mini.danger { background:var(--destructive); color:var(--primary-foreground); border-color:var(--destructive); }
.pill-zone { display:flex; flex-wrap:wrap; gap:.4rem; min-height:46px; padding:.4rem; background:var(--surface-tertiary); border:1px dashed var(--border); border-radius:.6rem; font-size:.55rem; }
.pill { background:var(--surface-secondary); border:1px solid var(--border); padding:.3rem .55rem .35rem; border-radius:1rem; font-size:.55rem; font-weight:600; display:inline-flex; gap:.35rem; align-items:center; }
.pill button { all:unset; cursor:pointer; font-weight:700; }
.pill button:hover { color:var(--destructive); }
.stack-list { display:flex; flex-direction:column; gap:.45rem; }
.measure-row, .filter-row, .param-row { display:flex; gap:.4rem; align-items:center; background:var(--surface-tertiary); border:1px solid var(--border); border-radius:.55rem; padding:.45rem .55rem; font-size:.55rem; }
.measure-row select, .filter-row select, .measure-row input, .filter-row input, .param-row input { background:var(--surface-secondary); border:1px solid var(--border); border-radius:.45rem; padding:.3rem .45rem; font-size:.55rem; }
.measure-row button, .filter-row button, .param-row button { font-size:.55rem; }
.param-row .chk { display:flex; align-items:center; gap:.25rem; font-size:.55rem; }
.empty-hint { font-size:.55rem; opacity:.6; font-style:italic; }
.preview-block { display:flex; flex-direction:column; gap:.75rem; }
.preview-modes { display:flex; gap:.4rem; }
.preview-modes button { background:var(--surface-secondary); border:1px solid var(--border); font-size:.55rem; padding:.35rem .6rem; border-radius:.55rem; cursor:pointer; font-weight:600; }
.preview-modes button.active, .preview-modes button:hover { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }
.prev-output { background:var(--surface-secondary); border:1px solid var(--border); border-radius:.6rem; padding:.6rem; max-height:300px; overflow:auto; font-size:.55rem; }
.mini-table { width:100%; border-collapse:collapse; font-size:.55rem; }
.mini-table th, .mini-table td { border:1px solid var(--border); padding:.3rem .4rem; text-align:left; }
.status-badge { font-size:.55rem; background:var(--surface-tertiary); border:1px solid var(--border); padding:.25rem .5rem .3rem; border-radius:.6rem; font-weight:600; }
.meta-form { display:flex; flex-direction:column; gap:.65rem; padding:.7rem .75rem .9rem; overflow:auto; }
.meta-form label { display:flex; flex-direction:column; gap:.35rem; font-size:.6rem; font-weight:600; letter-spacing:.05em; }
.meta-form input, .meta-form textarea, .meta-form select { background:var(--surface-tertiary); border:1px solid var(--border); border-radius:.55rem; padding:.55rem .65rem; font-size:.65rem; font-family:inherit; }
.meta-form textarea { resize:vertical; min-height:90px; }
