/* ============================================
   CANDIDATE DASHBOARD STYLESHEET
   ============================================ */

.cdash-hero { background:linear-gradient(135deg,#111d4a 0%,#1B2A6B 65%,#1a3a5c 100%);padding:44px 0 0;position:relative;overflow:hidden; }
.cdash-hero::before { content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.022'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E"); }
.cdash-hero-top { position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:28px; }
.cdash-greet { display:flex;align-items:center;gap:14px; }
.cdash-avatar { width:56px;height:56px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:22px;font-weight:700;color:white;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,0.3); }
.cdash-avatar img { width:100%;height:100%;object-fit:cover; }
.cdash-greet h1 { font-family:var(--font-heading);color:white;font-size:22px;margin:0 0 4px;letter-spacing:-.3px; }
.cdash-greet p  { color:rgba(255,255,255,0.55);font-size:13px;margin:0; }
.cdash-actions  { display:flex;gap:8px;flex-wrap:wrap; }
.btn-cdash-primary { display:inline-flex;align-items:center;gap:7px;padding:9px 18px;background:var(--gold);color:white;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:all .18s; }
.btn-cdash-primary:hover { background:#a07a20; }
.btn-cdash-ghost { display:inline-flex;align-items:center;gap:7px;padding:9px 16px;background:rgba(255,255,255,0.1);color:white;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;border:1px solid rgba(255,255,255,0.18);transition:all .18s;cursor:pointer; }
.btn-cdash-ghost:hover { background:rgba(255,255,255,0.18); }

.cdash-stats { position:relative;z-index:1;display:flex;gap:0;border-top:1px solid rgba(255,255,255,0.08);flex-wrap:wrap; }
.cdash-stat  { flex:1;min-width:130px;padding:16px 20px;display:flex;align-items:center;gap:12px;border-right:1px solid rgba(255,255,255,0.08); }
.cdash-stat:last-child { border-right:none; }
.cds-dot { width:8px;height:8px;border-radius:50%;flex-shrink:0; }
.cds-dot.all  { background:#94a3b8; }
.cds-dot.rev  { background:#60a5fa; }
.cds-dot.short{ background:#fb923c; }
.cds-dot.hire { background:#4ade80; }
.cds-num { font-size:22px;font-weight:700;color:white;line-height:1;font-family:'Montserrat',sans-serif; }
.cds-lbl { font-size:11.5px;color:rgba(255,255,255,0.5);margin-top:2px; }

.cdash-body { padding:36px 0 60px;background:var(--light-bg); }
.cdash-layout { display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start; }
@media (max-width:900px) { .cdash-layout { grid-template-columns:1fr; } }

/* Sidebar */
.cdash-sidebar { background:white;border-radius:12px;border:1px solid #e4e6ef;overflow:hidden;position:sticky;top: 66px; }
.cdash-progress { padding:20px;border-bottom:1px solid #f0f2f8; }
.cdash-progress-label { display:flex;justify-content:space-between;font-size:12px;color:#6b7280;margin-bottom:8px;font-weight:600; }
.cdash-progress-bar { height:8px;border-radius:5px;background:#eef0f7;overflow:hidden; }
.cdash-progress-fill { height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-light));border-radius:5px;transition:width .5s; }
.cdash-nav { padding:10px; }
.cdash-nav a { display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;font-size:13.5px;font-weight:600;color:#4b5563;margin-bottom:2px;transition:all .15s;position:relative; }
.cdash-nav a:hover { background:#f5f7fa;color:var(--navy); }
.cdash-nav a.active { background:var(--navy);color:white; }
.cdash-nav a svg { flex-shrink:0; }
.cdash-nav .cdash-badge { margin-left:auto;background:var(--gold);color:white;border-radius:10px;padding:1px 7px;font-size:10.5px;font-weight:700; }
.cdash-nav a.active .cdash-badge { background:rgba(255,255,255,0.25); }

/* Content cards */
.cdash-card { background:white;border-radius:12px;border:1px solid #e4e6ef;padding:24px;margin-bottom:20px; }
.cdash-card-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:10px; }
.cdash-card-head h3 { font-family:var(--font-heading);font-size:17px;color:#111827;margin:0; }
.cdash-card-head p { font-size:12.5px;color:#9ca3af;margin:2px 0 0; }

.btn-add { display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#f0f2f8;color:var(--navy);border-radius:7px;font-size:12.5px;font-weight:700;transition:all .15s;border:1px solid transparent; }
.btn-add:hover { background:var(--navy);color:white; }

.cdash-item { display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid #f0f2f8; }
.cdash-item:last-child { border-bottom:none; }
.cdash-item-title { font-size:14px;font-weight:700;color:#111827; }
.cdash-item-sub { font-size:12.5px;color:#6b7280;margin-top:2px; }
.cdash-item-meta { font-size:11.5px;color:#9ca3af;margin-top:4px; }
.cdash-item-actions { display:flex;gap:6px;flex-shrink:0; }
.cdash-icon-btn { width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:#f5f7fa;color:#6b7280;transition:all .15s; }
.cdash-icon-btn:hover { background:#e5e7eb;color:#111827; }
.cdash-icon-btn.danger:hover { background:#fee2e2;color:#dc2626; }

.chip { display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#f0f2f8;color:#374151;border-radius:20px;font-size:12.5px;font-weight:600;margin:0 6px 6px 0; }
.chip .chip-x { cursor:pointer;color:#9ca3af;font-weight:700; }
.chip .chip-x:hover { color:#dc2626; }

/* Status pills reused across candidate applications */
.cpill { display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;flex-shrink:0; }
.cpill::before { content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0; }
.cpill-blue   { background:#dbeafe;color:#1e40af; }
.cpill-yellow { background:#fef3c7;color:#92400e; }
.cpill-orange { background:#ffedd5;color:#c2410c; }
.cpill-purple { background:#ede9fe;color:#6d28d9; }
.cpill-teal   { background:#ccfbf1;color:#0f766e; }
.cpill-green  { background:#dcfce7;color:#166534; }
.cpill-red    { background:#fee2e2;color:#991b1b; }

.cdash-empty { text-align:center;padding:48px 24px; }
.cdash-empty-icon { width:64px;height:64px;border-radius:50%;background:#f0f2f8;display:flex;align-items:center;justify-content:center;margin:0 auto 14px; }

/* Modal */
.cmodal-overlay { position:fixed;inset:0;background:rgba(17,29,74,0.55);z-index:9998;display:none;align-items:center;justify-content:center;padding:20px; }
.cmodal-overlay.open { display:flex; }
.cmodal { background:white;border-radius:14px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;padding:28px;position:relative; }
.cmodal-close { position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:8px;background:#f5f7fa;display:flex;align-items:center;justify-content:center;color:#6b7280; }
.cmodal-close:hover { background:#e5e7eb; }
.cmodal h3 { font-family:var(--font-heading);font-size:19px;margin-bottom:20px; }

.dash-toast { position:fixed;bottom:24px;right:24px;z-index:9999;background:#111827;color:white;padding:12px 18px;border-radius:10px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:0 8px 32px rgba(0,0,0,0.25);transform:translateY(80px);opacity:0;transition:all .3s; }
.dash-toast.show { transform:translateY(0);opacity:1; }
.dash-toast.success { border-left:4px solid #4ade80; }
.dash-toast.error   { border-left:4px solid #f87171; }

.notif-item { display:flex;gap:12px;padding:16px;border-radius:10px;transition:background .15s; }
.notif-item.unread { background:#f8f9ff; }
.notif-item:hover { background:#f5f7fa; }
.notif-icon { width:38px;height:38px;border-radius:50%;background:#eef0f7;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--navy); }
.notif-dot { width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:6px; }

@media(max-width:768px) { .cdash-greet h1{font-size:18px;} }
