:root { --primary: #5b3df5; --primary-dark: #4528dd; --bg-soft: #f5f7fb; }
body { background: var(--bg-soft); color: #1f2937; }
.hero-card { max-width: 620px; background: linear-gradient(180deg, #ffffff 0%, #f8f9ff 100%); border-radius: 28px; padding: 32px; border: 1px solid #eef1f6; }
.brand-badge { width: 72px; height: 72px; line-height: 72px; border-radius: 22px; margin: 0 auto; font-size: 28px; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--primary), #8b5cf6); }
.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }
.rounded-4 { border-radius: 1.25rem !important; }
.card, .panel-card { border-radius: 1.25rem; }
.company-card { transition: transform .15s ease, box-shadow .15s ease; }
.company-card:hover { transform: translateY(-2px); }
.search-box { min-width: min(100%, 350px); }
.service-item + .service-item { border-top: 1px solid #edf1f7; }
.small-muted { font-size: .92rem; color: #6b7280; }
.price-tag { font-weight: 700; color: var(--primary); }
.dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.panel-card { background: #fff; border: 1px solid #eef1f6; box-shadow: 0 8px 28px rgba(18, 26, 52, .05); }
.panel-card-body { padding: 1.25rem; }
.panel-span-2 { grid-column: span 2; }
.badge-soft { background: #f7f5ff; border: 1px solid #e7e2ff; border-radius: 16px; padding: .8rem 1rem; }
.slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .75rem; }
.slot-btn { border: 1px solid #d8def0; background: #fff; border-radius: 14px; min-height: 48px; padding: .75rem; font-weight: 600; }
.slot-btn.active { border-color: var(--primary); background: #f2efff; color: var(--primary-dark); }
@media (max-width: 991.98px) { .dashboard-grid { grid-template-columns: 1fr; } .panel-span-2 { grid-column: auto; } }
