/* Modern client dashboard */
.hh-client-dashboard { --dash-blue:#2563eb; --dash-navy:#0f172a; --dash-muted:#64748b; --dash-border:#dbe5f1; display:grid; gap:18px; }
.hh-dashboard-welcome { position:relative; min-height:190px; padding:32px 34px; display:flex; align-items:center; justify-content:space-between; gap:28px; overflow:hidden; color:#fff; background:linear-gradient(125deg,#102c63 0%,#1d4ed8 58%,#3b82f6 100%); border-radius:22px; box-shadow:0 20px 46px rgba(30,64,175,.2); }
.hh-dashboard-welcome:before,.hh-dashboard-welcome:after { content:""; position:absolute; border:1px solid rgba(255,255,255,.14); border-radius:50%; pointer-events:none; }
.hh-dashboard-welcome:before { width:330px; height:330px; right:-120px; top:-210px; }
.hh-dashboard-welcome:after { width:230px; height:230px; right:90px; bottom:-185px; }
.hh-dashboard-welcome-copy,.hh-dashboard-welcome-actions { position:relative; z-index:1; }
.hh-dashboard-kicker { display:block; margin-bottom:9px; color:#bfdbfe; font-size:10px; font-weight:800; letter-spacing:.14em; }
.hh-dashboard-welcome h1 { margin:0; color:#fff; font-size:clamp(25px,3vw,34px); font-weight:800; letter-spacing:-.035em; }
.hh-dashboard-welcome p { max-width:570px; margin:10px 0 0; color:#dbeafe; font-size:13px; line-height:1.65; }
.hh-dashboard-welcome-actions { display:flex; flex:0 0 auto; flex-direction:column; gap:10px; }
.hh-dashboard-primary-action,.hh-dashboard-secondary-action { min-width:164px; min-height:45px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; gap:9px; border-radius:11px; font-size:12px; font-weight:800; text-decoration:none!important; transition:transform .2s ease,background .2s ease; }
.hh-dashboard-primary-action { color:#1d4ed8!important; background:#fff; box-shadow:0 10px 24px rgba(15,23,42,.16); }
.hh-dashboard-secondary-action { color:#fff!important; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.28); }
.hh-dashboard-primary-action:hover,.hh-dashboard-secondary-action:hover { transform:translateY(-2px); }
.hh-dashboard-secondary-action:hover { background:rgba(255,255,255,.18); }

.hh-dashboard-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.hh-stat-card { position:relative; min-height:96px; padding:14px 15px; display:flex; align-items:center; gap:11px; overflow:hidden; color:#334155!important; background:#fff; border:1px solid var(--dash-border); border-radius:15px; box-shadow:0 7px 22px rgba(15,23,42,.045); text-decoration:none!important; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.hh-stat-card:before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--stat-color); }
.hh-stat-card:hover { transform:translateY(-3px); border-color:#93c5fd; box-shadow:0 15px 34px rgba(37,99,235,.1); }
.hh-stat-blue { --stat-color:#2563eb; --stat-soft:#eff6ff; }
.hh-stat-cyan { --stat-color:#0891b2; --stat-soft:#ecfeff; }
.hh-stat-violet { --stat-color:#7c3aed; --stat-soft:#f5f3ff; }
.hh-stat-amber { --stat-color:#d97706; --stat-soft:#fffbeb; }
.hh-stat-icon { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 42px; color:var(--stat-color); background:var(--stat-soft); border-radius:12px; font-size:17px; }
.hh-stat-copy { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:9px; flex:1; align-items:baseline; }
.hh-stat-copy small { min-width:0; color:#64748b; font-size:11px; font-weight:700; line-height:1.25; }
.hh-stat-copy strong { grid-row:1/span 2; grid-column:2; color:#0f172a; font-size:27px; font-weight:800; line-height:1; }
.hh-stat-copy em { margin-top:5px; color:var(--stat-color); font-size:10px; font-style:normal; font-weight:750; }
.hh-stat-arrow { color:#cbd5e1; font-size:11px; }

.hh-dashboard-shortcuts,.hh-dashboard-content { padding:20px; background:#fff; border:1px solid var(--dash-border); border-radius:20px; box-shadow:0 10px 32px rgba(15,23,42,.045); }
.hh-dashboard-section-heading { margin-bottom:13px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.hh-dashboard-section-heading span { display:block; margin-bottom:4px; color:#2563eb; font-size:9px; font-weight:800; letter-spacing:.13em; }
.hh-dashboard-section-heading h2 { margin:0; color:#0f172a; font-size:20px; font-weight:800; letter-spacing:-.025em; }
.hh-dashboard-section-heading p { margin:0; color:#94a3b8; font-size:11px; }
.hh-shortcut-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.hh-shortcut-card { min-height:78px; padding:14px 15px; display:flex; align-items:center; gap:12px; color:#334155!important; background:#f8fafc; border:1px solid #e7edf5; border-radius:13px; text-decoration:none!important; transition:.2s ease; }
.hh-shortcut-card:hover { color:#1d4ed8!important; background:#eff6ff; border-color:#bfdbfe; transform:translateY(-2px); }
.hh-shortcut-card>i { width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 38px; color:#2563eb; background:#eaf2ff; border-radius:11px; font-size:15px; }
.hh-shortcut-card>span { min-width:0; display:flex; flex:1; flex-direction:column; }
.hh-shortcut-card strong { color:#1e293b; font-size:12px; font-weight:800; }
.hh-shortcut-card small { margin-top:3px; color:#7b8ba3; font-size:10px; line-height:1.35; }
.hh-shortcut-card b { color:#b5c0cf; font-size:9px; }

.hh-dashboard-panel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.hh-dashboard-panel { min-width:0; overflow:hidden; background:#fff; border:1px solid #dbe5f1; border-radius:16px; box-shadow:0 8px 26px rgba(15,23,42,.04); }
.hh-dashboard-panel-wide { grid-column:1/-1; }
.hh-dashboard-panel-grid > .hh-dashboard-panel:first-child,
.hh-dashboard-panel-grid > .hh-dashboard-panel:last-child { grid-column:1/-1; }
.hh-dashboard-panel-header { min-height:54px; padding:10px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:linear-gradient(135deg,#f8fbff,#f2f6fc); border-bottom:1px solid #e4ebf4; }
.hh-dashboard-panel-header h3 { margin:0; display:flex; align-items:center; gap:9px; color:#0f172a; font-size:14px; font-weight:800; }
.hh-dashboard-panel-header h3>span:first-child { width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; color:#2563eb; background:#e8f1ff; border-radius:9px; font-size:13px; }
.hh-panel-badge { min-width:20px; padding:3px 7px; color:#1d4ed8; background:#dbeafe; border-radius:999px; font-size:9px; text-align:center; }
.hh-panel-action { min-height:34px; padding:0 11px; display:inline-flex; align-items:center; gap:6px; flex:0 0 auto; color:#1d4ed8!important; background:#fff; border:1px solid #bfdbfe; border-radius:9px; font-size:10px; font-weight:800; text-decoration:none!important; }
.hh-panel-action:hover { color:#fff!important; background:#2563eb; border-color:#2563eb; }
.hh-dashboard-panel-body { min-height:62px; padding:13px 16px; color:#64748b; font-size:11px; line-height:1.55; }
.hh-dashboard-panel-body p:last-child { margin-bottom:0; }
.hh-dashboard-panel-body .btn { min-height:38px; }
.hh-dashboard-panel-body .input-group .form-control { min-width:0; }
.hh-dashboard-list { display:flex; flex-direction:column; }
.hh-dashboard-list-item { min-height:52px; padding:12px 16px; display:flex; align-items:center; gap:9px; color:#475569!important; border-bottom:1px solid #edf2f7; font-size:11px; text-decoration:none!important; }
.hh-dashboard-list-item:last-child { border-bottom:0; }
.hh-dashboard-list-item:hover { color:#1d4ed8!important; background:#f8fbff; }
.hh-dashboard-list-item>i { width:25px; color:#2563eb; text-align:center; }
.hh-dashboard-list-item>span { min-width:0; flex:1; }
.hh-dashboard-list-item>b { padding:3px 7px; color:#1d4ed8; background:#eff6ff; border-radius:999px; font-size:9px; }
.hh-dashboard-panel-footer { min-height:34px; padding:8px 14px; color:#64748b; background:#f8fafc; border-top:1px solid #e8eef5; font-size:10px; }
.hh-dashboard-panel-footer:empty { display:none; }
.hh-dashboard-addon { overflow:hidden; border-radius:16px; }

.hh-main-body:has(.hh-client-dashboard) { padding-top:22px; }
.hh-main-body:has(.hh-client-dashboard) .hh-sidebar .card { margin-bottom:14px; overflow:hidden; background:#fff; border:1px solid #dbe5f1; border-radius:16px; box-shadow:0 8px 25px rgba(15,23,42,.045); }
.hh-main-body:has(.hh-client-dashboard) .hh-sidebar .card-header { min-height:52px; padding:14px 16px; display:flex; align-items:center; color:#172033; background:linear-gradient(135deg,#f8fbff,#f3f7fc); border-bottom:1px solid #e2eaf3; font-size:13px; }
.hh-main-body:has(.hh-client-dashboard) .hh-sidebar .card-body { padding:17px; color:#64748b; font-size:11px; line-height:1.55; }
.hh-main-body:has(.hh-client-dashboard) .hh-sidebar .list-group-item { min-height:43px; padding:11px 15px; display:flex; align-items:center; gap:8px; font-size:11px; }
.hh-main-body:has(.hh-client-dashboard) .hh-sidebar .card-footer { padding:12px 15px; }
.hh-main-body:has(.hh-client-dashboard) .hh-sidebar .btn { width:100%; min-height:38px; }

/* Give the four account summary cards enough room without dropping a column. */
@media (min-width:1200px) {
    .hh-main-body:has(.hh-client-dashboard) > .container { max-width:1240px; }
    .hh-main-body:has(.hh-client-dashboard) > .container > .row > .col-xl-3:first-child {
        flex:0 0 250px;
        max-width:250px;
    }
    .hh-main-body:has(.hh-client-dashboard) > .container > .row > .primary-content {
        flex:1 1 0;
        max-width:none;
    }
    .hh-stat-card { padding-right:13px; padding-left:13px; gap:9px; }
    .hh-stat-icon { width:40px; height:40px; flex-basis:40px; }
    .hh-stat-copy { column-gap:6px; }
    .hh-stat-arrow { display:none; }
}

@media (max-width:1199.98px) {
    .hh-dashboard-welcome { padding:28px; }
    .hh-dashboard-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hh-dashboard-panel-grid { grid-template-columns:1fr; }
    .hh-dashboard-panel-wide { grid-column:auto; }
}
@media (max-width:767.98px) {
    .hh-client-dashboard { gap:16px; }
    .hh-dashboard-welcome { min-height:0; padding:25px 21px; display:block; border-radius:18px; }
    .hh-dashboard-welcome-actions { margin-top:20px; display:grid; grid-template-columns:1fr 1fr; }
    .hh-dashboard-primary-action,.hh-dashboard-secondary-action { min-width:0; padding:0 12px; }
    .hh-dashboard-stats,.hh-shortcut-grid { grid-template-columns:1fr; }
    .hh-dashboard-shortcuts,.hh-dashboard-content { padding:18px; border-radius:17px; }
    .hh-dashboard-section-heading { align-items:flex-start; flex-direction:column; gap:4px; }
    .hh-dashboard-panel-grid { grid-template-columns:1fr; }
}
@media (max-width:420px) {
    .hh-dashboard-welcome-actions { grid-template-columns:1fr; }
    .hh-stat-card { min-height:108px; padding:16px; }
    .hh-stat-copy strong { font-size:26px; }
    .hh-dashboard-panel-header { align-items:flex-start; flex-direction:column; }
}
