/* Welcome Banner */
.std-welcome-banner{background:linear-gradient(135deg,#2563eb 0%,#4f46e5 100%);border-radius:16px;padding:28px 32px;box-shadow:0 8px 28px rgba(37,99,235,.25);color:#fff}
.std-welcome-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.std-welcome-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.std-avatar-circle{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#fff;flex-shrink:0}
.std-avatar-female{background:rgba(251,207,232,.35);border-color:rgba(251,207,232,.6)}
.std-avatar-male{background:rgba(219,234,254,.35);border-color:rgba(219,234,254,.6)}
.std-welcome-title{font-size:1.35rem;font-weight:700;color:#fff;margin-bottom:4px}
.std-welcome-sub{color:rgba(255,255,255,.82);font-size:.88rem;margin-bottom:10px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.std-sep{opacity:.5}
.std-year-badge{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:30px;display:inline-block}
.std-profile-btn{background:#fff;color:#2563eb;border:none;font-weight:700;border-radius:10px;padding:10px 20px;font-size:.88rem;transition:.2s;white-space:nowrap}
.std-profile-btn:hover{background:#e0e7ff;color:#1d4ed8;transform:translateY(-2px)}

/* Metric Cards */
.std-metric-card{background:#fff;border-radius:14px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 12px rgba(0,0,0,.07);height:100%;border:1px solid #f1f5f9;transition:box-shadow .2s,transform .2s}
.std-metric-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.12);transform:translateY(-2px)}
.std-metric-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.std-metric-green{background:#dcfce7;color:#16a34a}
.std-metric-blue{background:#dbeafe;color:#2563eb}
.std-metric-red{background:#fee2e2;color:#dc2626}
.std-metric-orange{background:#ffedd5;color:#ea580c}
.std-metric-body{display:flex;flex-direction:column;min-width:0}
.std-metric-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:2px}
.std-metric-value{font-size:1.65rem;font-weight:800;line-height:1;margin-bottom:4px}
.std-metric-sub{font-size:.78rem;color:#94a3b8}
.std-metric-link{font-size:.78rem;color:#2563eb;font-weight:600;text-decoration:none}
.std-metric-link:hover{text-decoration:underline}

/* Section Header */
.std-section-header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.std-section-title{font-size:1rem;font-weight:700;margin:0;color:#1e293b}
.std-section-sub{font-size:.82rem;color:#94a3b8}

/* Module Cards */
.std-module-card{display:flex;align-items:center;gap:14px;background:#fff;border-radius:14px;padding:16px 18px;text-decoration:none;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:all .22s ease;height:100%}
.std-module-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-3px);border-color:transparent;text-decoration:none}
.std-mod-icon-wrap{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}
.std-mod-body{display:flex;flex-direction:column;flex:1;min-width:0}
.std-mod-title{font-size:.9rem;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.std-mod-desc{font-size:.75rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.std-mod-arrow{color:#cbd5e1;font-size:.85rem;flex-shrink:0;transition:transform .2s,color .2s}
.std-module-card:hover .std-mod-arrow{transform:translateX(3px);color:#64748b}

.std-mod-indigo .std-mod-icon-wrap{background:#e0e7ff;color:#4338ca}
.std-mod-indigo:hover{border-left:3px solid #4338ca}
.std-mod-green .std-mod-icon-wrap{background:#dcfce7;color:#16a34a}
.std-mod-green:hover{border-left:3px solid #16a34a}
.std-mod-dark .std-mod-icon-wrap{background:#f1f5f9;color:#334155}
.std-mod-dark:hover{border-left:3px solid #334155}
.std-mod-amber .std-mod-icon-wrap{background:#fef9c3;color:#b45309}
.std-mod-amber:hover{border-left:3px solid #d97706}
.std-mod-cyan .std-mod-icon-wrap{background:#cffafe;color:#0e7490}
.std-mod-cyan:hover{border-left:3px solid #0891b2}
.std-mod-teal .std-mod-icon-wrap{background:#ccfbf1;color:#0d9488}
.std-mod-teal:hover{border-left:3px solid #0d9488}
.std-mod-violet .std-mod-icon-wrap{background:#ede9fe;color:#7c3aed}
.std-mod-violet:hover{border-left:3px solid #7c3aed}
.std-mod-yellow .std-mod-icon-wrap{background:#fef3c7;color:#d97706}
.std-mod-yellow:hover{border-left:3px solid #f59e0b}
.std-mod-slate .std-mod-icon-wrap{background:#f1f5f9;color:#475569}
.std-mod-slate:hover{border-left:3px solid #475569}

/* Quick Portal Links */
.std-quick-link{display:flex;flex-direction:column;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;text-decoration:none;color:#1e293b;transition:all .2s;height:100%}
.std-quick-link i{font-size:1.3rem}
.std-quick-link:hover{background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.1);transform:translateY(-2px);text-decoration:none;color:#1e293b;border-color:#c7d2fe}

/* Dark mode */
[data-bs-theme="dark"] .std-metric-card,
body.dark-mode .std-metric-card,
[data-bs-theme="dark"] .std-module-card,
body.dark-mode .std-module-card,
[data-bs-theme="dark"] .std-quick-link,
body.dark-mode .std-quick-link {
    background: #111827 !important;
    border-color: #1f2937 !important;
    color: #f8fafc !important;
}

[data-bs-theme="dark"] .std-mod-title,
body.dark-mode .std-mod-title,
[data-bs-theme="dark"] .std-section-title,
body.dark-mode .std-section-title {
    color: #f8fafc !important;
}

[data-bs-theme="dark"] .std-metric-value,
body.dark-mode .std-metric-value {
    color: #ffffff !important;
}

[data-bs-theme="dark"] .std-quick-link,
body.dark-mode .std-quick-link {
    color: #cbd5e1 !important;
}

[data-bs-theme="dark"] .std-quick-link:hover,
body.dark-mode .std-quick-link:hover {
    color: #ffffff !important;
    background: #1a2234 !important;
    border-color: var(--primary) !important;
}

/* Dark mode tinted icon wrappers */
[data-bs-theme="dark"] .std-metric-green,
body.dark-mode .std-metric-green { background: rgba(34, 197, 94, 0.15); color: #4ade80; }
[data-bs-theme="dark"] .std-metric-blue,
body.dark-mode .std-metric-blue { background: rgba(56, 189, 248, 0.15); color: #38bdf8; }
[data-bs-theme="dark"] .std-metric-red,
body.dark-mode .std-metric-red { background: rgba(239, 68, 68, 0.15); color: #f87171; }
[data-bs-theme="dark"] .std-metric-orange,
body.dark-mode .std-metric-orange { background: rgba(249, 115, 22, 0.15); color: #fb923c; }

[data-bs-theme="dark"] .std-mod-indigo .std-mod-icon-wrap,
body.dark-mode .std-mod-indigo .std-mod-icon-wrap { background: rgba(99, 102, 241, 0.2); color: #a5b4fc; }
[data-bs-theme="dark"] .std-mod-green .std-mod-icon-wrap,
body.dark-mode .std-mod-green .std-mod-icon-wrap { background: rgba(34, 197, 94, 0.2); color: #86efac; }
[data-bs-theme="dark"] .std-mod-dark .std-mod-icon-wrap,
body.dark-mode .std-mod-dark .std-mod-icon-wrap { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }
[data-bs-theme="dark"] .std-mod-amber .std-mod-icon-wrap,
body.dark-mode .std-mod-amber .std-mod-icon-wrap { background: rgba(245, 158, 11, 0.2); color: #fde047; }
[data-bs-theme="dark"] .std-mod-cyan .std-mod-icon-wrap,
body.dark-mode .std-mod-cyan .std-mod-icon-wrap { background: rgba(6, 182, 212, 0.2); color: #67e8f9; }
[data-bs-theme="dark"] .std-mod-teal .std-mod-icon-wrap,
body.dark-mode .std-mod-teal .std-mod-icon-wrap { background: rgba(20, 184, 166, 0.2); color: #5eead4; }
[data-bs-theme="dark"] .std-mod-violet .std-mod-icon-wrap,
body.dark-mode .std-mod-violet .std-mod-icon-wrap { background: rgba(139, 92, 246, 0.2); color: #c4b5fd; }
[data-bs-theme="dark"] .std-mod-yellow .std-mod-icon-wrap,
body.dark-mode .std-mod-yellow .std-mod-icon-wrap { background: rgba(234, 179, 8, 0.2); color: #fde047; }
[data-bs-theme="dark"] .std-mod-slate .std-mod-icon-wrap,
body.dark-mode .std-mod-slate .std-mod-icon-wrap { background: rgba(100, 116, 139, 0.2); color: #cbd5e1; }

/* welcome-card kept for compatibility */
.welcome-card{background:linear-gradient(135deg,#2563eb,#4f46e5);color:white;padding:35px;border-radius:20px;margin-bottom:30px;box-shadow:0 15px 30px rgba(0,0,0,.15)}
