/* YMN HRM Portal - front-end styles */
.ymn-portal {
	--ymn-navy: #0A1F44;
	--ymn-navy-light: #14315f;
	--ymn-gold: #C9A24B;
	--ymn-green: #16a34a;
	--ymn-red: #dc2626;
	--ymn-yellow: #ca8a04;
	--ymn-blue: #2563eb;
	--ymn-bg: #f5f7fb;
	--ymn-border: #e2e6ee;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: #1c2333;
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px 64px;
	box-sizing: border-box;
}
.ymn-portal * { box-sizing: border-box; }

/* Hero / homepage */
.ymn-hero { text-align: center; padding: 56px 16px; background: linear-gradient(135deg, var(--ymn-navy), var(--ymn-navy-light)); border-radius: 16px; color: #fff; margin-bottom: 32px; }
.ymn-hero h1 { font-size: 2.2rem; margin: 0 0 12px; }
.ymn-hero-sub { max-width: 640px; margin: 0 auto 24px; opacity: .85; }
.ymn-hero-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.ymn-stats-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; margin-bottom: 32px; }
.ymn-stat-card { background: #fff; border: 1px solid var(--ymn-border); border-radius: 12px; padding: 20px; text-align: center; }
.ymn-stat-num { font-size: 2rem; font-weight: 700; color: var(--ymn-navy); }
.ymn-stat-label { color: #667; font-size: .85rem; margin-top: 4px; text-transform: uppercase; letter-spacing: .04em; }

.ymn-dept-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.ymn-dept-card { background: #fff; border: 1px solid var(--ymn-border); border-radius: 12px; padding: 18px; }
.ymn-dept-code { display: inline-block; background: var(--ymn-navy); color: #fff; font-size: .7rem; padding: 3px 8px; border-radius: 999px; margin-bottom: 8px; }
.ymn-dept-card h3 { margin: 0 0 6px; font-size: 1.05rem; }
.ymn-dept-card p { margin: 0; color: #667; font-size: .9rem; }

/* Buttons */
.ymn-btn { display: inline-block; padding: 10px 20px; border-radius: 8px; font-weight: 600; text-decoration: none; border: 1px solid transparent; cursor: pointer; font-size: .95rem; }
.ymn-btn-primary { background: var(--ymn-navy); color: #fff; }
.ymn-btn-primary:hover { background: var(--ymn-navy-light); color: #fff; }
.ymn-btn-outline { background: transparent; border-color: var(--ymn-navy); color: var(--ymn-navy); }
.ymn-btn-outline:hover { background: var(--ymn-navy); color: #fff; }
.ymn-btn-block { width: 100%; text-align: center; }

/* Auth pages */
.ymn-auth-page { display: flex; justify-content: center; padding: 40px 16px; }
.ymn-auth-card { background: #fff; border: 1px solid var(--ymn-border); border-radius: 16px; padding: 36px; max-width: 420px; width: 100%; }
.ymn-auth-card-wide { max-width: 640px; }
.ymn-auth-card h1 { margin: 0 0 6px; color: var(--ymn-navy); font-size: 1.5rem; }
.ymn-auth-sub { color: #667; margin: 0 0 20px; }
.ymn-auth-footer { text-align: center; margin-top: 18px; color: #667; }
.ymn-auth-footer a { color: var(--ymn-navy); font-weight: 600; }

form label { display: block; margin-bottom: 14px; font-size: .9rem; font-weight: 600; color: #333; }
form input[type=text], form input[type=email], form input[type=password], form input[type=date], form input[type=number], form input[type=file], form select, form textarea {
	display: block; width: 100%; margin-top: 6px; padding: 10px 12px; border: 1px solid var(--ymn-border); border-radius: 8px; font-size: .95rem; font-weight: 400;
}
form textarea { min-height: 80px; resize: vertical; }

.ymn-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 16px; align-items: start; }
.ymn-span-2 { grid-column: 1 / -1; }
@media (max-width: 640px) { .ymn-form-grid { grid-template-columns: 1fr; } }

.ymn-alert { padding: 12px 16px; border-radius: 8px; margin-bottom: 18px; font-size: .9rem; }
.ymn-alert-error { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.ymn-alert-success { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }

/* Dashboard */
.ymn-dashboard { padding-top: 16px; }
.ymn-dash-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; flex-wrap: wrap; gap: 12px; }
.ymn-dash-header h1 { margin: 0; color: var(--ymn-navy); font-size: 1.6rem; }
.ymn-dash-header p { margin: 4px 0 0; color: #667; }

.ymn-tabs { display: flex; gap: 4px; border-bottom: 2px solid var(--ymn-border); margin-bottom: 24px; overflow-x: auto; }
.ymn-tab { padding: 10px 16px; text-decoration: none; color: #667; font-weight: 600; font-size: .9rem; border-bottom: 2px solid transparent; margin-bottom: -2px; white-space: nowrap; }
.ymn-tab.active { color: var(--ymn-navy); border-bottom-color: var(--ymn-navy); }
.ymn-tab-badge { background: var(--ymn-red); color: #fff; border-radius: 999px; font-size: .7rem; padding: 1px 6px; margin-left: 4px; }

.ymn-panel { background: #fff; border: 1px solid var(--ymn-border); border-radius: 12px; padding: 24px; margin-bottom: 24px; }
.ymn-panel h2 { margin: 0 0 16px; font-size: 1.15rem; color: var(--ymn-navy); }
.ymn-panel-head { display: flex; justify-content: space-between; align-items: center; }

.ymn-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.ymn-table th { text-align: left; padding: 10px 8px; border-bottom: 2px solid var(--ymn-border); color: #667; font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; }
.ymn-table td { padding: 10px 8px; border-bottom: 1px solid var(--ymn-border); vertical-align: middle; }
.ymn-muted { color: #778; }
.ymn-row-actions { white-space: nowrap; }
.ymn-row-actions a, .ymn-link { color: var(--ymn-navy); font-weight: 600; text-decoration: none; margin-right: 10px; background: none; border: none; padding: 0; cursor: pointer; font-size: .9rem; }
.ymn-link-danger { color: var(--ymn-red); font-weight: 600; background: none; border: none; padding: 0; cursor: pointer; font-size: .9rem; }

.ymn-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: .75rem; font-weight: 700; background: #eef1f8; color: var(--ymn-navy); border: 1px solid var(--ymn-border); }
.ymn-badge-green { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.ymn-badge-blue { background: #dbeafe; color: #1e40af; border-color: #bfdbfe; }
.ymn-badge-yellow { background: #fef9c3; color: #854d0e; border-color: #fef08a; }
.ymn-badge-red { background: #fee2e2; color: #991b1b; border-color: #fecaca; }
.ymn-badge-orange { background: #ffedd5; color: #9a3412; border-color: #fed7aa; }

.ymn-export-links, .ymn-report-links { display: flex; gap: 12px; flex-wrap: wrap; }

/* Sliders (evaluation form) */
.ymn-slider-group { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 20px; margin: 4px 0 10px; }
@media (max-width: 640px) { .ymn-slider-group { grid-template-columns: 1fr; } }
.ymn-slider-label { font-weight: 600; font-size: .88rem; }
.ymn-slider-row { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.ymn-slider { flex: 1; accent-color: #0A1F44; height: 6px; }
.ymn-slider-out { min-width: 34px; text-align: center; font-weight: 700; color: #0A1F44; background: #eef1f8; border-radius: 6px; padding: 3px 6px; font-size: .85rem; }
.ymn-eval-total-preview { font-weight: 700; color: #0A1F44; padding: 10px 0; font-size: 1.05rem; }

/* Bento-grid analytics */
.ymn-bento-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 24px; }
.ymn-bento-wide { grid-column: 1 / -1; }
@media (max-width: 800px) { .ymn-bento-grid { grid-template-columns: 1fr; } }

.ymn-notif-list { display: flex; flex-direction: column; gap: 10px; }
.ymn-notif { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 14px; border-radius: 10px; border: 1px solid var(--ymn-border); background: #f9fafc; }
.ymn-notif.is-read { opacity: .6; }
.ymn-notif p { margin: 4px 0; color: #445; font-size: .88rem; }
.ymn-notif-success { border-left: 4px solid var(--ymn-green); }
.ymn-notif-error { border-left: 4px solid var(--ymn-red); }
.ymn-notif-warning { border-left: 4px solid var(--ymn-yellow); }
.ymn-notif-info { border-left: 4px solid var(--ymn-blue); }

/* ============ Sidebar Shell Layout (Super Admin / Director Control Center) ============ */
.ymn-shell { max-width: none; padding: 0; margin: 0; display: flex; min-height: 100vh; background: #f8fafc; }
.ymn-shell-sidebar {
	width: 256px; flex-shrink: 0; background: #0A1F44; color: #fff;
	display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.1);
}
.ymn-shell-brand { padding: 22px 20px; border-bottom: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; gap: 10px; }
.ymn-shell-brand .ymn-brand-badge { height: 32px; width: 32px; background: #dc2626; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: .78rem; letter-spacing: -.02em; }
.ymn-shell-brand .ymn-brand-title { font-weight: 700; font-size: .72rem; letter-spacing: .03em; text-transform: uppercase; display: block; line-height: 1.1; }
.ymn-shell-brand .ymn-brand-sub { font-size: .62rem; font-family: monospace; color: #94a3b8; font-weight: 500; }

.ymn-shell-profile { padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.05); background: rgba(0,0,0,.1); display: flex; align-items: center; gap: 10px; }
.ymn-shell-profile .ymn-profile-avatar { height: 36px; width: 36px; border-radius: 999px; background: rgba(220,38,38,.35); border: 1px solid rgba(239,68,68,.3); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .72rem; }
.ymn-shell-profile .ymn-profile-name { font-size: .78rem; font-weight: 600; }
.ymn-shell-profile .ymn-profile-role { font-size: .62rem; font-family: monospace; color: #94a3b8; }

.ymn-shell-nav { flex: 1; padding: 16px; display: flex; flex-direction: column; gap: 6px; overflow-y: auto; }
.ymn-shell-nav a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; font-size: .78rem; font-weight: 600; color: #cbd5e1; text-decoration: none; }
.ymn-shell-nav a:hover { background: rgba(255,255,255,.05); color: #fff; }
.ymn-shell-nav a.active { background: #dc2626; color: #fff; font-weight: 700; }
.ymn-shell-nav a .dashicons { font-size: 16px; width: 16px; height: 16px; }

.ymn-shell-footer { padding: 14px 16px; border-top: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.15); text-align: center; }
.ymn-shell-footer p { margin: 0; font-family: monospace; font-size: .6rem; color: #94a3b8; }
.ymn-shell-footer p:first-child { font-weight: 700; }

.ymn-shell-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ymn-shell-topbar { background: #0A1F44; color: #fff; padding: 18px 28px; border-bottom: 1px solid rgba(255,255,255,.05); }
.ymn-shell-topbar h1 { margin: 0; font-size: .95rem; font-weight: 700; letter-spacing: -.01em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ymn-shell-topbar .ymn-role-pill { font-size: .68rem; background: #dc2626; padding: 2px 10px; border-radius: 5px; font-family: monospace; font-weight: 500; text-transform: lowercase; }
.ymn-shell-topbar p { margin: 4px 0 0; font-size: .78rem; color: #cbd5e1; }

.ymn-shell-content { flex: 1; padding: 26px; max-width: 1400px; width: 100%; margin: 0 auto; }

/* Stat cards (Super Admin overview) */
.ymn-stat-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-bottom: 22px; }
@media (max-width: 900px) { .ymn-stat-cards { grid-template-columns: repeat(2, 1fr); } }
.ymn-stat-card-v2 { background: #fff; border: 1px solid #f1f5f9; border-radius: 12px; padding: 22px; display: flex; align-items: center; gap: 16px; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.ymn-stat-icon { height: 48px; width: 48px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ymn-stat-icon .dashicons { font-size: 22px; width: 22px; height: 22px; }
.ymn-stat-icon.blue { background: #eff6ff; color: #2563eb; }
.ymn-stat-icon.red { background: #fef2f2; color: #dc2626; }
.ymn-stat-icon.green { background: #f0fdf4; color: #16a34a; }
.ymn-stat-icon.purple { background: #faf5ff; color: #9333ea; }
.ymn-stat-card-v2 .ymn-stat-label-v2 { font-size: .68rem; color: #94a3b8; font-family: monospace; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.ymn-stat-card-v2 .ymn-stat-value-v2 { font-size: 1.4rem; font-weight: 700; font-family: monospace; color: #0A1F44; }

/* Rankings + efficiency grid */
.ymn-rankings-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 22px; }
@media (max-width: 900px) { .ymn-rankings-grid { grid-template-columns: 1fr; } }
.ymn-card-v2 { background: #fff; border: 1px solid #f1f5f9; border-radius: 12px; padding: 22px; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.ymn-card-v2 h3 { margin: 0 0 4px; font-size: .85rem; font-weight: 700; color: #0A1F44; }
.ymn-card-v2 .ymn-card-sub { font-size: .72rem; color: #94a3b8; margin: 0; }
.ymn-card-v2-head { border-bottom: 1px solid #f1f5f9; padding-bottom: 14px; margin-bottom: 14px; }

.ymn-eff-title { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #64748b; font-family: monospace; border-bottom: 1px solid #f1f5f9; padding-bottom: 8px; }
.ymn-eff-sub { font-size: .62rem; color: #94a3b8; margin: 6px 0 14px; }
.ymn-eff-box { padding: 14px; border-radius: 10px; margin-bottom: 12px; }
.ymn-eff-box.best { background: #f0fdf4; border: 1px solid #dcfce7; }
.ymn-eff-box.worst { background: #fef2f2; border: 1px solid #fee2e2; }
.ymn-eff-box .ymn-eff-tag { font-size: .6rem; font-weight: 700; font-family: monospace; text-transform: uppercase; letter-spacing: .05em; }
.ymn-eff-box.best .ymn-eff-tag { color: #15803d; }
.ymn-eff-box.worst .ymn-eff-tag { color: #b91c1c; }
.ymn-eff-box h4 { margin: 4px 0 2px; font-size: .92rem; color: #0f172a; }
.ymn-eff-box .ymn-eff-avg { font-size: .74rem; font-family: monospace; font-weight: 600; }
.ymn-eff-box.best .ymn-eff-avg { color: #16a34a; }
.ymn-eff-box.worst .ymn-eff-avg { color: #ef4444; }
.ymn-eff-footnote { font-size: .64rem; color: #94a3b8; line-height: 1.5; }

/* Registry / roster tables (v2) */
.ymn-toolbar-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #f1f5f9; padding-bottom: 16px; margin-bottom: 18px; }
.ymn-filters-row { display: flex; flex-wrap: wrap; gap: 10px; }
.ymn-filter-select { font-size: .72rem; font-weight: 700; color: #475569; padding: 8px 10px; border: 1px solid #e2e8f0; border-radius: 6px; background: #fff; }
.ymn-search-bar { display: flex; align-items: center; gap: 8px; background: #f8fafc; padding: 10px 14px; border-radius: 8px; border: 1px solid #e2e8f0; margin-bottom: 16px; }
.ymn-search-bar input { border: none; background: transparent; font-size: .78rem; width: 100%; outline: none; }
.ymn-search-bar .dashicons { color: #94a3b8; font-size: 16px; width: 16px; height: 16px; }

.ymn-table-v2 { width: 100%; border-collapse: collapse; font-size: .78rem; }
.ymn-table-v2 thead tr { background: #f8fafc; border-bottom: 1px solid #f1f5f9; }
.ymn-table-v2 th { padding: 10px 12px; text-align: left; font-size: .62rem; color: #94a3b8; text-transform: uppercase; letter-spacing: .05em; font-family: monospace; font-weight: 700; }
.ymn-table-v2 td { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; vertical-align: middle; color: #475569; }
.ymn-table-v2 tr:hover td { background: rgba(248,250,252,.6); }
.ymn-avatar-sm { height: 34px; width: 34px; border-radius: 999px; object-fit: cover; background: #e2e8f0; }
.ymn-director-name { font-weight: 700; color: #1e293b; }
.ymn-director-role-tag { font-size: .58rem; background: #eef1f8; color: #64748b; padding: 1px 6px; border-radius: 4px; font-weight: 700; margin-left: 4px; }

.ymn-progress-track { width: 90px; height: 6px; background: #f1f5f9; border-radius: 999px; overflow: hidden; display: inline-block; vertical-align: middle; margin-right: 6px; }
.ymn-progress-fill { height: 100%; background: #dc2626; }
.ymn-progress-pct { font-size: .68rem; font-weight: 700; color: #475569; }

.ymn-status-pill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: .64rem; font-weight: 700; }
.ymn-status-pill.active { background: #dcfce7; color: #15803d; }
.ymn-status-pill.suspended { background: #fee2e2; color: #b91c1c; }
.ymn-status-pill.inactive { background: #f1f5f9; color: #64748b; }
.ymn-status-pill.approved { background: #dcfce7; color: #15803d; }
.ymn-status-pill.pending { background: #fef9c3; color: #854d0e; }

.ymn-icon-action { color: #475569; text-decoration: none; margin-right: 8px; display: inline-flex; vertical-align: middle; }
.ymn-icon-action.danger { color: #dc2626; }
.ymn-icon-action .dashicons { font-size: 16px; width: 16px; height: 16px; }
.ymn-suspend-btn { font-size: .64rem; font-weight: 700; padding: 4px 10px; border-radius: 6px; background: #fee2e2; color: #b91c1c; border: none; cursor: pointer; margin-right: 8px; }
.ymn-suspend-btn.is-active { background: #dcfce7; color: #15803d; }

/* Department roster cards (v2) */
.ymn-dept-grid-v2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 1000px) { .ymn-dept-grid-v2 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ymn-dept-grid-v2 { grid-template-columns: 1fr; } }
.ymn-dept-card-v2 { background: #fff; border: 1px solid #f1f5f9; border-radius: 12px; padding: 20px; }
.ymn-dept-card-v2-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
.ymn-dept-code-pill { font-size: .62rem; font-weight: 700; background: #fef2f2; color: #dc2626; padding: 2px 8px; border-radius: 5px; font-family: monospace; }
.ymn-dept-card-v2 h4 { margin: 4px 0 6px; font-size: .95rem; color: #0f172a; }
.ymn-dept-card-v2 p.ymn-dept-desc { font-size: .76rem; color: #64748b; margin: 0 0 12px; min-height: 34px; }
.ymn-dept-meta-row { display: flex; justify-content: space-between; font-size: .72rem; border-top: 1px solid #f1f5f9; padding-top: 10px; color: #64748b; }
.ymn-dept-meta-row strong { color: #0f172a; }
.ymn-dot { display: inline-block; height: 7px; width: 7px; border-radius: 999px; margin-right: 4px; }
.ymn-dot.red { background: #ef4444; }
.ymn-dot.green { background: #22c55e; }

.ymn-icon-btn-outline { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 8px; border: 1px solid #e2e8f0; background: #fff; color: #0A1F44; font-weight: 700; font-size: .76rem; text-decoration: none; cursor: pointer; }
.ymn-icon-btn-outline:hover { background: #f8fafc; }
.ymn-icon-btn-red { display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; border-radius: 8px; border: none; background: #dc2626; color: #fff; font-weight: 700; font-size: .78rem; text-decoration: none; cursor: pointer; }
.ymn-icon-btn-red:hover { background: #b91c1c; color: #fff; }

/* Export terminal */
.ymn-export-filters { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; background: #f8fafc; border: 1px solid #f1f5f9; border-radius: 12px; padding: 18px; margin-bottom: 22px; }
@media (max-width: 900px) { .ymn-export-filters { grid-template-columns: repeat(2, 1fr); } }
.ymn-export-filters label { font-size: .62rem; font-weight: 700; text-transform: uppercase; color: #64748b; font-family: monospace; display: block; margin-bottom: 4px; }
.ymn-export-filters select { width: 100%; font-size: .76rem; padding: 8px; border: 1px solid #e2e8f0; border-radius: 6px; }
.ymn-scope-box { padding: 8px; background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 6px; font-size: .76rem; font-weight: 700; color: #334155; font-family: monospace; display: flex; align-items: center; justify-content: space-between; }
.ymn-scope-box strong { color: #dc2626; font-weight: 900; }

.ymn-export-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .ymn-export-cards { grid-template-columns: 1fr; } }
.ymn-export-card { background: #f8fafc; border: 1px solid #f1f5f9; border-radius: 12px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; }
.ymn-export-card .ymn-export-tag { display: inline-flex; align-items: center; justify-content: center; height: 32px; width: 42px; border-radius: 6px; font-family: monospace; font-weight: 700; font-size: .68rem; margin-bottom: 10px; }
.ymn-export-tag.csv { background: #f0fdf4; color: #16a34a; }
.ymn-export-tag.doc { background: #eff6ff; color: #2563eb; }
.ymn-export-tag.pdf { background: #fef2f2; color: #dc2626; }
.ymn-export-card h5 { margin: 0 0 4px; font-size: .8rem; color: #1e293b; }
.ymn-export-card p { margin: 0; font-size: .68rem; color: #94a3b8; line-height: 1.5; }
.ymn-export-card .ymn-export-btn { width: 100%; padding: 10px; border-radius: 8px; border: none; color: #fff; font-weight: 700; font-size: .76rem; text-align: center; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.ymn-export-btn.csv { background: #16a34a; }
.ymn-export-btn.doc { background: #2563eb; }
.ymn-export-btn.pdf { background: #dc2626; }

/* ============ Global slim topbar (site-wide, above the dashboard header) ============ */
.ymn-topbar-slim { background: #0A1F44; color: #fff; padding: 10px 26px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.08); position: relative; z-index: 20; }
.ymn-topbar-brand { display: flex; align-items: center; gap: 10px; }
.ymn-topbar-brand .ymn-brand-badge { height: 30px; width: 30px; background: #dc2626; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: .85rem; }
.ymn-topbar-brand-title { font-size: .82rem; font-weight: 700; display: block; line-height: 1.1; }
.ymn-topbar-brand-sub { font-size: .62rem; color: #94a3b8; font-family: monospace; }
.ymn-topbar-right { display: flex; align-items: center; gap: 18px; }
.ymn-bell-wrap { position: relative; color: #cbd5e1; }
.ymn-bell-wrap .dashicons { font-size: 20px; width: 20px; height: 20px; }
.ymn-bell-badge { position: absolute; top: -6px; right: -8px; background: #dc2626; color: #fff; font-size: .6rem; font-weight: 700; border-radius: 999px; padding: 1px 5px; }
.ymn-nav-badge { margin-left: auto; background: #dc2626; color: #fff; font-size: .62rem; font-weight: 800; min-width: 18px; height: 18px; line-height: 18px; text-align: center; border-radius: 999px; padding: 0 5px; box-shadow: 0 0 0 2px rgba(220,38,38,.25); }
.ymn-shell-nav a.active .ymn-nav-badge { background: #fff; color: #dc2626; box-shadow: none; }
.ymn-topbar-profile { position: relative; }
.ymn-topbar-profile-btn { display: flex; align-items: center; gap: 8px; background: none; border: none; color: #fff; cursor: pointer; font-size: .78rem; font-weight: 600; }
.ymn-topbar-profile-btn img, .ymn-topbar-profile-btn .ymn-avatar-fallback { height: 28px; width: 28px; border-radius: 999px; object-fit: cover; background: #dc2626; display: flex; align-items: center; justify-content: center; font-size: .65rem; font-weight: 700; }
.ymn-profile-dropdown { display: none; position: absolute; right: 0; top: calc(100% + 10px); background: #fff; color: #1c2333; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.15); min-width: 220px; padding: 16px; z-index: 30; }
.ymn-profile-dropdown.open { display: block; }
.ymn-profile-dropdown .ymn-pd-name { font-weight: 700; font-size: .85rem; }
.ymn-profile-dropdown .ymn-pd-email { font-size: .72rem; color: #64748b; margin: 2px 0 8px; }
.ymn-profile-dropdown .ymn-pd-badge { display: inline-block; font-size: .6rem; font-weight: 700; background: #fee2e2; color: #b91c1c; padding: 2px 8px; border-radius: 4px; margin-bottom: 10px; }
.ymn-profile-dropdown form { border-top: 1px solid #f1f5f9; padding-top: 10px; }
.ymn-profile-dropdown button { background: none; border: none; color: #dc2626; font-weight: 700; font-size: .78rem; cursor: pointer; display: flex; align-items: center; gap: 6px; }

/* Home Panel leaderboard cards */
.ymn-leader-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 16px; }
@media (max-width: 900px) { .ymn-leader-grid { grid-template-columns: repeat(2, 1fr); } }
.ymn-leader-card { background: #f8fafc; border: 1px solid #f1f5f9; border-radius: 12px; padding: 18px; text-align: center; position: relative; }
.ymn-leader-tag { position: absolute; top: 10px; right: 10px; font-size: .58rem; font-weight: 700; padding: 2px 8px; border-radius: 5px; background: #0A1F44; color: #fff; }
.ymn-leader-tag.current { background: #dc2626; }
.ymn-leader-label { font-size: .62rem; color: #94a3b8; text-transform: uppercase; letter-spacing: .05em; font-family: monospace; font-weight: 700; }
.ymn-leader-avatar { height: 64px; width: 64px; border-radius: 999px; object-fit: cover; border: 2px solid #ef4444; margin: 12px auto 8px; display: block; background: #e2e8f0; }
.ymn-leader-avatar-fallback { height: 64px; width: 64px; border-radius: 999px; border: 2px solid #ef4444; margin: 12px auto 8px; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #64748b; background: #e2e8f0; }
.ymn-leader-name { font-size: .8rem; font-weight: 700; color: #0A1F44; margin: 0; }
.ymn-leader-score { font-size: .68rem; color: #94a3b8; font-family: monospace; margin: 2px 0 8px; }
.ymn-leader-empty { color: #94a3b8; font-size: .75rem; padding: 20px 0; }

/* Dispatch console */
.ymn-dispatch-console { background: #0A1F44; border-radius: 12px; padding: 22px 26px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 22px; }
.ymn-dispatch-console h4 { color: #fff; margin: 0 0 4px; font-size: .92rem; }
.ymn-dispatch-console p { color: #94a3b8; margin: 0; font-size: .74rem; }
.ymn-dispatch-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.ymn-dispatch-btn { padding: 9px 16px; border-radius: 8px; font-size: .74rem; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; color: #fff; }
.ymn-dispatch-btn.navy { background: #14315f; }
.ymn-dispatch-btn.blue { background: #2563eb; }
.ymn-dispatch-btn.red { background: #dc2626; }

/* Appraise Member - criteria sliders (stacked, full width) */
.ymn-criteria-block { border-top: 1px solid #f1f5f9; padding: 14px 0; }
.ymn-criteria-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 8px; }
.ymn-criteria-head h5 { margin: 0; font-size: .82rem; color: #1e293b; }
.ymn-criteria-head p { margin: 2px 0 0; font-size: .7rem; color: #94a3b8; max-width: 480px; }
.ymn-criteria-badge { background: #0A1F44; color: #fff; font-size: .68rem; font-weight: 700; padding: 3px 10px; border-radius: 6px; font-family: monospace; white-space: nowrap; }
.ymn-criteria-slider { width: 100%; accent-color: #dc2626; height: 6px; }

/* Grade classification panel */
.ymn-grade-panel { background: #0A1F44; border-radius: 12px; padding: 22px; color: #fff; text-align: center; }
.ymn-grade-panel .ymn-gp-tag { display: inline-block; background: #dc2626; font-size: .62rem; font-weight: 700; padding: 3px 10px; border-radius: 5px; margin-bottom: 10px; }
.ymn-grade-panel .ymn-gp-label { font-size: .62rem; color: #94a3b8; font-family: monospace; text-transform: uppercase; letter-spacing: .05em; }
.ymn-grade-panel .ymn-gp-total { font-size: 2.4rem; font-weight: 800; color: #ef4444; font-family: monospace; margin: 4px 0; }
.ymn-grade-panel .ymn-gp-total span { font-size: 1rem; color: #94a3b8; }
.ymn-grade-panel .ymn-gp-grade { font-size: 1.1rem; font-weight: 700; margin: 10px 0 4px; }
.ymn-grade-scale { height: 8px; border-radius: 999px; background: linear-gradient(to right, #dc2626 0 25%, #ca8a04 25% 50%, #2563eb 50% 75%, #16a34a 75% 100%); margin: 14px 0 6px; }
.ymn-grade-scale-labels { display: flex; justify-content: space-between; font-size: .58rem; color: #94a3b8; font-family: monospace; }
.ymn-grade-note { font-size: .66rem; color: #94a3b8; background: rgba(255,255,255,.05); border-radius: 8px; padding: 10px; margin-top: 14px; text-align: left; line-height: 1.5; }
.ymn-recent-appraisals { background: #fff; border-radius: 12px; padding: 18px; margin-top: 18px; border: 1px solid #f1f5f9; }
.ymn-recent-appraisals h4 { margin: 0 0 12px; font-size: .78rem; color: #0A1F44; text-transform: uppercase; letter-spacing: .04em; font-family: monospace; }
.ymn-recent-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid #f8fafc; font-size: .76rem; }
.ymn-recent-row:last-child { border-bottom: none; }
.ymn-recent-row .ymn-recent-meta { color: #94a3b8; font-size: .66rem; }

/* ============ Mobile responsiveness ============ */
.ymn-hamburger { display: none; background: none; border: none; color: #fff; cursor: pointer; padding: 4px; margin-right: 2px; }
.ymn-hamburger .dashicons { font-size: 22px; width: 22px; height: 22px; }
.ymn-sidebar-overlay { display: none; }

@media (max-width: 900px) {
	.ymn-hamburger { display: inline-flex; align-items: center; }
	.ymn-topbar-brand-sub { display: none; }
	.ymn-topbar-slim { padding: 10px 14px; }
	.ymn-topbar-right { gap: 10px; }
	.ymn-topbar-profile-btn span:last-child { display: none; } /* hide name text, keep avatar, on small screens */

	.ymn-shell-sidebar {
		position: fixed; top: 0; left: 0; height: 100vh; z-index: 100;
		transform: translateX(-100%); transition: transform .25s ease;
		box-shadow: 4px 0 24px rgba(0,0,0,.25);
	}
	.ymn-shell-sidebar.open { transform: translateX(0); }
	.ymn-sidebar-overlay.open {
		display: block; position: fixed; inset: 0; background: rgba(10,31,68,.5); z-index: 90;
	}
	.ymn-shell-main { width: 100%; }
	.ymn-shell-content { padding: 16px; }
	.ymn-shell-topbar { padding: 14px 16px; }
	.ymn-shell-topbar h1 { font-size: .82rem; }
}

@media (max-width: 640px) {
	.ymn-stat-cards { grid-template-columns: 1fr; }
	.ymn-leader-grid { grid-template-columns: 1fr; }
	.ymn-dept-grid-v2 { grid-template-columns: 1fr; }
	.ymn-export-cards { grid-template-columns: 1fr; }
	.ymn-export-filters { grid-template-columns: 1fr; }
	.ymn-dispatch-console { flex-direction: column; align-items: flex-start; }
	.ymn-dispatch-buttons { width: 100%; }
	.ymn-dispatch-buttons a { flex: 1; justify-content: center; }
	.ymn-toolbar-row { flex-direction: column; align-items: flex-start; }
	.ymn-toolbar-row form, .ymn-filters-row { width: 100%; }
	.ymn-filters-row select { flex: 1; min-width: 0; }
	.ymn-profile-dropdown { right: -10px; min-width: 200px; }
	.ymn-card-v2 { padding: 16px; }
	.ymn-criteria-head { flex-direction: column; }
	.ymn-criteria-badge { align-self: flex-start; }
}

/* Tables already scroll horizontally on small screens via their .ymn-table-v2 wrapper's overflow-x:auto */
@media (max-width: 480px) {
	.ymn-table-v2 th, .ymn-table-v2 td { padding: 8px 6px; font-size: .7rem; }
	.ymn-avatar-sm { height: 26px; width: 26px; }
}

/* Workflow Methodology (homepage) */
.ymn-workflow { margin: 48px 0; text-align: center; }
.ymn-workflow h2 { color: #0A1F44; font-size: 1.5rem; margin: 0 0 8px; }
.ymn-workflow-sub { max-width: 680px; margin: 0 auto 28px; color: #667; }
.ymn-workflow-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; text-align: left; }
@media (max-width: 900px) { .ymn-workflow-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ymn-workflow-grid { grid-template-columns: 1fr; } }
.ymn-workflow-card { background: #fff; border: 1px solid var(--ymn-border, #e2e6ee); border-radius: 12px; padding: 20px; position: relative; }
.ymn-workflow-num { display: inline-block; font-size: 1.6rem; font-weight: 800; color: #C9A24B; font-family: monospace; line-height: 1; margin-bottom: 8px; }
.ymn-workflow-card h3 { margin: 0 0 6px; font-size: .95rem; color: #0A1F44; }
.ymn-workflow-card p { margin: 0; font-size: .82rem; color: #667; line-height: 1.5; }

/* ===== v2.0.0 Member Portal / Tasks / MOM / Feedback ===== */
.ymn-member-welcome { background: linear-gradient(135deg, var(--ymn-navy), var(--ymn-navy-light)); color: #fff; border-radius: 16px; padding: 24px; margin-bottom: 24px; }
.ymn-member-welcome-inner { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.ymn-member-avatar { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; border: 3px solid var(--ymn-gold); flex-shrink: 0; }
.ymn-member-avatar-fallback { width: 72px; height: 72px; border-radius: 50%; background: var(--ymn-gold); color: var(--ymn-navy); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; font-weight: 700; flex-shrink: 0; }
.ymn-member-welcome h2 { margin: 0 0 4px; font-size: 1.4rem; }
.ymn-member-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 8px; font-size: .85rem; opacity: .92; }
.ymn-member-meta span strong { color: var(--ymn-gold); }

.ymn-rank-card { background: #fff; border: 1px solid var(--ymn-border); border-left: 4px solid var(--ymn-gold); border-radius: 12px; padding: 20px; margin-bottom: 20px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.ymn-rank-main { font-size: 1.05rem; color: var(--ymn-navy); font-weight: 600; }
.ymn-rank-stats { display: flex; gap: 28px; }
.ymn-rank-num { font-size: 1.6rem; font-weight: 700; color: var(--ymn-navy); }
.ymn-rank-num small { display: block; font-size: .72rem; font-weight: 500; color: #64748b; text-transform: uppercase; letter-spacing: .03em; }

.ymn-detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 14px; margin-top: 14px; }
.ymn-detail-grid > div { background: #f9fafc; border: 1px solid var(--ymn-border); border-radius: 10px; padding: 12px; }
.ymn-detail-grid small { display: block; color: #64748b; font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 4px; }
.ymn-detail-grid strong { color: var(--ymn-navy); font-size: 1.05rem; }

.ymn-task-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.ymn-task-card { background: #fff; border: 1px solid var(--ymn-border); border-top: 3px solid var(--ymn-navy); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.ymn-task-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.ymn-task-card-head h4 { margin: 0; color: var(--ymn-navy); font-size: 1rem; }
.ymn-task-desc { color: #475569; font-size: .86rem; margin: 0; }
.ymn-task-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; font-size: .78rem; color: #64748b; }
.ymn-task-meta strong { color: var(--ymn-navy); }
.ymn-task-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-top: 1px solid var(--ymn-border); padding-top: 10px; flex-wrap: wrap; }
.ymn-task-attach a { color: var(--ymn-navy); font-weight: 600; font-size: .8rem; text-decoration: none; }
.ymn-task-status-form { display: flex; gap: 6px; align-items: center; }
.ymn-task-status-form select { padding: 5px 8px; border: 1px solid var(--ymn-border); border-radius: 8px; font-size: .8rem; }

.ymn-prio-pill { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .72rem; font-weight: 700; }
.ymn-prio-normal { background: #eef1f8; color: var(--ymn-navy); }
.ymn-prio-important { background: #fef3c7; color: #b45309; }
.ymn-prio-urgent { background: #fee2e2; color: var(--ymn-red); }

.ymn-mom-card { background: #fff; border: 1px solid var(--ymn-border); border-left: 4px solid var(--ymn-navy); border-radius: 12px; padding: 18px; margin-bottom: 14px; }
.ymn-mom-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.ymn-mom-head h4 { margin: 0; color: var(--ymn-navy); font-size: 1.05rem; }
.ymn-mom-meta { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 8px 0; font-size: .8rem; color: #64748b; }
.ymn-mom-summary { color: #475569; font-size: .88rem; margin: 8px 0 12px; }
.ymn-badge-latest { display: inline-block; background: var(--ymn-gold); color: var(--ymn-navy); font-size: .68rem; font-weight: 700; padding: 2px 8px; border-radius: 999px; text-transform: uppercase; letter-spacing: .03em; vertical-align: middle; }

.ymn-task-repeat-row { padding: 4px 0; }

@media (max-width: 640px) {
	.ymn-rank-card { flex-direction: column; align-items: flex-start; }
	.ymn-rank-stats { gap: 20px; }
	.ymn-task-grid { grid-template-columns: 1fr; }
	.ymn-member-meta { gap: 4px 14px; }
}

/* =====================================================================
   CHAIRMAN / BOARD OF GOVERNORS DASHBOARD (v2.2.0)
   A deliberately distinct, premium executive look: deep navy canvas,
   gold accents, glass cards. Read-only, auto-generated reports.
   ===================================================================== */
.ymn-chairman-shell { background: radial-gradient(1200px 600px at 100% -10%, #12295a 0%, #0A1F44 55%, #071534 100%); }
.ymn-chairman-shell .ymn-shell-main { background: transparent; }
.ymn-chairman-shell .ymn-shell-content { color: #e8edf7; }
.ymn-chairman-topbar { background: linear-gradient(90deg, rgba(10,31,68,.9), rgba(18,41,90,.6)); border-bottom: 1px solid rgba(201,162,75,.35); }
.ymn-chairman-topbar h1 { color: #fff; }
.ymn-chairman-topbar p { color: #b9c4dc; }
.ymn-role-pill-gold { background: linear-gradient(135deg, var(--ymn-gold), #e6c574); color: var(--ymn-navy); font-weight: 800; box-shadow: 0 2px 8px rgba(201,162,75,.35); }

/* Hero auto-summary */
.ymn-ch-hero { display: flex; gap: 18px; align-items: center; background: linear-gradient(120deg, rgba(201,162,75,.14), rgba(255,255,255,.04)); border: 1px solid rgba(201,162,75,.35); border-radius: 18px; padding: 22px 24px; margin-bottom: 22px; backdrop-filter: blur(6px); }
.ymn-ch-hero-badge { flex-shrink: 0; width: 58px; height: 58px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(135deg, var(--ymn-gold), #e6c574); color: var(--ymn-navy); }
.ymn-ch-hero-badge .dashicons { font-size: 30px; width: 30px; height: 30px; }
.ymn-ch-hero-tag { display: inline-block; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ymn-gold); font-weight: 800; }
.ymn-ch-hero-body h2 { margin: 4px 0 6px; color: #fff; font-size: 1.25rem; }
.ymn-ch-hero-body p { margin: 0; color: #cdd6ea; font-size: .92rem; line-height: 1.6; }
.ymn-ch-hero-body strong { color: #fff; }

/* KPI grid */
.ymn-ch-kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 22px; }
.ymn-ch-kpi { display: flex; align-items: center; gap: 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 18px; }
.ymn-ch-kpi-ic { flex-shrink: 0; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: rgba(201,162,75,.16); color: var(--ymn-gold); }
.ymn-ch-kpi-ic .dashicons { font-size: 24px; width: 24px; height: 24px; }
.ymn-ch-kpi-num { font-size: 1.7rem; font-weight: 800; color: #fff; line-height: 1.1; }
.ymn-ch-kpi-lbl { font-size: .78rem; color: #aeb9d4; margin-top: 2px; }
.ymn-ch-kpi-accent { background: linear-gradient(135deg, rgba(201,162,75,.22), rgba(201,162,75,.05)); border-color: rgba(201,162,75,.5); }
.ymn-ch-kpi-accent .ymn-ch-kpi-num { color: var(--ymn-gold); }

/* Cards */
.ymn-ch-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.ymn-ch-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 20px; margin-bottom: 18px; }
.ymn-ch-card-head { display: flex; flex-direction: column; margin-bottom: 14px; }
.ymn-ch-card-head h3 { margin: 0; color: #fff; font-size: 1.02rem; }
.ymn-ch-card-head span { font-size: .78rem; color: #9fabc9; margin-top: 2px; }
.ymn-ch-card canvas { max-width: 100%; }
.ymn-ch-empty { padding: 26px; text-align: center; color: #9fabc9; font-size: .9rem; background: rgba(255,255,255,.03); border-radius: 12px; }

/* Top performer */
.ymn-ch-top { display: flex; align-items: center; gap: 18px; background: linear-gradient(120deg, rgba(201,162,75,.18), rgba(255,255,255,.04)); border-color: rgba(201,162,75,.4); }
.ymn-ch-top-crown { font-size: 2.4rem; }
.ymn-ch-top-tag { display: inline-block; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ymn-gold); font-weight: 800; }
.ymn-ch-top h3 { margin: 4px 0 4px; color: #fff; font-size: 1.2rem; }
.ymn-ch-top p { margin: 0; color: #cdd6ea; font-size: .9rem; }
.ymn-ch-top strong { color: var(--ymn-gold); }

/* Section heads */
.ymn-ch-section-head { margin-bottom: 18px; }
.ymn-ch-section-head h2 { margin: 0 0 4px; color: #fff; font-size: 1.3rem; }
.ymn-ch-section-head p { margin: 0; color: #9fabc9; font-size: .9rem; }

/* Department report cards */
.ymn-ch-dept-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; flex-wrap: wrap; margin-bottom: 10px; }
.ymn-ch-dept-top h3 { margin: 0; color: #fff; font-size: 1.15rem; }
.ymn-ch-dept-meta { margin: 4px 0 0; color: #aeb9d4; font-size: .82rem; }
.ymn-ch-dept-meta strong { color: #fff; }
.ymn-ch-dept-score { text-align: right; }
.ymn-ch-dept-score-num { font-size: 1.6rem; font-weight: 800; color: var(--ymn-gold); line-height: 1; }
.ymn-ch-dept-score-num span { font-size: .8rem; color: #9fabc9; font-weight: 600; }
.ymn-ch-dept-period { font-size: .8rem; color: #9fabc9; margin: 6px 0 12px; }
.ymn-ch-nodata { padding: 14px 16px; background: rgba(220,38,38,.1); border: 1px dashed rgba(220,38,38,.4); border-radius: 10px; color: #f1c3c3; font-size: .85rem; }
.ymn-ch-nodata strong { color: #fff; }

/* KPI progress lines */
.ymn-ch-kpi-lines { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 22px; }
.ymn-ch-kpi-line-top { display: flex; justify-content: space-between; font-size: .8rem; color: #cdd6ea; margin-bottom: 4px; }
.ymn-ch-bar { height: 8px; border-radius: 999px; background: rgba(255,255,255,.1); overflow: hidden; }
.ymn-ch-bar span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--ymn-gold), #e6c574); }
.ymn-ch-note { background: rgba(255,255,255,.04); border-radius: 12px; padding: 14px 16px; }
.ymn-ch-note h4 { margin: 0 0 8px; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; }
.ymn-ch-note ul { margin: 0; padding-left: 18px; color: #cdd6ea; font-size: .85rem; line-height: 1.6; }
.ymn-ch-note.ok { border-left: 3px solid #16a34a; }
.ymn-ch-note.ok h4 { color: #4ade80; }
.ymn-ch-note.warn { border-left: 3px solid var(--ymn-gold); }
.ymn-ch-note.warn h4 { color: var(--ymn-gold); }

/* Individual staff report */
.ymn-ch-back { display: inline-flex; align-items: center; gap: 6px; color: var(--ymn-gold); text-decoration: none; font-weight: 600; font-size: .88rem; margin-bottom: 14px; }
.ymn-ch-back:hover { color: #e6c574; }
.ymn-ch-report-head { display: flex; align-items: center; gap: 18px; margin-bottom: 20px; flex-wrap: wrap; }
.ymn-ch-report-photo { width: 72px; height: 72px; border-radius: 18px; object-fit: cover; border: 2px solid rgba(201,162,75,.5); }
.ymn-ch-report-photo.fallback { display: grid; place-items: center; background: linear-gradient(135deg, var(--ymn-gold), #e6c574); color: var(--ymn-navy); font-weight: 800; font-size: 1.5rem; }
.ymn-ch-report-tag { display: inline-block; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ymn-gold); font-weight: 800; }
.ymn-ch-report-head h2 { margin: 3px 0 4px; color: #fff; font-size: 1.35rem; }
.ymn-ch-report-head p { margin: 0; color: #aeb9d4; font-size: .85rem; }
.ymn-ch-report-grade { margin-left: auto; }
.ymn-ch-report { background: rgba(255,255,255,.04); border: 1px solid rgba(201,162,75,.25); border-radius: 18px; padding: 24px; }
.ymn-ch-report .ymn-ch-card { background: rgba(0,0,0,.15); }

/* Tables */
.ymn-ch-table { width: 100%; border-collapse: collapse; }
.ymn-ch-table th { text-align: left; font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; color: #9fabc9; padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.12); }
.ymn-ch-table td { padding: 12px; border-bottom: 1px solid rgba(255,255,255,.07); color: #dbe2f1; font-size: .88rem; }
.ymn-ch-table tbody tr:hover { background: rgba(255,255,255,.04); }
.ymn-ch-table strong { color: #fff; }

/* Toolbar (search + filter) */
.ymn-ch-toolbar { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.ymn-ch-toolbar input, .ymn-ch-toolbar select { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-radius: 10px; padding: 10px 14px; color: #fff; font-size: .88rem; }
.ymn-ch-toolbar input { flex: 1; min-width: 200px; }
.ymn-ch-toolbar input::placeholder { color: #8a97b7; }
.ymn-ch-toolbar select option { color: #0A1F44; }

/* View button */
.ymn-ch-view-btn { display: inline-flex; align-items: center; gap: 5px; background: linear-gradient(135deg, var(--ymn-gold), #e6c574); color: var(--ymn-navy); font-weight: 700; font-size: .82rem; padding: 7px 14px; border-radius: 999px; text-decoration: none; }
.ymn-ch-view-btn:hover { box-shadow: 0 3px 10px rgba(201,162,75,.4); color: var(--ymn-navy); }
.ymn-ch-view-btn .dashicons { font-size: 16px; width: 16px; height: 16px; }

/* Feedback grid */
.ymn-ch-feed-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.ymn-ch-feed { margin-bottom: 0; }
.ymn-ch-feed-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.ymn-ch-feed-cat { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 800; color: var(--ymn-navy); background: var(--ymn-gold); padding: 3px 10px; border-radius: 999px; }
.ymn-ch-feed-date { font-size: .76rem; color: #9fabc9; }
.ymn-ch-feed h3 { margin: 0 0 6px; color: #fff; font-size: 1rem; }
.ymn-ch-feed-msg { color: #cdd6ea; font-size: .88rem; line-height: 1.6; margin: 0 0 12px; }
.ymn-ch-feed-foot { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .78rem; color: #9fabc9; border-top: 1px solid rgba(255,255,255,.1); padding-top: 10px; }
.ymn-ch-feed-foot a { color: var(--ymn-gold); text-decoration: none; }
.ymn-ch-feed-foot .dashicons { font-size: 15px; width: 15px; height: 15px; vertical-align: text-bottom; }

/* Notifications */
.ymn-ch-notif-list { display: flex; flex-direction: column; gap: 4px; }
.ymn-ch-notif { display: flex; gap: 12px; padding: 14px 12px; border-bottom: 1px solid rgba(255,255,255,.07); }
.ymn-ch-notif-dot { flex-shrink: 0; width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.2); margin-top: 6px; }
.ymn-ch-notif.unread { background: rgba(201,162,75,.08); border-radius: 10px; }
.ymn-ch-notif.unread .ymn-ch-notif-dot { background: var(--ymn-gold); box-shadow: 0 0 0 3px rgba(201,162,75,.2); }
.ymn-ch-notif strong { color: #fff; font-size: .92rem; }
.ymn-ch-notif p { margin: 3px 0; color: #cdd6ea; font-size: .85rem; }
.ymn-ch-notif-time { font-size: .74rem; color: #8a97b7; }

@media (max-width: 900px) {
	.ymn-ch-kpi-grid { grid-template-columns: repeat(2, 1fr); }
	.ymn-ch-grid-2 { grid-template-columns: 1fr; }
	.ymn-ch-kpi-lines { grid-template-columns: 1fr; }
	.ymn-ch-feed-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.ymn-ch-kpi-grid { grid-template-columns: 1fr; }
	.ymn-ch-hero { flex-direction: column; text-align: center; }
	.ymn-ch-report-grade { margin-left: 0; }
}

/* =====================================================================
   EXECUTIVE DASHBOARD v2.3.0 additions
   Tasks reports, Organizational Summary, task/priority pills, month
   selector, Download-PDF button and print-to-PDF styling.
   ===================================================================== */
.ymn-ch-pill { display:inline-block; font-size:.68rem; font-weight:700; padding:2px 9px; border-radius:999px; text-transform:uppercase; letter-spacing:.03em; }
.ymn-ch-pill.st-pending { background:rgba(201,162,75,.18); color:#e6c574; }
.ymn-ch-pill.st-progress { background:rgba(37,99,235,.2); color:#93c5fd; }
.ymn-ch-pill.st-completed { background:rgba(22,163,74,.2); color:#4ade80; }
.ymn-ch-pill.st-overdue { background:rgba(220,38,38,.2); color:#fca5a5; }
.ymn-ch-pill.pr-high { background:rgba(220,38,38,.16); color:#fca5a5; }
.ymn-ch-pill.pr-normal { background:rgba(255,255,255,.1); color:#cbd5e1; }
.ymn-ch-pill.pr-low { background:rgba(148,163,184,.16); color:#cbd5e1; }

.ymn-ch-period-bar { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:18px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:14px 18px; }
.ymn-ch-period-bar label { color:#cdd6ea; font-size:.85rem; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.ymn-ch-period-bar select { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); border-radius:10px; padding:9px 14px; color:#fff; font-size:.9rem; }
.ymn-ch-period-bar select option { color:#0A1F44; }

.ymn-ch-report-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.ymn-ch-report-actions .ymn-ch-back { margin-bottom:0; }
.ymn-print-btn { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.08); border:1px solid rgba(201,162,75,.5); color:var(--ymn-gold); font-weight:700; font-size:.82rem; padding:8px 16px; border-radius:999px; cursor:pointer; margin-left:auto; }
.ymn-print-btn:hover { background:rgba(201,162,75,.15); }
.ymn-print-btn .dashicons { font-size:16px; width:16px; height:16px; }

/* Print / Save-as-PDF: strip the dark chrome and render a clean light report. */
@media print {
	.ymn-topbar-slim, .ymn-shell-sidebar, .ymn-shell-topbar, .ymn-sidebar-overlay,
	.ymn-shell-nav, .ymn-ch-back, .ymn-print-btn, .ymn-ch-view-btn, .ymn-ch-toolbar,
	.ymn-hamburger, .ymn-topbar-right { display:none !important; }
	body { background:#fff !important; }
	.ymn-chairman-shell, .ymn-shell, .ymn-shell-main, .ymn-shell-content { background:#fff !important; color:#111 !important; display:block !important; min-height:0 !important; }
	.ymn-ch-card, .ymn-ch-report, .ymn-ch-hero, .ymn-ch-kpi, .ymn-ch-top, .ymn-ch-note,
	.ymn-ch-feed, .ymn-ch-period-bar { background:#fff !important; border:1px solid #d5d9e2 !important; box-shadow:none !important; backdrop-filter:none !important; }
	.ymn-ch-report *, .ymn-ch-card *, .ymn-ch-hero *, .ymn-ch-kpi *, .ymn-ch-section-head *,
	.ymn-ch-table td, .ymn-ch-notif * { color:#1f2937 !important; }
	.ymn-ch-kpi-num, .ymn-ch-report-head h2, .ymn-ch-dept-score-num, .ymn-ch-hero-body h2,
	.ymn-ch-section-head h2, .ymn-ch-report-tag, .ymn-ch-hero-tag { color:#0A1F44 !important; }
	.ymn-ch-table th { color:#334155 !important; border-bottom:1px solid #cbd5e1 !important; }
	.ymn-ch-table td { border-bottom:1px solid #e2e8f0 !important; }
	.ymn-ch-bar { background:#e5e7eb !important; }
	.ymn-ch-bar span { background:#0A1F44 !important; }
	@page { margin:12mm; }
}

/* ============================================================
   v2.4.0 - Broadcast Messaging
   ============================================================ */

/* --- Recipient popup --- */
.ymn-bc-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(10, 31, 68, 0.55);
	backdrop-filter: blur(3px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: ymnBcFade 0.2s ease;
}
@keyframes ymnBcFade { from { opacity: 0; } to { opacity: 1; } }
.ymn-bc-modal {
	background: #fff;
	width: 100%;
	max-width: 560px;
	border-radius: 16px;
	box-shadow: 0 24px 60px rgba(10, 31, 68, 0.4);
	overflow: hidden;
	max-height: 88vh;
	display: flex;
	flex-direction: column;
	animation: ymnBcPop 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes ymnBcPop { from { transform: translateY(18px) scale(0.97); opacity: 0; } to { transform: none; opacity: 1; } }
.ymn-bc-modal-head {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 24px;
	background: linear-gradient(135deg, #0A1F44 0%, #16305f 100%);
	color: #fff;
}
.ymn-bc-modal-ic {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #C9A24B;
	color: #0A1F44;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ymn-bc-modal-ic .dashicons { font-size: 24px; width: 24px; height: 24px; }
.ymn-bc-modal-head h3 { margin: 0; font-size: 18px; font-weight: 700; }
.ymn-bc-modal-head p { margin: 2px 0 0; font-size: 12.5px; opacity: 0.8; }
.ymn-bc-modal-body { padding: 18px 24px; overflow-y: auto; }
.ymn-bc-msg { padding: 14px 0; border-bottom: 1px solid #eef1f6; }
.ymn-bc-msg:last-child { border-bottom: 0; }
.ymn-bc-msg-top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.ymn-bc-avatar {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #0A1F44;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 14px;
}
.ymn-bc-sender { font-weight: 700; color: #0A1F44; font-size: 14px; }
.ymn-bc-role-tag {
	display: inline-block;
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	background: #fdf6e6;
	color: #9a7a25;
	padding: 1px 7px;
	border-radius: 20px;
	margin-left: 4px;
}
.ymn-bc-date { font-size: 11.5px; color: #94a3b8; }
.ymn-bc-subject { font-weight: 700; color: #0A1F44; font-size: 15px; margin-bottom: 4px; }
.ymn-bc-text { color: #334155; font-size: 14px; line-height: 1.6; }
.ymn-bc-modal-foot { padding: 16px 24px 22px; border-top: 1px solid #eef1f6; }
.ymn-btn-block { width: 100%; justify-content: center; }

/* --- Sender broadcast center --- */
.ymn-bc-center { display: grid; gap: 20px; }
.ymn-bc-form { display: grid; gap: 14px; margin-top: 4px; }
.ymn-bc-field { display: grid; gap: 6px; }
.ymn-bc-field > span { font-weight: 600; color: #0A1F44; font-size: 13px; }
.ymn-bc-field input,
.ymn-bc-field select,
.ymn-bc-field textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d7deea;
	border-radius: 9px;
	font-size: 14px;
	font-family: inherit;
	color: #0A1F44;
	background: #fff;
}
.ymn-bc-field textarea { resize: vertical; }
.ymn-bc-field input:focus,
.ymn-bc-field select:focus,
.ymn-bc-field textarea:focus { outline: none; border-color: #C9A24B; box-shadow: 0 0 0 3px rgba(201, 162, 75, 0.18); }
.ymn-bc-sent-item { padding: 16px 0; border-bottom: 1px solid #eef1f6; }
.ymn-bc-sent-item:last-child { border-bottom: 0; }
.ymn-bc-sent-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.ymn-bc-sent-subject { font-weight: 700; color: #0A1F44; font-size: 15px; }
.ymn-bc-sent-meta { font-size: 12px; color: #94a3b8; margin-top: 3px; }
.ymn-bc-sent-meta .dashicons { font-size: 14px; width: 14px; height: 14px; vertical-align: -2px; }
.ymn-bc-sent-text { color: #334155; font-size: 13.5px; line-height: 1.55; margin: 8px 0 10px; }
.ymn-bc-readstat {
	flex: 0 0 auto;
	text-align: center;
	background: #f4f7fc;
	border: 1px solid #e5ebf4;
	border-radius: 10px;
	padding: 8px 14px;
	min-width: 74px;
}
.ymn-bc-readnum { display: block; font-size: 20px; font-weight: 800; color: #0A1F44; line-height: 1; }
.ymn-bc-readstat span:last-child { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.5px; color: #94a3b8; }
.ymn-bc-readers summary {
	cursor: pointer;
	font-size: 12.5px;
	font-weight: 600;
	color: #C9A24B;
	list-style: none;
}
.ymn-bc-readers summary::-webkit-details-marker { display: none; }
.ymn-bc-readers summary .dashicons { font-size: 15px; width: 15px; height: 15px; vertical-align: -3px; }
.ymn-bc-readtable { margin-top: 10px; }
.ymn-bc-readtable th { font-size: 11px; text-transform: uppercase; letter-spacing: 0.4px; color: #64748b; }
.ymn-bc-readtable td { font-size: 13px; color: #334155; }

/* v2.4.1 - Edit sent broadcast */
.ymn-bc-edit { margin: 4px 0 6px; }
.ymn-bc-edit summary {
	cursor: pointer;
	font-size: 12.5px;
	font-weight: 600;
	color: #0A1F44;
	list-style: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.ymn-bc-edit summary::-webkit-details-marker { display: none; }
.ymn-bc-edit summary .dashicons { font-size: 15px; width: 15px; height: 15px; }
.ymn-bc-edit[open] summary { color: #C9A24B; }
.ymn-bc-editform {
	margin-top: 10px;
	padding: 14px;
	background: #f7f9fc;
	border: 1px solid #e5ebf4;
	border-radius: 10px;
}


/* ---- v2.4.5: Board of Governors report sub-tabs (Performance / Task) ---- */
.ymn-ch-report-tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap;}
.ymn-ch-report-tabs .ymn-ch-rtab{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:9px;font-size:.86rem;font-weight:600;text-decoration:none;color:#0A1F44;background:#eef1f7;border:1px solid #d8dee9;transition:all .15s ease;}
.ymn-ch-report-tabs .ymn-ch-rtab:hover{background:#e2e7f2;}
.ymn-ch-report-tabs .ymn-ch-rtab.active{background:#0A1F44;color:#fff;border-color:#0A1F44;box-shadow:0 3px 10px rgba(10,31,68,.22);}
.ymn-ch-report-tabs .ymn-ch-rtab.active .dashicons{color:#C9A24B;}
.ymn-ch-report-tabs .ymn-ch-rtab .dashicons{font-size:17px;width:17px;height:17px;}
.ymn-ch-pill{display:inline-block;min-width:22px;text-align:center;padding:2px 9px;border-radius:20px;font-size:.78rem;font-weight:700;}
.ymn-ch-pill.st-overdue{background:#fde8e8;color:#dc2626;}
.ymn-task-locked{display:flex;align-items:center;gap:7px;margin:6px 0 0;padding:9px 12px;border-radius:8px;background:#fde8e8;color:#b91c1c;font-size:.82rem;font-weight:600;}
.ymn-task-locked .dashicons{font-size:16px;width:16px;height:16px;}
@media print{.ymn-ch-report-tabs,.ymn-ch-period-bar .ymn-print-btn{display:none !important;}}


/* ---- v2.4.7: Broadcast message delete ---- */
.ymn-bc-delete summary { color: #dc2626; }
.ymn-bc-delete[open] summary { color: #dc2626; }
.ymn-bc-delnote { display:flex; align-items:center; gap:7px; margin:0 0 10px; padding:9px 12px; border-radius:8px; background:#fef2f2; color:#b91c1c; font-size:.82rem; font-weight:600; }
.ymn-bc-delnote .dashicons { font-size:16px; width:16px; height:16px; }
.ymn-btn-danger { background:#dc2626; color:#fff; border:1px solid #dc2626; }
.ymn-btn-danger:hover { background:#b91c1c; border-color:#b91c1c; }
.ymn-btn-danger .dashicons { color:#fff; }

/* ===== Chairman Command Center (v2.4.9) ===== */
.ymn-cc-hero{background:linear-gradient(135deg,#0A1F44 0%,#132a5a 60%,#1c3a73 100%);border:1px solid rgba(201,162,75,.35);border-radius:16px;padding:26px 28px;color:#fff;box-shadow:0 10px 30px rgba(10,31,68,.35);margin-bottom:18px;}
.ymn-cc-hero-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.ymn-cc-eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#e6c574;font-weight:700;}
.ymn-cc-hero h2{margin:6px 0 10px;font-size:1.5rem;color:#fff;}
.ymn-cc-narrative{font-size:1rem;line-height:1.7;color:#d7deec;margin:0;}
.ymn-cc-narrative strong{color:#fff;}
.ymn-cc-print{margin-top:14px;}
.ymn-cc-dir{font-weight:700;font-size:.85rem;padding:6px 12px;border-radius:999px;white-space:nowrap;}
.ymn-cc-dir-up{background:rgba(22,163,74,.2);color:#4ade80;border:1px solid rgba(34,197,94,.5);}
.ymn-cc-dir-down{background:rgba(220,38,38,.2);color:#f87171;border:1px solid rgba(248,113,113,.5);}
.ymn-cc-dir-flat{background:rgba(201,162,75,.2);color:#e6c574;border:1px solid rgba(201,162,75,.5);}
.ymn-cc-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px;}
.ymn-cc-metric{background:#fff;border:1px solid #e6e9f0;border-left:4px solid #0A1F44;border-radius:12px;padding:14px 16px;}
.ymn-cc-metric.is-alert{border-left-color:#dc2626;}
.ymn-cc-metric-num{font-size:1.7rem;font-weight:800;color:#0A1F44;line-height:1;}
.ymn-cc-metric-lbl{font-size:.8rem;color:#475569;margin-top:6px;font-weight:600;}
.ymn-cc-metric-sub{font-size:.72rem;color:#94a3b8;margin-top:2px;}
.ymn-cc-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:18px;}
.ymn-cc-card{background:#fff;border:1px solid #e6e9f0;border-radius:14px;padding:18px;position:relative;}
.ymn-cc-card.top{border-top:4px solid #16a34a;}
.ymn-cc-card.low{border-top:4px solid #dc2626;}
.ymn-cc-card-tag{font-size:.78rem;font-weight:700;color:#0A1F44;margin-bottom:10px;}
.ymn-cc-person{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.ymn-cc-avatar{width:42px;height:42px;border-radius:50%;background:#0A1F44;color:#e6c574;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;flex:0 0 auto;}
.ymn-cc-person-name{font-weight:700;color:#0f172a;}
.ymn-cc-person-dept{font-size:.78rem;color:#64748b;}
.ymn-cc-person-score{margin-left:auto;font-size:1.5rem;font-weight:800;color:#0A1F44;}
.ymn-cc-why{font-size:.9rem;line-height:1.6;color:#334155;background:#f8fafc;border-radius:10px;padding:10px 12px;margin-bottom:12px;}
.ymn-cc-why strong{color:#0A1F44;}
.ymn-cc-bars{display:flex;flex-direction:column;gap:7px;}
.ymn-cc-bar-row{display:flex;align-items:center;gap:10px;font-size:.8rem;}
.ymn-cc-bar-lbl{flex:0 0 130px;color:#475569;}
.ymn-cc-bar{flex:1;height:9px;background:#eef1f6;border-radius:999px;overflow:hidden;}
.ymn-cc-bar-fill{display:block;height:100%;border-radius:999px;}
.ymn-cc-bar-fill.good{background:linear-gradient(90deg,#16a34a,#4ade80);}
.ymn-cc-bar-fill.warn{background:linear-gradient(90deg,#dc2626,#f87171);}
.ymn-cc-bar-val{flex:0 0 34px;text-align:right;font-weight:700;color:#0f172a;}
.ymn-cc-note{font-size:.85rem;line-height:1.55;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:9px 11px;display:flex;gap:7px;align-items:flex-start;}
.ymn-cc-note.warn{color:#991b1b;background:#fef2f2;border-color:#fecaca;}
.ymn-cc-note .dashicons{flex:0 0 auto;}
.ymn-cc-trend{display:flex;align-items:flex-end;gap:10px;height:170px;padding:10px 4px 0;}
.ymn-cc-trend-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;}
.ymn-cc-trend-val{font-size:.72rem;font-weight:700;color:#0A1F44;}
.ymn-cc-trend-bar{width:70%;max-width:46px;background:linear-gradient(180deg,#C9A24B,#0A1F44);border-radius:6px 6px 0 0;min-height:6px;}
.ymn-cc-trend-lbl{font-size:.68rem;color:#64748b;white-space:nowrap;}
.ymn-cc-trend-note{margin:12px 0 0;font-size:.88rem;color:#334155;}
.ymn-cc-sugg{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.ymn-cc-sugg-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:#f8fafc;border:1px solid #e6e9f0;border-radius:12px;}
.ymn-cc-sugg-ic{width:34px;height:34px;border-radius:9px;background:#0A1F44;color:#e6c574;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.ymn-cc-sugg-body{font-size:.9rem;line-height:1.55;color:#334155;}
.ymn-cc-sugg-type{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#C9A24B;margin-right:8px;background:rgba(201,162,75,.12);padding:2px 7px;border-radius:6px;}
.ymn-cc-goals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.ymn-cc-goals li{display:flex;gap:9px;align-items:flex-start;font-size:.92rem;color:#0f172a;line-height:1.55;}
.ymn-cc-goal-check{flex:0 0 auto;}
@media print{.ymn-cc-hero{-webkit-print-color-adjust:exact;print-color-adjust:exact;}}

/* ===== Command Center v2.4.9.1 (English + advanced) ===== */
.ymn-cc-hero h2{color:#ffffff;margin:6px 0 8px;font-size:1.55rem;font-weight:800;letter-spacing:.2px;}
.ymn-cc-hero .ymn-cc-narrative{color:#eef3fc;}
.ymn-cc-hero .ymn-cc-narrative strong{color:#ffffff;}
.ymn-cc-confidential{margin-top:10px;font-size:.78rem;color:#e6c574;display:flex;align-items:center;gap:6px;font-weight:600;}
.ymn-cc-confidential .dashicons{font-size:15px;width:15px;height:15px;}
.ymn-cc-confidential.dark{margin-top:14px;color:#64748b;border-top:1px dashed #e6e9f0;padding-top:10px;font-weight:600;}
.ymn-ch-table{width:100%;border-collapse:collapse;font-size:.86rem;}
/* v2.4.18: base table is LIGHT text for the navy chairman shell (Overview / Summary / Board report tables were dark-on-navy invisible). The white Command Center cards get dark text from the higher-specificity .ymn-cc-root override below. */
.ymn-ch-table th{text-align:left;padding:9px 10px;color:#9fabc9;font-size:.72rem;text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid rgba(255,255,255,.14);}
.ymn-ch-table td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.08);color:#dbe2f1;}
.ymn-ch-table tbody tr:hover{background:rgba(255,255,255,.05);}
.ymn-cc-rank{list-style:none;margin:0;padding:0;counter-reset:ymnr;display:flex;flex-direction:column;gap:8px;}
.ymn-cc-rank li{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f8fafc;border-radius:9px;counter-increment:ymnr;}
.ymn-cc-rank li::before{content:counter(ymnr);flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#0A1F44;color:#e6c574;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;}
.ymn-cc-rank-name{flex:1;font-size:.86rem;color:#0f172a;font-weight:600;}
.ymn-cc-rank-name em{display:block;font-style:normal;font-size:.72rem;color:#64748b;font-weight:400;}
.ymn-cc-rank-score{font-weight:800;font-size:.95rem;}
.ymn-cc-rank-score.good{color:#16a34a;}
.ymn-cc-rank-score.warn{color:#dc2626;}
.ymn-cc-risk{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.ymn-cc-risk li{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;padding:9px 11px;}
.ymn-cc-risk li .dashicons{flex:0 0 auto;color:#dc2626;font-size:17px;width:17px;height:17px;margin-top:1px;}
@media print{.ymn-cc-confidential{color:#0A1F44 !important;}.ymn-cc-confidential.dark{color:#334155 !important;}}

/* ===== Command Center v2.4.12 bilingual + detailed print ===== */
.ymn-cc-root .l-ur{display:none;font-family:"Noto Nastaliq Urdu","Jameel Noori Nastaleeq",serif;line-height:2.2;}
.ymn-cc-root.lang-ur .l-en{display:none;}
.ymn-cc-root.lang-ur .l-ur{display:inline;}

/* Command Center readability: the reused .ymn-ch-* cards were built for a dark background,
   but the Command Center sits on the white portal dashboard, so their transparent backgrounds
   and white text became unreadable. Force a clean white-card / dark-text theme, scoped so the
   real dark chairman report pages are untouched. */
.ymn-cc-root .ymn-ch-card{background:#ffffff;border:1px solid #e6e9f0;box-shadow:0 4px 14px rgba(10,31,68,.06);}
.ymn-cc-root .ymn-ch-card-head h3{color:#0A1F44;}
.ymn-cc-root .ymn-ch-card-head span{color:#64748b;}
.ymn-cc-root .ymn-ch-empty{color:#64748b;background:#f8fafc;border:1px solid #eef0f4;}
/* v2.4.18: catch-all dark text for any inherited / not-yet-covered content inside the WHITE Command Center cards, so it never inherits the shell's light navy-theme text and go invisible on white. */
.ymn-cc-root .ymn-ch-card{color:#334155;}
.ymn-cc-root .ymn-ch-kpi-line-top{color:#475569;}
.ymn-cc-root .ymn-ch-bar{background:#eef1f6;}
.ymn-cc-root .ymn-ch-note h4{color:#0A1F44;}
.ymn-cc-root .ymn-ch-dept-meta{color:#475569;}
.ymn-cc-root .ymn-ch-dept-meta strong{color:#0A1F44;}
.ymn-cc-root .ymn-ch-table th{color:#64748b;border-bottom:2px solid #eef0f4;}
.ymn-cc-root .ymn-ch-table td{color:#0f172a;border-bottom:1px solid #f1f3f7;}
.ymn-cc-root .ymn-ch-table strong{color:#0A1F44;}
.ymn-cc-root .ymn-ch-table tbody tr:hover{background:#f8fafc;}
.ymn-cc-root .ymn-ch-note{background:#f8fafc;}
.ymn-cc-root .ymn-ch-note ul{color:#334155;}
.ymn-cc-lang{display:flex;justify-content:flex-end;margin-bottom:14px;}
.ymn-cc-lang-btn{border:1px solid #0A1F44;background:#fff;color:#0A1F44;padding:7px 18px;font-size:.82rem;font-weight:700;cursor:pointer;line-height:1.4;}
.ymn-cc-lang-btn:first-child{border-radius:8px 0 0 8px;border-right:none;}
.ymn-cc-lang-btn:last-child{border-radius:0 8px 8px 0;font-family:"Noto Nastaliq Urdu",serif;}
.ymn-cc-lang-btn.is-active{background:#0A1F44;color:#e6c574;}
.ymn-cc-deptrow{padding:12px 2px;border-bottom:1px solid #f1f3f7;}
.ymn-cc-deptrow:last-child{border-bottom:none;}
.ymn-cc-deptrow-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.ymn-cc-deptrow-name{font-weight:700;color:#0A1F44;font-size:.98rem;}
.ymn-cc-deptrow-score{font-weight:700;color:#334155;font-size:.86rem;}
.ymn-cc-deptrow-meta{font-size:.82rem;color:#64748b;margin:5px 0 7px;}
.ymn-cc-print-head{display:none;}
@media print{
	.ymn-cc-lang{display:none !important;}
	.ymn-print-btn{display:none !important;}
	.ymn-cc-print-head{display:block;text-align:center;margin:0 0 18px;padding-bottom:12px;border-bottom:3px double #0A1F44;}
	.ymn-cc-print-head h1{font-size:22px;color:#0A1F44 !important;margin:0 0 4px;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
	.ymn-cc-print-head .sub{font-size:12px;color:#334155 !important;}
	.ymn-cc-page{page-break-before:always;}
	.ymn-cc-root .ymn-ch-card,.ymn-cc-root .ymn-cc-two,.ymn-cc-root .ymn-cc-card{page-break-inside:avoid;}
	.ymn-cc-hero{page-break-after:avoid;}
}

/* =====================================================================
   Certificate of Achievement (v2.4.19) - navy blue + red theme
   ===================================================================== */
.ymn-cert-panel { width: 100%; }
.ymn-cert-head-bar { display:flex; flex-direction:column; gap:2px; margin-bottom:18px; }
.ymn-cert-head-bar h2 { margin:0; color:#0A1F44; font-size:20px; font-weight:800; }
.ymn-cert-head-bar span { color:#64748b; font-size:13px; }

.ymn-cert-actionbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:18px; }

/* The certificate sheet */
.ymn-cert-sheet { width:100%; max-width:840px; margin:0 auto; background:#ffffff; }
.ymn-cert-frame {
	position:relative;
	background:#ffffff;
	border:9px solid #0A1F44;
	outline:2px solid #dc2626;
	outline-offset:6px;
	padding:46px 52px 30px;
	box-shadow:0 18px 50px rgba(10,31,68,.18);
	text-align:center;
	overflow:hidden;
}
.ymn-cert-corner { position:absolute; width:34px; height:34px; border:3px solid #C9A24B; }
.ymn-cert-corner.tl { top:10px; left:10px; border-right:0; border-bottom:0; }
.ymn-cert-corner.tr { top:10px; right:10px; border-left:0; border-bottom:0; }
.ymn-cert-corner.bl { bottom:10px; left:10px; border-right:0; border-top:0; }
.ymn-cert-corner.br { bottom:10px; right:10px; border-left:0; border-top:0; }
.ymn-cert-watermark {
	position:absolute; top:52%; left:50%; transform:translate(-50%,-50%) rotate(-24deg);
	font-size:58px; font-weight:900; letter-spacing:6px; color:rgba(220,38,38,.10);
	pointer-events:none; white-space:nowrap; z-index:0;
}
.ymn-cert-frame > *:not(.ymn-cert-corner):not(.ymn-cert-watermark) { position:relative; z-index:1; }

.ymn-cert-head { margin-bottom:14px; }
.ymn-cert-seal {
	width:64px; height:64px; margin:0 auto 10px; border-radius:50%;
	background:linear-gradient(135deg,#0A1F44,#16305f); color:#C9A24B;
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 0 0 4px rgba(201,162,75,.35);
}
.ymn-cert-seal .dashicons { font-size:34px; width:34px; height:34px; }
.ymn-cert-org { text-transform:uppercase; letter-spacing:3px; font-size:12px; font-weight:700; color:#dc2626; margin-bottom:4px; }
.ymn-cert-title { margin:0; font-size:34px; line-height:1.1; font-weight:900; color:#0A1F44; letter-spacing:1px; }
.ymn-cert-subtitle { margin-top:4px; font-size:15px; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:#C9A24B; }

.ymn-cert-present { margin-top:18px; font-size:14px; color:#334155; font-style:italic; }
.ymn-cert-name { font-size:38px; font-weight:800; color:#0A1F44; font-family:Georgia,'Times New Roman',serif; margin:6px 0 4px; }
.ymn-cert-rule { width:220px; height:3px; margin:0 auto 20px; background:linear-gradient(90deg,transparent,#dc2626,#C9A24B,#dc2626,transparent); }

.ymn-cert-meta { display:flex; justify-content:center; flex-wrap:wrap; gap:26px; margin-bottom:18px; }
.ymn-cert-meta > div { display:flex; flex-direction:column; gap:2px; }
.ymn-cert-meta span { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:#94a3b8; }
.ymn-cert-meta strong { font-size:15px; color:#0A1F44; }

.ymn-cert-details { border:1px solid rgba(10,31,68,.12); border-radius:10px; padding:14px 18px; margin:0 auto 18px; max-width:640px; background:rgba(10,31,68,.02); }
.ymn-cert-details-head { font-size:12px; text-transform:uppercase; letter-spacing:2px; font-weight:800; color:#dc2626; margin-bottom:10px; }
.ymn-cert-details-grid { display:flex; justify-content:space-around; flex-wrap:wrap; gap:16px; }
.ymn-cert-details-grid > div { display:flex; flex-direction:column; gap:3px; }
.ymn-cert-details-grid span { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:#94a3b8; }
.ymn-cert-details-grid strong { font-size:15px; color:#0A1F44; }
.ymn-cert-score { color:#dc2626 !important; font-size:18px !important; }
.ymn-cert-streak { display:inline-flex; align-items:center; gap:8px; margin:0 auto 18px; padding:8px 20px; border-radius:999px; background:linear-gradient(135deg,#C9A24B,#a9832f); color:#fff; font-weight:800; font-size:13px; letter-spacing:.5px; text-transform:uppercase; box-shadow:0 6px 16px rgba(169,131,47,.35); }
.ymn-cert-streak .dashicons { font-size:18px; width:18px; height:18px; }

.ymn-cert-body { max-width:660px; margin:0 auto 16px; }
.ymn-cert-body p { font-size:14px; line-height:1.7; color:#334155; margin:0 0 10px; }

.ymn-cert-award-date { font-size:14px; color:#334155; margin-bottom:26px; }
.ymn-cert-award-date strong { color:#0A1F44; }

.ymn-cert-foot { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-top:10px; }
.ymn-cert-sign { text-align:center; min-width:240px; margin:0 auto; position:relative; }
.ymn-cert-sign-img { display:block; max-width:210px; max-height:80px; margin:0 auto -6px; object-fit:contain; }
.ymn-cert-sign-line { width:240px; height:2px; background:#0A1F44; margin:0 auto 6px; }
.ymn-cert-sign-name { font-size:16px; font-weight:800; color:#0A1F44; }
.ymn-cert-sign-title { font-size:12px; color:#dc2626; font-weight:600; }
.ymn-cert-sign-org { font-size:11px; color:#64748b; }
.ymn-cert-badge-emblem {
	width:58px; height:58px; border-radius:50%; flex:0 0 auto;
	background:radial-gradient(circle at 30% 30%,#C9A24B,#a9832f); color:#fff;
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 6px 14px rgba(169,131,47,.4);
}
.ymn-cert-badge-emblem .dashicons { font-size:30px; width:30px; height:30px; }

.ymn-cert-footer-bar {
	display:flex; align-items:center; justify-content:space-between; gap:14px;
	margin-top:22px; padding-top:12px; border-top:1px solid rgba(10,31,68,.12);
	font-size:11px; color:#64748b; flex-wrap:wrap;
}
.ymn-cert-footer-bar strong { color:#0A1F44; }
.ymn-cert-tagline { font-style:italic; color:#dc2626; }

/* Empty / list states (member + director) */
.ymn-cert-empty { text-align:center; padding:44px 20px; color:#94a3b8; border:1px dashed rgba(10,31,68,.18); border-radius:12px; background:rgba(10,31,68,.02); }
.ymn-cert-empty .dashicons { font-size:40px; width:40px; height:40px; color:#C9A24B; }
.ymn-cert-empty p { margin:8px 0 0; }
.ymn-cert-list { display:flex; flex-direction:column; gap:12px; }
.ymn-cert-list-item {
	display:flex; align-items:center; gap:14px; text-decoration:none;
	padding:14px 16px; border:1px solid rgba(10,31,68,.12); border-radius:12px;
	background:#fff; transition:.15s ease;
}
.ymn-cert-list-item:hover { border-color:#dc2626; box-shadow:0 6px 18px rgba(10,31,68,.10); transform:translateY(-1px); }
.ymn-cert-list-ic {
	width:44px; height:44px; flex:0 0 auto; border-radius:10px;
	background:linear-gradient(135deg,#0A1F44,#16305f); color:#C9A24B;
	display:flex; align-items:center; justify-content:center;
}
.ymn-cert-list-meta { display:flex; flex-direction:column; gap:2px; flex:1; }
.ymn-cert-list-meta strong { color:#0A1F44; font-size:15px; }
.ymn-cert-list-meta small { color:#64748b; font-size:12px; }

/* Create / edit form */
.ymn-cert-edit { margin-top:18px; border:1px solid rgba(10,31,68,.12); border-radius:12px; background:#fff; padding:6px 16px; }
.ymn-cert-edit > summary { cursor:pointer; font-weight:700; color:#0A1F44; padding:10px 0; }
.ymn-cert-form { display:flex; flex-direction:column; gap:14px; margin-top:6px; }
.ymn-cert-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.ymn-cert-form label, .ymn-cert-form-body { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:600; color:#334155; }
.ymn-cert-form input, .ymn-cert-form select, .ymn-cert-form textarea {
	padding:9px 11px; border:1px solid #cbd5e1; border-radius:8px; font-size:14px; color:#0f172a; background:#fff; font-weight:400;
}
.ymn-cert-form input:focus, .ymn-cert-form select:focus, .ymn-cert-form textarea:focus { outline:none; border-color:#0A1F44; box-shadow:0 0 0 3px rgba(10,31,68,.12); }
.ymn-cert-form textarea { resize:vertical; }

/* Print to PDF: show only the certificate sheet */
@media print {
	body * { visibility:hidden !important; }
	.ymn-cert-sheet, .ymn-cert-sheet * { visibility:visible !important; }
	.ymn-cert-sheet { position:absolute; left:0; top:0; width:100%; max-width:none; margin:0; }
	.ymn-no-print { display:none !important; }
	.ymn-cert-frame { box-shadow:none; }
}
@media (max-width:640px) {
	.ymn-cert-frame { padding:30px 22px 20px; }
	.ymn-cert-title { font-size:26px; }
	.ymn-cert-name { font-size:30px; }
	.ymn-cert-form-grid { grid-template-columns:1fr; }
	.ymn-cert-foot { flex-direction:column; align-items:center; }
}

/* Certificate v2.4.20 additions: logo, ranking, footer social, month picker */
.ymn-cert-logo { display:block; max-width:150px; max-height:96px; margin:0 auto 8px; object-fit:contain; }
.ymn-cert-rank-grid { display:flex; justify-content:center; flex-wrap:wrap; gap:26px; margin-top:12px; padding-top:12px; border-top:1px dashed rgba(10,31,68,.14); }
.ymn-cert-rank-grid > div { display:flex; flex-direction:column; gap:3px; }
.ymn-cert-rank-grid span { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:#94a3b8; }
.ymn-cert-rank { font-size:17px; color:#dc2626; }
.ymn-cert-generated { margin-top:12px; font-size:11px; color:#64748b; text-align:center; }
.ymn-cert-generated strong { color:#0A1F44; }
.ymn-cert-social { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px; margin-top:8px; }
.ymn-cert-social-item { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:#0A1F44; font-weight:600; }
.ymn-cert-social-item .dashicons { color:#dc2626; font-size:16px; width:16px; height:16px; }
.ymn-cert-period-form { display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; padding:4px 0 2px; }
.ymn-cert-period-form label { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:600; color:#dbe2f1; }
.ymn-cert-period-form select { padding:9px 11px; border:1px solid rgba(255,255,255,.25); border-radius:8px; font-size:14px; background:#0f2350; color:#fff; min-width:200px; }
.ymn-cert-period-form select option { color:#0f172a; background:#fff; }

/* Login page: forgot-password */
.ymn-auth-forgot { text-align:center; margin:14px 0 0; }
.ymn-auth-forgot a { color:#dc2626; font-size:13px; font-weight:600; text-decoration:none; }
.ymn-auth-forgot a:hover { text-decoration:underline; }
.ymn-forgot-box { margin-top:12px; padding:16px; border:1px solid #e6e9f0; border-radius:10px; background:#f9fafc; }
.ymn-forgot-help { font-size:13px; color:#64748b; margin:0 0 10px; }


/* ==========================================================================
   Member Feedback & Performance Insights (v2.6.0) - additive styles only
   ========================================================================== */

.ymn-fb-wrap .ymn-fb-empty{text-align:center;padding:46px 20px;color:#5b6880;}
.ymn-fb-empty-icon{font-size:38px;margin-bottom:10px;}
.ymn-fb-empty h3{margin:6px 0;color:#0A1F44;}
.ymn-fb-thanks{background:#f3fbf6;border:1px solid #cdebd9;border-radius:12px;}

.ymn-fb-campaign-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-start;padding:6px 0 14px;border-bottom:1px solid #eceff5;}
.ymn-fb-campaign-head h3{margin:0 0 4px;color:#0A1F44;}
.ymn-fb-campaign-meta{display:flex;gap:6px;flex-wrap:wrap;}

.ymn-fb-progress{display:flex;align-items:center;gap:12px;margin:16px 0 20px;}
.ymn-fb-progress-track{flex:1;height:9px;background:#e8ecf4;border-radius:20px;overflow:hidden;}
.ymn-fb-progress-fill{height:100%;background:linear-gradient(90deg,#0A1F44,#C9A24B);border-radius:20px;transition:width .25s ease;}
.ymn-fb-progress-text{font-size:12px;color:#6b7891;min-width:98px;text-align:right;}

.ymn-fb-section{border:1px solid #e8ecf4;border-radius:12px;padding:18px 18px 8px;margin-bottom:18px;background:#fff;}
.ymn-fb-section h4{margin:0 0 14px;color:#0A1F44;font-size:15px;display:flex;align-items:center;gap:10px;}
.ymn-fb-section h4 small{font-weight:400;color:#7a869c;font-size:12px;}
.ymn-fb-step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#0A1F44;color:#fff;font-size:12px;}

.ymn-fb-rate-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 0;border-bottom:1px dashed #eef1f6;flex-wrap:wrap;}
.ymn-fb-rate-row:last-child{border-bottom:0;}
.ymn-fb-rate-label{font-size:14px;color:#2c3a55;}
.ymn-fb-stars{display:flex;gap:4px;}
.ymn-fb-star{background:#f2f5fa;border:1px solid #e2e7f0;color:#b6c0d1;border-radius:7px;min-width:30px;height:30px;cursor:pointer;font-size:15px;line-height:1;transition:all .15s ease;}
.ymn-fb-star:hover{border-color:#C9A24B;color:#C9A24B;}
.ymn-fb-star.is-on{background:#C9A24B;border-color:#C9A24B;color:#fff;}

.ymn-fb-field{margin:0 0 14px;}
.ymn-fb-field label{display:block;font-size:13px;font-weight:600;color:#2c3a55;margin-bottom:6px;}
.ymn-fb-field textarea,.ymn-fb-field input[type="text"]{width:100%;border:1px solid #dfe4ee;border-radius:9px;padding:10px 12px;font-size:14px;font-family:inherit;}
.ymn-fb-field textarea:focus,.ymn-fb-field input:focus{outline:none;border-color:#0A1F44;}

.ymn-fb-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.ymn-fb-choice{display:inline-flex;align-items:center;gap:7px;border:1px solid #e2e7f0;border-radius:20px;padding:7px 14px;font-size:13px;cursor:pointer;background:#fafbfe;}
.ymn-fb-choice:hover{border-color:#0A1F44;}
.ymn-fb-choice input{margin:0;}

.ymn-fb-actions{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 12px;}
.ymn-fb-history{margin-top:26px;}
.ymn-fb-history h4{color:#0A1F44;margin-bottom:10px;}

/* Admin insights */
.ymn-fb-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;}
.ymn-fb-list{list-style:none;margin:0;padding:0;font-size:13px;}
.ymn-fb-list li{padding:8px 0;border-bottom:1px dashed #eef1f6;line-height:1.5;}
.ymn-fb-muted{color:#8a94a8;font-size:12px;}
.ymn-fb-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;}
.ymn-fb-filters input,.ymn-fb-filters select{border:1px solid #dfe4ee;border-radius:8px;padding:8px 10px;font-size:13px;}
.ymn-fb-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.ymn-fb-row-actions form{margin:0;}
.ymn-fb-detail{border:1px solid #eceff5;border-radius:9px;padding:10px 14px;margin-bottom:8px;background:#fafbfe;font-size:13px;}
.ymn-fb-detail summary{cursor:pointer;font-weight:600;color:#0A1F44;}

/* Charts */
.ymn-fb-bars{display:flex;flex-direction:column;gap:9px;padding:6px 0;}
.ymn-fb-bar-row{display:grid;grid-template-columns:minmax(120px,34%) 1fr 52px;align-items:center;gap:10px;font-size:12.5px;}
.ymn-fb-bar-label{color:#42506b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ymn-fb-bar-track{height:10px;background:#eef1f6;border-radius:20px;overflow:hidden;}
.ymn-fb-bar-fill{height:100%;background:linear-gradient(90deg,#0A1F44,#3a5a92);border-radius:20px;}
.ymn-fb-bar-value{text-align:right;font-weight:600;color:#0A1F44;}
.ymn-fb-donut-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:8px 0;}
.ymn-fb-donut{position:relative;width:150px;height:150px;border-radius:50%;}
.ymn-fb-donut-hole{position:absolute;inset:26px;background:#fff;border-radius:50%;}
.ymn-fb-legend{list-style:none;margin:0;padding:0;font-size:12.5px;}
.ymn-fb-legend li{display:flex;align-items:center;gap:8px;padding:3px 0;}
.ymn-fb-legend i{width:11px;height:11px;border-radius:3px;display:inline-block;}
.ymn-fb-line{width:100%;height:auto;}

/* Mandatory popup */
.ymn-fb-popup-overlay{position:fixed;inset:0;background:rgba(8,17,36,.72);backdrop-filter:blur(3px);z-index:99998;display:flex;align-items:center;justify-content:center;padding:18px;}
.ymn-fb-popup{background:#fff;border-radius:16px;max-width:460px;width:100%;padding:28px 26px;text-align:center;box-shadow:0 22px 60px rgba(0,0,0,.35);}
.ymn-fb-popup-head{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:14px;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:#7a869c;}
.ymn-fb-popup-head img{height:34px;}
.ymn-fb-popup h3{margin:0 0 10px;color:#0A1F44;font-size:19px;}
.ymn-fb-popup p{color:#5b6880;font-size:13.5px;line-height:1.6;margin:0 0 10px;}
.ymn-fb-popup-campaign{font-weight:600;color:#C9A24B !important;}
.ymn-fb-popup-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px;}

@media (max-width:640px){
	.ymn-fb-rate-row{align-items:flex-start;}
	.ymn-fb-bar-row{grid-template-columns:1fr;gap:4px;}
	.ymn-fb-bar-value{text-align:left;}
}

/* ===== Feedback v2.6.2: required fields + mandatory popup ===== */
.ymn-fb-req{color:#d43d3d;font-weight:700;margin-left:2px;}
.ymn-fb-required-note{margin:12px 0;}
.ymn-fb-rate-row.is-missing{background:#fdf1f1;border-radius:8px;box-shadow:inset 0 0 0 1px #f0b9b9;}
.ymn-fb-choices.is-missing{background:#fdf1f1;border-radius:8px;box-shadow:inset 0 0 0 1px #f0b9b9;padding:8px;}
.ymn-fb-field textarea:invalid{border-color:#e6c3c3;}
.ymn-fb-popup-actions{display:flex;justify-content:center;}
.ymn-fb-popup-cta{display:inline-block;width:100%;text-align:center;padding:12px 18px;font-size:15px;font-weight:600;text-decoration:none;}
.ymn-fb-popup-cta:hover{opacity:.92;text-decoration:none;}

/* ===== Feedback v2.6.3: red, highly visible popup CTA ===== */
.ymn-fb-popup .ymn-fb-popup-cta,
.ymn-fb-popup a.ymn-fb-popup-cta,
.ymn-fb-popup-overlay a.ymn-btn-primary.ymn-fb-popup-cta{
	background:#d32f2f !important;
	background-image:linear-gradient(180deg,#e53935 0%,#c62828 100%) !important;
	border:1px solid #b71c1c !important;
	color:#fff !important;
	font-weight:700 !important;
	font-size:16px !important;
	letter-spacing:.2px;
	padding:14px 20px !important;
	border-radius:10px !important;
	box-shadow:0 6px 18px rgba(211,47,47,.45) !important;
	text-shadow:0 1px 1px rgba(0,0,0,.18);
	text-decoration:none !important;
	animation:ymnFbPulse 1.6s ease-in-out infinite;
}
.ymn-fb-popup .ymn-fb-popup-cta:hover,
.ymn-fb-popup a.ymn-fb-popup-cta:hover{
	background:#b71c1c !important;
	background-image:linear-gradient(180deg,#c62828 0%,#a31515 100%) !important;
	box-shadow:0 8px 22px rgba(183,28,28,.55) !important;
	color:#fff !important;
}
@keyframes ymnFbPulse{
	0%,100%{box-shadow:0 6px 18px rgba(211,47,47,.45);}
	50%{box-shadow:0 6px 26px rgba(211,47,47,.75);}
}
@media (prefers-reduced-motion:reduce){
	.ymn-fb-popup .ymn-fb-popup-cta{animation:none;}
}

/* ==========================================================================
   Member Feedback - detailed report + single response preview (v2.7.0)
   Additive only. Prefixed with fbr- / ymn-fb- so nothing else is affected.
   ========================================================================== */

.ymn-fb-preview-card { margin: 0 0 22px; padding: 18px 20px; border-left: 4px solid #C9A24B; }
.ymn-fb-resp-toolbar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.ymn-fb-resp-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; border-bottom: 2px solid #eef1f6; padding-bottom: 12px; margin-bottom: 14px; }
.ymn-fb-resp-head h3 { margin: 0 0 4px; color: #0A1F44; font-size: 20px; }
.ymn-fb-resp-score { text-align: center; min-width: 120px; padding: 10px 14px; border-radius: 12px; background: #f6f8fb; }
.ymn-fb-resp-score-num { display: block; font-size: 26px; font-weight: 700; line-height: 1.1; }
.ymn-fb-resp-score-lbl { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: #64748b; }

.ymn-fb-row-actions { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.ymn-fb-row-actions form { margin: 0; }

/* Report document ------------------------------------------------------- */
.fbr-doc { max-width: 1000px; margin: 0 auto; color: #1f2937; font-size: 14px; line-height: 1.65; }
.fbr-page { background: #fff; padding: 34px 38px; margin: 0 0 22px; border: 1px solid #e6eaf0; border-radius: 10px; }
.fbr-h2 { color: #0A1F44; font-size: 22px; margin: 0 0 14px; padding-bottom: 8px; border-bottom: 3px solid #C9A24B; }
.fbr-h3 { color: #0A1F44; font-size: 17px; margin: 22px 0 10px; }
.fbr-h4 { color: #0A1F44; font-size: 15px; margin: 18px 0 8px; }
.fbr-h { color: #0A1F44; font-size: 16px; margin: 20px 0 10px; padding-bottom: 6px; border-bottom: 1px solid #eef1f6; }
.fbr-p { margin: 0 0 12px; text-align: justify; }
.fbr-ol, .fbr-ul, .fbr-list { margin: 0 0 14px; padding-left: 22px; }
.fbr-ol li, .fbr-ul li, .fbr-list li { margin-bottom: 7px; }
.fbr-note { font-size: 12.5px; color: #4b5563; line-height: 1.5; }
.fbr-fine { font-size: 11.5px; color: #6b7280; }

.fbr-table { width: 100%; border-collapse: collapse; margin: 12px 0 18px; font-size: 13px; }
.fbr-table th, .fbr-table td { border: 1px solid #e2e8f0; padding: 8px 10px; vertical-align: top; text-align: left; }
.fbr-table thead th { background: #0A1F44; color: #fff; font-weight: 600; font-size: 12.5px; }
.fbr-table tbody tr:nth-child(even) { background: #fafbfd; }
.fbr-num { text-align: center; white-space: nowrap; }

.fbr-toc { width: 100%; border-collapse: collapse; font-size: 14px; }
.fbr-toc td { padding: 7px 10px; border-bottom: 1px dotted #d7dde7; }
.fbr-toc td:first-child { width: 42px; font-weight: 700; color: #C9A24B; }

.fbr-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 14px 0 20px; }
.fbr-kpi { background: #f6f8fb; border: 1px solid #e6eaf0; border-radius: 10px; padding: 12px 10px; text-align: center; }
.fbr-kpi-v { display: block; font-size: 20px; font-weight: 700; color: #0A1F44; line-height: 1.2; }
.fbr-kpi-l { display: block; font-size: 11.5px; color: #64748b; margin-top: 3px; }

.fbr-callout { border-left: 4px solid #0A1F44; background: #f6f8fb; padding: 12px 16px; border-radius: 0 8px 8px 0; margin: 14px 0 18px; font-size: 13.5px; }
.fbr-callout.fbr-tone-green { border-left-color: #16a34a; background: #f0fdf4; }
.fbr-callout.fbr-tone-blue { border-left-color: #0ea5e9; background: #f0f9ff; }
.fbr-callout.fbr-tone-yellow { border-left-color: #eab308; background: #fefce8; }
.fbr-callout.fbr-tone-red { border-left-color: #dc2626; background: #fef2f2; }

.fbr-tone-green { color: #15803d; }
.fbr-tone-blue { color: #0369a1; }
.fbr-tone-yellow { color: #a16207; }
.fbr-tone-red { color: #b91c1c; }

.fbr-quote-block { border-left: 3px solid #C9A24B; background: #fcfaf5; padding: 10px 14px; margin: 0 0 12px; border-radius: 0 8px 8px 0; }
.fbr-quote-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 5px; }
.fbr-quote { margin: 0; font-style: italic; color: #374151; }
.fbr-quote-by { margin: 6px 0 0; font-size: 12px; color: #6b7280; font-style: normal; }

.fbr-dept-block { border: 1px solid #eef1f6; border-radius: 10px; padding: 14px 16px; margin: 0 0 14px; background: #fcfdff; }

.fbr-mini-track { display: block; width: 100%; height: 6px; background: #e8edf4; border-radius: 4px; overflow: hidden; margin-bottom: 3px; }
.fbr-mini-fill { display: block; height: 100%; background: linear-gradient(90deg, #0A1F44, #C9A24B); }

/* Cover page ------------------------------------------------------------- */
.fbr-cover { min-height: 900px; display: flex; flex-direction: column; justify-content: space-between; border-top: 10px solid #0A1F44; }
.fbr-org { font-size: 22px; font-weight: 700; color: #0A1F44; margin: 0; letter-spacing: .5px; }
.fbr-sub { font-size: 13px; color: #64748b; margin: 2px 0 0; text-transform: uppercase; letter-spacing: 2px; }
.fbr-cover-mid { text-align: center; padding: 40px 0; }
.fbr-title { font-size: 42px; line-height: 1.15; color: #0A1F44; margin: 0 0 16px; }
.fbr-scope { font-size: 20px; color: #C9A24B; font-weight: 600; margin: 0 0 4px; }
.fbr-campaign { font-size: 14px; color: #64748b; margin: 0 0 28px; }
.fbr-cover-score { display: inline-block; padding: 20px 42px; border-radius: 16px; background: #f6f8fb; border: 2px solid #e6eaf0; }
.fbr-cover-num { display: block; font-size: 52px; font-weight: 800; line-height: 1; }
.fbr-cover-lbl { display: block; font-size: 12.5px; color: #64748b; margin-top: 8px; text-transform: uppercase; letter-spacing: 1px; }
.fbr-meta { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 12px; }
.fbr-meta th { text-align: left; width: 190px; padding: 6px 0; color: #0A1F44; font-weight: 600; }
.fbr-meta td { padding: 6px 0; color: #374151; }
.fbr-signoff { margin-top: 26px; padding-top: 14px; border-top: 1px solid #e6eaf0; text-align: center; }

/* Print ------------------------------------------------------------------ */
@media print {
	/* The certificate print rule earlier in this file sets "body * { visibility:hidden }"
	   so that only a certificate sheet prints. That rule was blanking every page of the
	   feedback report. The override below is scoped to the feedback print document only,
	   wins on specificity, and leaves the certificate behaviour untouched. */
	body.ymn-fb-print-body, body.ymn-fb-print-body * { visibility: visible !important; }
	body.ymn-fb-print-body .ymn-no-print,
	body.ymn-fb-print-body .ymn-no-print * { visibility: hidden !important; display: none !important; }

	.ymn-no-print, .ymn-fb-resp-toolbar { display: none !important; }
	.fbr-page { border: 0; border-radius: 0; padding: 0 0 18px; margin: 0; page-break-after: always; break-after: page; }
	.fbr-page:last-child, .fbr-page:last-of-type { page-break-after: auto; break-after: auto; }
	.fbr-cover { min-height: auto; }
	.fbr-table { page-break-inside: auto; font-size: 11.5px; }
	.fbr-table tr { page-break-inside: avoid; }
	.fbr-table thead { display: table-header-group; }
	.fbr-quote-block, .fbr-dept-block, .fbr-callout { page-break-inside: avoid; }
	.fbr-h2, .fbr-h3, .fbr-h4 { page-break-after: avoid; }
	.fbr-doc { max-width: none; font-size: 12px; }
	body { background: #fff !important; }
}

@media (max-width: 720px) {
	.fbr-page { padding: 18px 16px; }
	.fbr-title { font-size: 30px; }
	.fbr-table { font-size: 12px; }
	.fbr-table th, .fbr-table td { padding: 6px 7px; }
}


/* ===================================================================
   v2.8.0 - HOME DASHBOARD (landing screen + new-update popup)
   Additive only. Does not override any existing portal styles.
   =================================================================== */

.ymn-home { display: block; }

/* ---- Hero ---- */
.ymn-home-hero {
	display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between;
	background: linear-gradient(135deg, #0A1F44 0%, #16336b 55%, #1d4189 100%);
	color: #fff; border-radius: 18px; padding: 24px 26px; margin-bottom: 20px;
	box-shadow: 0 12px 30px rgba(10,31,68,.22); position: relative; overflow: hidden;
}
.ymn-home-hero:after {
	content: ""; position: absolute; right: -60px; top: -80px; width: 240px; height: 240px;
	border-radius: 50%; background: rgba(201,162,75,.16);
}
.ymn-home-hero-text { position: relative; z-index: 1; min-width: 0; }
.ymn-home-greet { margin: 0 0 4px; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; color: #C9A24B; font-weight: 700; }
.ymn-home-title { margin: 0 0 6px; font-size: 1.6rem; line-height: 1.2; color: #fff; font-weight: 800; }
.ymn-home-sub { margin: 0; font-size: .84rem; color: rgba(255,255,255,.75); }
.ymn-home-hero-side { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
.ymn-home-hero-badge {
	display: inline-block; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22);
	padding: 6px 12px; border-radius: 999px; font-size: .76rem; font-weight: 600;
}
.ymn-home-hero-alert {
	display: inline-flex; align-items: center; gap: 6px; background: #C9A24B; color: #17233d;
	padding: 6px 12px; border-radius: 999px; font-size: .76rem; font-weight: 700;
}
.ymn-home-hero-alert .dashicons { font-size: 15px; width: 15px; height: 15px; }

/* ---- Quick stats strip ---- */
.ymn-home-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin-bottom: 22px; }
.ymn-home-stat {
	display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #e6ebf3;
	border-radius: 14px; padding: 14px 16px; box-shadow: 0 2px 8px rgba(16,32,64,.05);
}
.ymn-home-stat .dashicons { font-size: 26px; width: 26px; height: 26px; padding: 9px; border-radius: 11px; }
.ymn-home-stat-v { font-size: 1.35rem; font-weight: 800; color: #0A1F44; line-height: 1.1; }
.ymn-home-stat-l { font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; color: #7b8798; font-weight: 600; margin-top: 2px; }

/* ---- Section heading ---- */
.ymn-home-h3 {
	display: flex; align-items: center; gap: 8px; font-size: 1.02rem; font-weight: 700;
	color: #0A1F44; margin: 0 0 12px;
}
.ymn-home-h3 .dashicons { font-size: 19px; width: 19px; height: 19px; color: #C9A24B; }

/* ---- What is new list ---- */
.ymn-home-alerts { margin-bottom: 24px; }
.ymn-home-alert-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; }
.ymn-home-alert {
	display: flex; align-items: center; gap: 12px; text-decoration: none;
	background: #fff; border: 1px solid #e6ebf3; border-left: 4px solid #0A1F44;
	border-radius: 12px; padding: 13px 15px; transition: transform .16s ease, box-shadow .16s ease;
}
.ymn-home-alert:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(16,32,64,.10); }
.ymn-home-alert-ic { font-size: 20px; width: 20px; height: 20px; flex: 0 0 auto; }
.ymn-home-alert-body { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.ymn-home-alert-t { font-size: .86rem; font-weight: 700; color: #0A1F44; }
.ymn-home-alert-d { font-size: .76rem; color: #7b8798; margin-top: 2px; }
.ymn-home-alert-go { color: #b6c0ce; font-size: 17px; width: 17px; height: 17px; flex: 0 0 auto; }

/* ---- Icon tile grid ---- */
.ymn-home-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.ymn-home-tile {
	position: relative; display: flex; flex-direction: column; gap: 6px; text-decoration: none;
	background: #fff; border: 1px solid #e6ebf3; border-radius: 16px; padding: 18px 16px 14px;
	box-shadow: 0 2px 8px rgba(16,32,64,.05);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ymn-home-tile:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(16,32,64,.13); border-color: #cfd9e8; }
.ymn-home-tile-ic {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; border-radius: 14px; margin-bottom: 6px;
}
.ymn-home-tile-ic .dashicons { font-size: 23px; width: 23px; height: 23px; }
.ymn-home-tile-label { font-size: .93rem; font-weight: 700; color: #0A1F44; line-height: 1.25; }
.ymn-home-tile-desc { font-size: .75rem; color: #7b8798; line-height: 1.45; flex: 1; }
.ymn-home-tile-count {
	display: inline-block; align-self: flex-start; font-size: .7rem; font-weight: 700;
	background: #f1f5fb; color: #4a5c78; padding: 3px 9px; border-radius: 999px; margin-top: 4px;
}
.ymn-home-tile-open {
	display: inline-flex; align-items: center; gap: 3px; margin-top: 8px;
	font-size: .74rem; font-weight: 700; color: #0A1F44; opacity: .55; transition: opacity .18s ease;
}
.ymn-home-tile:hover .ymn-home-tile-open { opacity: 1; }
.ymn-home-tile-open .dashicons { font-size: 14px; width: 14px; height: 14px; }
.ymn-home-tile-badge {
	position: absolute; top: 12px; right: 12px; min-width: 20px; height: 20px; padding: 0 6px;
	border-radius: 999px; background: #dc2626; color: #fff; font-size: .68rem; font-weight: 800;
	display: inline-flex; align-items: center; justify-content: center;
	box-shadow: 0 2px 6px rgba(220,38,38,.4);
}
.ymn-home-empty {
	background: #f8fafc; border: 1px dashed #cfd9e8; border-radius: 14px;
	padding: 28px; text-align: center; color: #7b8798; font-size: .85rem;
}

/* ---- Tone palette (shared by stats, alerts and tiles) ---- */
.ymn-home-tone-navy   .dashicons, .ymn-home-tone-navy   .ymn-home-tile-ic { background: #e8edf7; color: #0A1F44; }
.ymn-home-tone-blue   .dashicons, .ymn-home-tone-blue   .ymn-home-tile-ic { background: #e4f0fd; color: #0d6efd; }
.ymn-home-tone-green  .dashicons, .ymn-home-tone-green  .ymn-home-tile-ic { background: #e3f7ec; color: #16a34a; }
.ymn-home-tone-gold   .dashicons, .ymn-home-tone-gold   .ymn-home-tile-ic { background: #fbf3e0; color: #a37c22; }
.ymn-home-tone-purple .dashicons, .ymn-home-tone-purple .ymn-home-tile-ic { background: #efe9fd; color: #6d3fe0; }
.ymn-home-tone-orange .dashicons, .ymn-home-tone-orange .ymn-home-tile-ic { background: #fdefe0; color: #d97706; }
.ymn-home-tone-red    .dashicons, .ymn-home-tone-red    .ymn-home-tile-ic { background: #fde8e8; color: #dc2626; }
.ymn-home-tone-teal   .dashicons, .ymn-home-tone-teal   .ymn-home-tile-ic { background: #e0f6f5; color: #0d9488; }

.ymn-home-tile.ymn-home-tone-navy:hover   { border-color: #0A1F44; }
.ymn-home-tile.ymn-home-tone-blue:hover   { border-color: #0d6efd; }
.ymn-home-tile.ymn-home-tone-green:hover  { border-color: #16a34a; }
.ymn-home-tile.ymn-home-tone-gold:hover   { border-color: #C9A24B; }
.ymn-home-tile.ymn-home-tone-purple:hover { border-color: #6d3fe0; }
.ymn-home-tile.ymn-home-tone-orange:hover { border-color: #d97706; }
.ymn-home-tile.ymn-home-tone-red:hover    { border-color: #dc2626; }
.ymn-home-tile.ymn-home-tone-teal:hover   { border-color: #0d9488; }

.ymn-home-alert.ymn-home-tone-navy   { border-left-color: #0A1F44; }
.ymn-home-alert.ymn-home-tone-blue   { border-left-color: #0d6efd; }
.ymn-home-alert.ymn-home-tone-green  { border-left-color: #16a34a; }
.ymn-home-alert.ymn-home-tone-gold   { border-left-color: #C9A24B; }
.ymn-home-alert.ymn-home-tone-purple { border-left-color: #6d3fe0; }
.ymn-home-alert.ymn-home-tone-orange { border-left-color: #d97706; }
.ymn-home-alert.ymn-home-tone-red    { border-left-color: #dc2626; }
.ymn-home-alert.ymn-home-tone-teal   { border-left-color: #0d9488; }

/* ---- Top popup for new updates ---- */
.ymn-home-pop {
	position: fixed; top: 74px; right: 22px; width: 340px; max-width: calc(100vw - 30px);
	background: #fff; border: 1px solid #e2e8f2; border-radius: 16px; z-index: 99990;
	box-shadow: 0 20px 45px rgba(10,31,68,.24); overflow: hidden;
	opacity: 0; transform: translateY(-18px); transition: opacity .3s ease, transform .3s ease;
}
.ymn-home-pop.is-in { opacity: 1; transform: translateY(0); }
.ymn-home-pop-head {
	display: flex; align-items: center; gap: 10px; padding: 13px 14px;
	background: linear-gradient(135deg, #0A1F44 0%, #1d4189 100%); color: #fff;
}
.ymn-home-pop-ic { font-size: 20px; width: 20px; height: 20px; color: #C9A24B; }
.ymn-home-pop-head-txt { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ymn-home-pop-head-txt strong { font-size: .88rem; font-weight: 700; }
.ymn-home-pop-head-txt span { font-size: .72rem; color: rgba(255,255,255,.7); }
.ymn-home-pop-x {
	background: rgba(255,255,255,.14); border: 0; color: #fff; width: 26px; height: 26px;
	border-radius: 8px; cursor: pointer; font-size: 1.1rem; line-height: 1; padding: 0;
}
.ymn-home-pop-x:hover { background: rgba(255,255,255,.28); }
.ymn-home-pop-body { padding: 8px; max-height: 320px; overflow-y: auto; }
.ymn-home-pop-row {
	display: flex; gap: 10px; align-items: flex-start; text-decoration: none;
	padding: 10px 10px; border-radius: 11px; border-left: 3px solid #0A1F44; margin-bottom: 6px;
	background: #f8fafc; transition: background .16s ease;
}
.ymn-home-pop-row:hover { background: #eef3fa; }
.ymn-home-pop-row .dashicons { font-size: 18px; width: 18px; height: 18px; flex: 0 0 auto; padding: 5px; border-radius: 8px; }
.ymn-home-pop-row span span, .ymn-home-pop-row > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.ymn-home-pop-row strong { font-size: .8rem; color: #0A1F44; font-weight: 700; }
.ymn-home-pop-row em { font-style: normal; font-size: .72rem; color: #7b8798; margin-top: 2px; }
.ymn-home-pop-more { margin: 4px 6px 2px; font-size: .72rem; color: #7b8798; text-align: center; }

.ymn-home-pop-row.ymn-home-tone-blue   { border-left-color: #0d6efd; }
.ymn-home-pop-row.ymn-home-tone-green  { border-left-color: #16a34a; }
.ymn-home-pop-row.ymn-home-tone-orange { border-left-color: #d97706; }
.ymn-home-pop-row.ymn-home-tone-red    { border-left-color: #dc2626; }
.ymn-home-pop-row.ymn-home-tone-purple { border-left-color: #6d3fe0; }
.ymn-home-pop-row.ymn-home-tone-teal   { border-left-color: #0d9488; }

@media (max-width: 640px) {
	.ymn-home-hero { padding: 18px; }
	.ymn-home-title { font-size: 1.28rem; }
	.ymn-home-hero-side { align-items: flex-start; }
	.ymn-home-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 11px; }
	.ymn-home-tile { padding: 14px 12px 12px; }
	.ymn-home-tile-ic { width: 40px; height: 40px; }
	.ymn-home-pop { top: 66px; right: 10px; left: 10px; width: auto; }
}

@media print {
	.ymn-home-pop { display: none !important; }
}

/* ==========================================================================
   v2.8.1 - Feedback popup on its own full screen, sidebar user identity
   ========================================================================== */

/* The mandatory feedback overlay always sits above every other popup. */
.ymn-fb-popup-overlay{z-index:100000 !important;overflow-y:auto;}
.ymn-fb-popup{max-width:520px;max-height:88vh;overflow-y:auto;}

/* Full message, nothing trimmed. */
.ymn-fb-popup-msg{color:#5b6880;font-size:14px;line-height:1.7;margin:0 0 12px;text-align:center;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;}
.ymn-fb-popup-msg br{display:block;content:"";margin-top:6px;}

/* Keep the small notification popup below and out of the way. */
.ymn-home-pop{z-index:99000;}

/* Sidebar profile: real photo, name and position for every role. */
.ymn-sb-profile{display:flex;align-items:center;gap:11px;}
.ymn-sb-photo{width:44px;height:44px;min-width:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(201,162,75,.75);box-shadow:0 3px 10px rgba(0,0,0,.22);background:#0A1F44;display:block;}
.ymn-sb-profile-txt{min-width:0;flex:1;}
.ymn-sb-profile-txt .ymn-profile-name{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ymn-sb-profile-txt .ymn-profile-role{margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ymn-sb-dept{margin:2px 0 0;font-size:11px;letter-spacing:.3px;color:#C9A24B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

@media print{
	.ymn-fb-popup-overlay,.ymn-sb-photo{display:none !important;}
}

/* ==========================================================================
   v2.9.0 - Grouped sidebar menus, clickable Home stats, Tasks Command Center
   ========================================================================== */

/* --- Sidebar submenu groups --- */
.ymn-nav-group { display:block; }
.ymn-nav-parent {
	display:flex; align-items:center; gap:10px; width:100%;
	background:transparent; border:0; cursor:pointer;
	padding:11px 16px; margin:0; text-align:left;
	color:rgba(255,255,255,.82); font-size:.9rem; font-weight:600;
	font-family:inherit; border-left:3px solid transparent;
	transition:background .15s ease, color .15s ease;
}
.ymn-nav-parent:hover { background:rgba(255,255,255,.08); color:#fff; }
.ymn-nav-parent.active { background:rgba(201,162,75,.16); color:#fff; border-left-color:#C9A24B; }
.ymn-nav-parent .dashicons { font-size:18px; width:18px; height:18px; flex:0 0 18px; }
.ymn-nav-parent-lbl { flex:1 1 auto; }
.ymn-nav-caret { font-size:16px !important; width:16px !important; height:16px !important; flex:0 0 16px !important; opacity:.7; transition:transform .18s ease; }
.ymn-nav-group.is-open .ymn-nav-caret { transform:rotate(180deg); }
.ymn-nav-sub { display:none; padding:2px 0 6px; background:rgba(0,0,0,.16); }
.ymn-nav-group.is-open .ymn-nav-sub { display:block; }
.ymn-nav-sub a {
	display:flex; align-items:center; gap:9px;
	padding:9px 16px 9px 30px; font-size:.845rem; font-weight:500;
	color:rgba(255,255,255,.72); text-decoration:none;
	border-left:3px solid transparent;
}
.ymn-nav-sub a:hover { background:rgba(255,255,255,.08); color:#fff; }
.ymn-nav-sub a.active { background:rgba(201,162,75,.22); color:#fff; border-left-color:#C9A24B; font-weight:600; }
.ymn-nav-sub a .dashicons { font-size:16px; width:16px; height:16px; flex:0 0 16px; opacity:.85; }

/* --- Clickable Home stat cards --- */
.ymn-home-stat.is-link { text-decoration:none; cursor:pointer; position:relative; transition:transform .15s ease, box-shadow .15s ease; }
.ymn-home-stat.is-link:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(10,31,68,.14); }
.ymn-home-stat-body { display:flex; flex-direction:column; }
.ymn-home-stat.is-link .ymn-home-stat-v { display:block; }
.ymn-home-stat.is-link .ymn-home-stat-l { display:block; }
.ymn-home-stat-go { margin-left:auto; opacity:0; font-size:18px !important; width:18px !important; height:18px !important; transition:opacity .15s ease, transform .15s ease; }
.ymn-home-stat.is-link:hover .ymn-home-stat-go { opacity:.75; transform:translateX(3px); }

/* --- Tasks Command Center --- */
.ymn-tc { margin:4px 0 20px; }
.ymn-tc-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; background:linear-gradient(135deg,#0A1F44 0%,#15315f 100%); color:#fff; border-radius:14px; padding:18px 22px; margin-bottom:14px; }
.ymn-tc-head h2 { margin:0; font-size:1.18rem; font-weight:800; color:#fff; display:flex; align-items:center; gap:9px; }
.ymn-tc-head h2 .dashicons { color:#C9A24B; font-size:21px; width:21px; height:21px; }
.ymn-tc-head p { margin:4px 0 0; font-size:.82rem; color:rgba(255,255,255,.75); }
.ymn-tc-pdf { display:inline-flex; align-items:center; gap:7px; background:#C9A24B; color:#0A1F44; font-weight:700; font-size:.83rem; padding:9px 16px; border-radius:9px; text-decoration:none; }
.ymn-tc-pdf:hover { background:#dcb75e; color:#0A1F44; }
.ymn-tc-pdf .dashicons { font-size:17px; width:17px; height:17px; }

.ymn-tc-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:14px 16px; margin-bottom:12px; }
.ymn-tc-filters label { display:flex; flex-direction:column; gap:5px; font-size:.75rem; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.03em; }
.ymn-tc-filters label .dashicons { font-size:14px; width:14px; height:14px; color:#C9A24B; }
.ymn-tc-filters select, .ymn-tc-filters input[type=text] { min-width:180px; padding:8px 10px; border:1px solid #cbd5e1; border-radius:8px; font-size:.86rem; color:#0f172a; background:#fff; }
.ymn-tc-reset { align-self:center; font-size:.8rem; color:#64748b; text-decoration:underline; }

.ymn-tc-chips { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.ymn-tc-chip { display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #e2e8f0; border-radius:11px; padding:10px 14px; text-decoration:none; color:#0A1F44; font-size:.84rem; font-weight:600; transition:transform .13s ease, box-shadow .13s ease; }
.ymn-tc-chip:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(10,31,68,.12); color:#0A1F44; }
.ymn-tc-chip .dashicons { font-size:16px; width:16px; height:16px; color:#64748b; }
.ymn-tc-chip-n { background:#f1f5f9; color:#0A1F44; border-radius:999px; padding:1px 9px; font-size:.78rem; font-weight:800; }
.ymn-tc-chip.is-on { background:#0A1F44; border-color:#0A1F44; color:#fff; }
.ymn-tc-chip.is-on .dashicons { color:#C9A24B; }
.ymn-tc-chip.is-on .ymn-tc-chip-n { background:#C9A24B; color:#0A1F44; }
.ymn-tc-chip-overdue .dashicons { color:#dc2626; }
.ymn-tc-chip-overdue .ymn-tc-chip-n { background:#fee2e2; color:#dc2626; }
.ymn-tc-chip-overdue.is-on { background:#dc2626; border-color:#dc2626; }
.ymn-tc-chip-overdue.is-on .dashicons, .ymn-tc-chip-overdue.is-on .ymn-tc-chip-n { color:#fff; background:transparent; }
.ymn-tc-chip-duesoon .dashicons { color:#ea580c; }
.ymn-tc-chip-duesoon.is-on { background:#ea580c; border-color:#ea580c; }
.ymn-tc-chip-duesoon.is-on .dashicons { color:#fff; }
.ymn-tc-chip-new7 .dashicons { color:#16a34a; }
.ymn-tc-chip-new7.is-on { background:#16a34a; border-color:#16a34a; }
.ymn-tc-chip-new7.is-on .dashicons { color:#fff; }
.ymn-tc-chip-completed .dashicons { color:#16a34a; }

.ymn-tc-note { display:flex; align-items:center; gap:9px; flex-wrap:wrap; background:#eff6ff; border:1px solid #bfdbfe; color:#1d4ed8; border-radius:10px; padding:11px 15px; font-size:.86rem; margin-bottom:14px; }
.ymn-tc-note a { color:#0A1F44; font-weight:700; margin-left:4px; }
.ymn-tc-note .dashicons { font-size:16px; width:16px; height:16px; }
.ymn-tc-note-overdue { background:#fef2f2; border-color:#fecaca; color:#dc2626; }
.ymn-tc-note-duesoon { background:#fff7ed; border-color:#fed7aa; color:#c2410c; }
.ymn-tc-note-new7 { background:#f0fdf4; border-color:#bbf7d0; color:#15803d; }

.ymn-tc-card { background:#fff; border:1px solid #e2e8f0; border-radius:13px; margin-bottom:16px; overflow:hidden; }
.ymn-tc-card-head { padding:14px 18px; border-bottom:1px solid #eef2f7; background:#fafbfd; }
.ymn-tc-card-head h3 { margin:0; font-size:.98rem; font-weight:800; color:#0A1F44; }
.ymn-tc-card-head span { display:block; margin-top:3px; font-size:.78rem; color:#94a3b8; }
.ymn-tc-empty { padding:26px; text-align:center; color:#94a3b8; font-size:.88rem; }
.ymn-tc-table th { font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; color:#64748b; }
.ymn-tc-table td { font-size:.855rem; vertical-align:middle; }
.ymn-tc-row-overdue td { background:#fff7f7; }
.ymn-tc-row-completed td { color:#64748b; }

@media (max-width:640px) {
	.ymn-tc-head { flex-direction:column; align-items:flex-start; }
	.ymn-tc-filters select, .ymn-tc-filters input[type=text] { min-width:100%; }
	.ymn-tc-filters label { width:100%; }
}

@media print {
	.ymn-tc-head, .ymn-tc-filters, .ymn-tc-chips, .ymn-tc-pdf { display:none !important; }
}

/* ============================================================
   v2.10.0 - Task deadline extend inside the Tasks Command Center
   ============================================================ */
.ymn-tc-act-col { text-align: right; white-space: nowrap; width: 1%; }

.ymn-tc-extend { display: inline-block; position: relative; }
.ymn-tc-extend > summary {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 11px;
	border: 1px solid #C9A24B;
	border-radius: 999px;
	background: #fffdf6;
	color: #8a6b1f;
	font-size: .74rem;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	transition: background .15s ease, color .15s ease;
}
.ymn-tc-extend > summary::-webkit-details-marker { display: none; }
.ymn-tc-extend > summary::marker { content: ""; }
.ymn-tc-extend > summary:hover { background: #C9A24B; color: #fff; }
.ymn-tc-extend > summary .dashicons { font-size: 15px; width: 15px; height: 15px; }
.ymn-tc-extend[open] > summary { background: #C9A24B; color: #fff; }

.ymn-tc-extend-form {
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	z-index: 60;
	min-width: 232px;
	padding: 13px;
	text-align: left;
	background: #fff;
	border: 1px solid #e6e9f0;
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(10, 31, 68, .18);
}
.ymn-tc-extend-lbl {
	display: block;
	font-size: .7rem;
	font-weight: 700;
	color: #64748b;
	margin-bottom: 5px;
	text-transform: uppercase;
	letter-spacing: .3px;
}
.ymn-tc-extend-form input[type="date"] {
	width: 100%;
	padding: 7px 9px;
	margin-bottom: 9px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-size: .82rem;
	color: #0A1F44;
	background: #fff;
}
.ymn-tc-extend-go {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 8px 10px;
	border: 0;
	border-radius: 8px;
	background: #b3261e;
	color: #fff;
	font-size: .78rem;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s ease;
}
.ymn-tc-extend-go:hover { background: #8f1d17; }
.ymn-tc-extend-go .dashicons { font-size: 15px; width: 15px; height: 15px; }

@media (max-width: 640px) {
	.ymn-tc-extend-form { right: auto; left: 0; min-width: 200px; }
}

@media print {
	.ymn-tc-act-col { display: none !important; }
	.ymn-tc-extend { display: none !important; }
}

/* Explicit class hooks for the extend control (kept alongside the element
   selectors above so the button styles survive any theme summary reset). */
.ymn-tc-extend-btn {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 11px;
	border: 1px solid #C9A24B;
	border-radius: 999px;
	background: #fffdf6;
	color: #8a6b1f;
	font-size: .74rem;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}
.ymn-tc-extend-btn::-webkit-details-marker { display: none; }
.ymn-tc-extend-btn:hover { background: #C9A24B; color: #fff; }

/* =========================================================
   v2.11.0 - Member termination / inactive notice screen
   Shown instead of the member dashboard when staff status
   is no longer ACTIVE. Purely additive - no existing rule
   is overridden.
   ========================================================= */
.ymn-term-wrap {
	min-height: 78vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 44px 16px;
	background: linear-gradient( 160deg, #0A1F44 0%, #123063 55%, #0A1F44 100% );
}
.ymn-term-card {
	width: 100%;
	max-width: 720px;
	background: #fff;
	border-radius: 18px;
	border-top: 5px solid #b3261e;
	padding: 30px 34px 26px;
	text-align: center;
	box-shadow: 0 30px 70px rgba( 2, 10, 30, .45 );
}
.ymn-term-top {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding-bottom: 16px;
	border-bottom: 1px solid #e8ecf3;
}
.ymn-term-logo { width: 46px; height: 46px; object-fit: contain; }
.ymn-term-org {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-weight: 800;
	font-size: .92rem;
	color: #0A1F44;
	letter-spacing: .2px;
	line-height: 1.25;
}
.ymn-term-org small { font-weight: 600; font-size: .68rem; color: #8a93a5; letter-spacing: .6px; text-transform: uppercase; }
.ymn-term-icon {
	width: 74px;
	height: 74px;
	margin: 22px auto 14px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fdecea;
	border: 2px solid #f6c9c4;
}
.ymn-term-icon .dashicons { font-size: 36px; width: 36px; height: 36px; color: #b3261e; }
.ymn-term-pill {
	display: inline-block;
	padding: 5px 14px;
	border-radius: 999px;
	background: #fdecea;
	color: #b3261e;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .8px;
	text-transform: uppercase;
}
.ymn-term-title {
	margin: 12px 0 10px;
	font-size: 1.5rem;
	line-height: 1.3;
	font-weight: 800;
	color: #0A1F44;
}
.ymn-term-msg {
	margin: 0 auto;
	max-width: 560px;
	font-size: .94rem;
	line-height: 1.7;
	color: #46536b;
}
.ymn-term-msg strong { color: #0A1F44; }
.ymn-term-contact {
	display: flex;
	gap: 12px;
	text-align: left;
	margin: 22px 0 4px;
	padding: 16px 18px;
	border-radius: 12px;
	background: #f6f8fc;
	border: 1px solid #e3e9f4;
	border-left: 4px solid #C9A24B;
}
.ymn-term-contact .dashicons { color: #C9A24B; font-size: 22px; width: 22px; height: 22px; flex: 0 0 auto; margin-top: 2px; }
.ymn-term-contact strong { display: block; color: #0A1F44; font-size: .86rem; margin-bottom: 4px; }
.ymn-term-contact p { margin: 0; font-size: .84rem; line-height: 1.65; color: #55617a; }
.ymn-term-id {
	display: flex;
	gap: 16px;
	align-items: center;
	text-align: left;
	margin-top: 18px;
	padding: 16px 18px;
	border-radius: 12px;
	background: #fff;
	border: 1px dashed #d7dfec;
}
.ymn-term-photo {
	width: 62px;
	height: 62px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
	border: 3px solid #eef2f8;
	filter: grayscale( 100% );
}
.ymn-term-initials {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0A1F44;
	color: #C9A24B;
	font-weight: 800;
	font-size: 1.1rem;
	letter-spacing: .5px;
	filter: none;
}
.ymn-term-id-grid {
	flex: 1 1 auto;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 5px 14px;
	min-width: 0;
}
.ymn-term-k { font-size: .7rem; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: #94a0b5; }
.ymn-term-v { font-size: .84rem; font-weight: 700; color: #0A1F44; word-break: break-word; }
.ymn-term-badge {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	background: #b3261e;
	color: #fff;
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .7px;
}
.ymn-term-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-top: 24px;
}
.ymn-term-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 11px 22px;
	border-radius: 10px;
	background: #0A1F44;
	color: #fff;
	font-size: .84rem;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid #0A1F44;
	transition: background .18s ease, color .18s ease;
}
.ymn-term-btn:hover { background: #123063; color: #fff; }
.ymn-term-btn .dashicons { font-size: 17px; width: 17px; height: 17px; }
.ymn-term-btn-ghost { background: #fff; color: #0A1F44; border-color: #d7dfec; }
.ymn-term-btn-ghost:hover { background: #f4f7fc; color: #0A1F44; }
.ymn-term-foot {
	margin: 20px 0 0;
	padding-top: 14px;
	border-top: 1px solid #eef2f8;
	font-size: .76rem;
	color: #94a0b5;
}
@media ( max-width: 640px ) {
	.ymn-term-card { padding: 24px 18px 20px; border-radius: 14px; }
	.ymn-term-title { font-size: 1.22rem; }
	.ymn-term-id { flex-direction: column; align-items: flex-start; }
	.ymn-term-id-grid { grid-template-columns: 1fr; gap: 2px; }
	.ymn-term-k { margin-top: 6px; }
	.ymn-term-actions .ymn-term-btn { flex: 1 1 100%; justify-content: center; }
}

/* Inactive member chips reused inside admin / director / HR member lists. */
.ymn-inactive-chip {
	display: inline-block;
	padding: 2px 9px;
	margin-left: 6px;
	border-radius: 999px;
	background: #fdecea;
	color: #b3261e;
	border: 1px solid #f3c4bf;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .5px;
	text-transform: uppercase;
}
.ymn-term-note {
	margin: 8px 0 0;
	font-size: .74rem;
	color: #b3261e;
	font-weight: 600;
}

/* =========================================================================
   v2.12.0 - Unified design system (Home Dashboard look on every tab),
   bilingual UI, onboarding guide, member task alerts, in-place member editor.
   Additive only - nothing above this line is modified.
   ========================================================================= */

/* ---------- 1. Shared surfaces ---------- */
.ymn-shell-content .ymn-card-v2 {
	background: #fff;
	border: 1px solid var(--ymn-border);
	border-radius: 16px;
	padding: 20px 22px;
	margin-bottom: 18px;
	box-shadow: 0 1px 2px rgba(10,31,68,.04), 0 10px 26px rgba(10,31,68,.05);
	transition: box-shadow .18s ease, transform .18s ease;
}
.ymn-shell-content .ymn-card-v2:hover {
	box-shadow: 0 2px 4px rgba(10,31,68,.06), 0 16px 34px rgba(10,31,68,.08);
}
.ymn-shell-content .ymn-card-v2-head h3,
.ymn-shell-content .ymn-toolbar-row h3 {
	font-size: 17px;
	font-weight: 800;
	color: var(--ymn-navy);
	letter-spacing: -.2px;
	margin: 0 0 2px;
	display: flex;
	align-items: center;
	gap: 9px;
}
.ymn-shell-content .ymn-card-sub {
	font-size: 12.5px;
	color: #6b7a90;
	margin: 0;
	line-height: 1.55;
}
.ymn-shell-content .ymn-toolbar-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	padding-bottom: 14px;
	margin-bottom: 14px;
	border-bottom: 1px solid #eef1f7;
}

/* ---------- 2. Stat cards ---------- */
.ymn-shell-content .ymn-stat-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 14px;
	margin-bottom: 18px;
}
.ymn-shell-content .ymn-stat-card-v2 {
	background: #fff;
	border: 1px solid var(--ymn-border);
	border-radius: 15px;
	padding: 16px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(10,31,68,.04), 0 8px 20px rgba(10,31,68,.04);
	transition: transform .18s ease, box-shadow .18s ease;
}
.ymn-shell-content .ymn-stat-card-v2:before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: linear-gradient(180deg, var(--ymn-navy), var(--ymn-gold));
}
.ymn-shell-content .ymn-stat-card-v2:hover {
	transform: translateY(-2px);
	box-shadow: 0 3px 6px rgba(10,31,68,.07), 0 18px 34px rgba(10,31,68,.09);
}
.ymn-shell-content .ymn-stat-card-v2 .dashicons {
	font-size: 24px;
	width: 44px;
	height: 44px;
	line-height: 44px;
	text-align: center;
	border-radius: 12px;
	background: #eef2fa;
	color: var(--ymn-navy);
	flex: 0 0 44px;
}
.ymn-shell-content .ymn-stat-card-v2 h4 {
	margin: 0;
	font-size: 24px;
	font-weight: 800;
	color: var(--ymn-navy);
	letter-spacing: -.5px;
}
.ymn-shell-content .ymn-stat-card-v2 p {
	margin: 2px 0 0;
	font-size: 11.5px;
	color: #7a8798;
	text-transform: uppercase;
	letter-spacing: .5px;
	font-weight: 700;
}

/* ---------- 3. Tables ---------- */
.ymn-shell-content .ymn-table-v2 {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 13px;
}
.ymn-shell-content .ymn-table-v2 thead th {
	background: #f6f8fc;
	color: #5b6b83;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .6px;
	padding: 12px 12px;
	border-bottom: 1px solid #e6eaf2;
	position: sticky;
	top: 0;
	z-index: 2;
}
.ymn-shell-content .ymn-table-v2 thead th:first-child { border-radius: 10px 0 0 0; }
.ymn-shell-content .ymn-table-v2 thead th:last-child  { border-radius: 0 10px 0 0; }
.ymn-shell-content .ymn-table-v2 tbody td {
	padding: 12px;
	border-bottom: 1px solid #f0f3f8;
	vertical-align: middle;
	color: #33415c;
}
.ymn-shell-content .ymn-table-v2 tbody tr {
	transition: background .15s ease;
}
.ymn-shell-content .ymn-table-v2 tbody tr:hover { background: #f8fafd; }
.ymn-shell-content .ymn-table-v2 tbody tr:last-child td { border-bottom: none; }
.ymn-row-saved { animation: ymnRowSaved 2.2s ease; }
@keyframes ymnRowSaved {
	0%   { background: #d6f5e3; }
	60%  { background: #eafaf1; }
	100% { background: transparent; }
}

/* ---------- 4. Buttons, pills, icon actions ---------- */
.ymn-shell-content .ymn-btn-primary {
	background: linear-gradient(135deg, var(--ymn-navy), var(--ymn-navy-light));
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 10px 18px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(10,31,68,.22);
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.ymn-shell-content .ymn-btn-primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(10,31,68,.3);
	filter: brightness(1.06);
}
.ymn-shell-content .ymn-btn-primary:disabled {
	opacity: .6;
	cursor: not-allowed;
	transform: none;
}
.ymn-shell-content .ymn-icon-btn-outline,
.ymn-shell-content .ymn-btn-secondary {
	border-radius: 10px;
	font-weight: 700;
	font-size: 13px;
	transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.ymn-shell-content .ymn-icon-btn-outline:hover,
.ymn-shell-content .ymn-btn-secondary:hover {
	background: #eef2fa;
	border-color: #c9d4e6;
	transform: translateY(-1px);
}
.ymn-shell-content .ymn-status-pill {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: .5px;
	text-transform: uppercase;
}
.ymn-shell-content .ymn-status-pill.active   { background: #e3f7ec; color: #16a34a; }
.ymn-shell-content .ymn-status-pill.inactive { background: #fde8e8; color: #dc2626; }
.ymn-shell-content .ymn-icon-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 9px;
	border: 1px solid transparent;
	background: #f2f5fa;
	color: #56657f;
	cursor: pointer;
	padding: 0;
	vertical-align: middle;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.ymn-shell-content .ymn-icon-action:hover {
	background: var(--ymn-navy);
	color: #fff;
	transform: translateY(-1px);
}
.ymn-shell-content .ymn-icon-action.danger:hover { background: var(--ymn-red); }
.ymn-shell-content .ymn-icon-action .dashicons { font-size: 16px; width: 16px; height: 16px; line-height: 16px; }

/* ---------- 5. Forms, search and filters ---------- */
.ymn-shell-content .ymn-form-grid label {
	font-size: 12px;
	font-weight: 700;
	color: #46566f;
	letter-spacing: .2px;
}
.ymn-shell-content .ymn-form-grid input[type=text],
.ymn-shell-content .ymn-form-grid input[type=email],
.ymn-shell-content .ymn-form-grid input[type=date],
.ymn-shell-content .ymn-form-grid input[type=number],
.ymn-shell-content .ymn-form-grid select,
.ymn-shell-content .ymn-form-grid textarea {
	border: 1px solid #dde3ee;
	border-radius: 10px;
	padding: 10px 12px;
	font-size: 13px;
	background: #fbfcfe;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.ymn-shell-content .ymn-form-grid input:focus,
.ymn-shell-content .ymn-form-grid select:focus,
.ymn-shell-content .ymn-form-grid textarea:focus {
	outline: none;
	background: #fff;
	border-color: var(--ymn-navy);
	box-shadow: 0 0 0 3px rgba(10,31,68,.09);
}
.ymn-shell-content .ymn-search-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #f6f8fc;
	border: 1px solid #e3e8f1;
	border-radius: 12px;
	padding: 4px 14px;
	margin: 12px 0;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.ymn-shell-content .ymn-search-bar:focus-within {
	background: #fff;
	border-color: var(--ymn-navy);
	box-shadow: 0 0 0 3px rgba(10,31,68,.08);
}
.ymn-shell-content .ymn-search-bar .dashicons { color: #8d9bb0; }
.ymn-shell-content .ymn-search-bar input {
	border: none;
	background: transparent;
	flex: 1;
	padding: 9px 0;
	font-size: 13.5px;
	outline: none;
}
.ymn-shell-content .ymn-filter-select,
.ymn-shell-content .ymn-filters-row select {
	border: 1px solid #dde3ee;
	border-radius: 10px;
	padding: 9px 12px;
	font-size: 13px;
	background: #fff;
}

/* ---------- 6. Language switcher + help button (topbar) ---------- */
.ymn-lang-switch {
	display: inline-flex;
	align-items: center;
	background: #eef2fa;
	border: 1px solid #dbe3f0;
	border-radius: 999px;
	padding: 3px;
	gap: 2px;
}
.ymn-lang-opt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .4px;
	color: #5b6b83;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
.ymn-lang-opt:hover { background: #e0e7f5; color: var(--ymn-navy); }
.ymn-lang-opt.is-on {
	background: var(--ymn-navy);
	color: #fff;
	box-shadow: 0 2px 6px rgba(10,31,68,.25);
}
.ymn-lang-ur-opt { font-family: "Noto Nastaliq Urdu", "Jameel Noori Nastaleeq", serif; }
.ymn-help-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid #dbe3f0;
	background: #eef2fa;
	color: var(--ymn-navy);
	cursor: pointer;
	padding: 0;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.ymn-help-btn:hover {
	background: var(--ymn-navy);
	color: #fff;
	transform: translateY(-1px);
}
.ymn-help-btn .dashicons { font-size: 18px; width: 18px; height: 18px; line-height: 18px; }

/* ---------- 7. Member quick-edit modal ---------- */
body.ymn-modal-lock { overflow: hidden; }
.ymn-mem-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 96000;
	background: rgba(10,31,68,.55);
	backdrop-filter: blur(3px);
	padding: 24px;
	overflow-y: auto;
}
.ymn-mem-modal.is-open { display: flex; align-items: flex-start; justify-content: center; }
.ymn-mem-modal-box {
	background: #fff;
	border-radius: 18px;
	width: 100%;
	max-width: 720px;
	margin: auto;
	padding: 0 24px 24px;
	box-shadow: 0 30px 80px rgba(10,31,68,.4);
	animation: ymnMemIn .22s ease;
}
@keyframes ymnMemIn {
	from { opacity: 0; transform: translateY(-14px) scale(.98); }
	to   { opacity: 1; transform: none; }
}
.ymn-mem-modal-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 0 14px;
	border-bottom: 1px solid #eef1f7;
	margin-bottom: 14px;
	position: sticky;
	top: 0;
	background: #fff;
	border-radius: 18px 18px 0 0;
	z-index: 2;
}
.ymn-mem-modal-kicker {
	display: inline-block;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ymn-gold);
	margin-bottom: 3px;
}
.ymn-mem-modal-title {
	margin: 0;
	font-size: 19px;
	font-weight: 800;
	color: var(--ymn-navy);
	letter-spacing: -.3px;
}
.ymn-mem-modal-x {
	border: none;
	background: #f2f5fa;
	color: #5b6b83;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.ymn-mem-modal-x:hover { background: var(--ymn-red); color: #fff; }
.ymn-mem-modal-msg { display: none; }
.ymn-mem-modal-msg.ok,
.ymn-mem-modal-msg.err {
	display: block;
	padding: 11px 14px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 12px;
}
.ymn-mem-modal-msg.ok  { background: #e3f7ec; color: #15803d; border: 1px solid #b8ebcd; }
.ymn-mem-modal-msg.err { background: #fde8e8; color: #b91c1c; border: 1px solid #f5bcbc; }
.ymn-mem-photo-row { display: flex; align-items: center; gap: 10px; margin: 6px 0 8px; }
.ymn-mem-modal-actions {
	display: flex;
	gap: 10px;
	align-items: center;
	padding-top: 14px;
	border-top: 1px solid #eef1f7;
	margin-top: 6px;
}

/* ---------- 8. Member task / deadline popup ---------- */
body.ymn-tap-lock { overflow: hidden; }
.ymn-tap-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 97000;
	background: rgba(10,31,68,.58);
	backdrop-filter: blur(4px);
	padding: 24px;
	overflow-y: auto;
}
.ymn-tap-overlay.is-open { display: flex; align-items: center; justify-content: center; }
.ymn-tap-box {
	background: #fff;
	border-radius: 20px;
	width: 100%;
	max-width: 560px;
	margin: auto;
	padding: 26px 26px 22px;
	position: relative;
	box-shadow: 0 30px 80px rgba(10,31,68,.45);
	animation: ymnTapIn .26s cubic-bezier(.2,.8,.3,1);
	border-top: 5px solid var(--ymn-navy);
}
@keyframes ymnTapIn {
	from { opacity: 0; transform: translateY(18px) scale(.96); }
	to   { opacity: 1; transform: none; }
}
.ymn-tap-red    .ymn-tap-box { border-top-color: #dc2626; }
.ymn-tap-orange .ymn-tap-box { border-top-color: #d97706; }
.ymn-tap-purple .ymn-tap-box { border-top-color: #6d3fe0; }
.ymn-tap-x {
	position: absolute;
	top: 14px;
	right: 14px;
	border: none;
	background: #f2f5fa;
	color: #5b6b83;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	font-size: 19px;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.ymn-tap-x:hover { background: #dc2626; color: #fff; }
.ymn-tap-head { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.ymn-tap-ic {
	width: 52px;
	height: 52px;
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #efe9fd;
	color: #6d3fe0;
	flex: 0 0 52px;
}
.ymn-tap-red    .ymn-tap-ic { background: #fde8e8; color: #dc2626; }
.ymn-tap-orange .ymn-tap-ic { background: #fdefe0; color: #d97706; }
.ymn-tap-ic .dashicons { font-size: 26px; width: 26px; height: 26px; line-height: 26px; }
.ymn-tap-kicker {
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #8d9bb0;
}
.ymn-tap-title {
	margin: 2px 0 0;
	font-size: 20px;
	font-weight: 800;
	color: var(--ymn-navy);
	letter-spacing: -.4px;
}
.ymn-tap-msg {
	font-size: 14px;
	line-height: 1.65;
	color: #4a5a72;
	margin: 0 0 16px;
}
.ymn-tap-list {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
	max-height: 260px;
	overflow-y: auto;
}
.ymn-tap-item {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	background: #f7f9fd;
	border: 1px solid #e8edf6;
	border-left: 3px solid #6d3fe0;
	border-radius: 11px;
	padding: 11px 13px;
}
.ymn-tap-item.is-late { border-left-color: #dc2626; background: #fef6f6; border-color: #f6dede; }
.ymn-tap-item-b { flex: 1; min-width: 0; }
.ymn-tap-item-t {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--ymn-navy);
	margin: 0 0 3px;
	word-break: break-word;
}
.ymn-tap-item-m { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ymn-tap-due {
	font-size: 11px;
	font-weight: 800;
	color: #4a5a72;
	background: #e9eef8;
	padding: 3px 9px;
	border-radius: 999px;
}
.ymn-tap-due.is-late { background: #fde8e8; color: #dc2626; }
.ymn-tap-pri {
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #a37c22;
	background: #fbf3e0;
	padding: 3px 9px;
	border-radius: 999px;
}
.ymn-tap-by { font-size: 11.5px; color: #8d9bb0; }
.ymn-tap-more { font-size: 12.5px; color: #8d9bb0; font-style: italic; margin: 0 0 14px; }
.ymn-tap-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.ymn-tap-cta {
	flex: 1;
	min-width: 190px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: linear-gradient(135deg, var(--ymn-navy), var(--ymn-navy-light));
	color: #fff;
	text-decoration: none;
	border-radius: 11px;
	padding: 12px 20px;
	font-size: 13.5px;
	font-weight: 800;
	box-shadow: 0 4px 14px rgba(10,31,68,.28);
	transition: transform .15s ease, box-shadow .15s ease;
}
.ymn-tap-cta:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(10,31,68,.36); color: #fff; }
.ymn-tap-later {
	border: 1px solid #dde3ee;
	background: #fff;
	color: #5b6b83;
	border-radius: 11px;
	padding: 12px 18px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s ease;
}
.ymn-tap-later:hover { background: #f2f5fa; }

/* ---------- 9. Onboarding guide overlay ---------- */
body.ymn-guide-lock { overflow: hidden; }
.ymn-guide-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 98000;
	background: rgba(6,18,40,.72);
	backdrop-filter: blur(5px);
	padding: 20px;
	overflow-y: auto;
}
.ymn-guide-overlay.is-open { display: flex; align-items: center; justify-content: center; }
.ymn-guide-box {
	background: #fff;
	border-radius: 22px;
	width: 100%;
	max-width: 880px;
	margin: auto;
	overflow: hidden;
	box-shadow: 0 40px 100px rgba(6,18,40,.55);
	animation: ymnGuideIn .3s cubic-bezier(.2,.8,.3,1);
}
@keyframes ymnGuideIn {
	from { opacity: 0; transform: translateY(24px) scale(.97); }
	to   { opacity: 1; transform: none; }
}
.ymn-guide-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 24px;
	background: linear-gradient(135deg, var(--ymn-navy), #14315f 60%, #1c4080);
	color: #fff;
}
.ymn-guide-brand { display: flex; align-items: center; gap: 13px; }
.ymn-guide-logo {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	object-fit: contain;
	background: rgba(255,255,255,.12);
	padding: 5px;
}
.ymn-guide-kicker {
	display: block;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--ymn-gold);
}
.ymn-guide-role {
	display: block;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -.2px;
	margin-top: 1px;
}
.ymn-guide-x {
	border: none;
	background: rgba(255,255,255,.14);
	color: #fff;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease;
}
.ymn-guide-x:hover { background: rgba(255,255,255,.3); }
.ymn-guide-progress { height: 4px; background: #e9edf5; }
.ymn-guide-progress > span {
	display: block;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--ymn-gold), #e8c877);
	transition: width .3s ease;
}
.ymn-guide-body { padding: 24px; }
.ymn-guide-step { display: none; }
.ymn-guide-step.is-on { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; align-items: center; }
.ymn-guide-visual {
	background: #f5f7fb;
	border: 1px solid #e6ebf4;
	border-radius: 16px;
	padding: 18px;
	min-height: 230px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ymn-guide-text h4 {
	margin: 0 0 10px;
	font-size: 21px;
	font-weight: 800;
	color: var(--ymn-navy);
	letter-spacing: -.4px;
	line-height: 1.25;
}
.ymn-guide-text p {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.7;
	color: #4a5a72;
}
.ymn-guide-text ul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 7px; }
.ymn-guide-text li { font-size: 13px; line-height: 1.6; color: #56657f; }
.ymn-gtone-navy   .ymn-guide-visual { background: #eef2fa; border-color: #dbe3f2; }
.ymn-gtone-blue   .ymn-guide-visual { background: #e9f2fe; border-color: #d3e4fb; }
.ymn-gtone-green  .ymn-guide-visual { background: #e8f8ef; border-color: #cfeedd; }
.ymn-gtone-gold   .ymn-guide-visual { background: #fbf5e6; border-color: #f0e3c2; }
.ymn-gtone-purple .ymn-guide-visual { background: #f1ecfd; border-color: #e0d5fa; }
.ymn-gtone-orange .ymn-guide-visual { background: #fdf2e6; border-color: #f8e2c6; }
.ymn-gtone-red    .ymn-guide-visual { background: #fdeded; border-color: #f8d5d5; }
.ymn-gtone-teal   .ymn-guide-visual { background: #e6f6f5; border-color: #c9eae8; }
.ymn-guide-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 16px 24px;
	border-top: 1px solid #eef1f7;
	background: #fbfcfe;
}
.ymn-guide-skip {
	border: none;
	background: none;
	color: #8d9bb0;
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: underline;
}
.ymn-guide-skip:hover { color: var(--ymn-red); }
.ymn-guide-dots { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; justify-content: center; }
.ymn-guide-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #d5dde9;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: background .15s ease, transform .15s ease, width .2s ease;
}
.ymn-guide-dot.is-on { background: var(--ymn-navy); width: 22px; border-radius: 999px; }
.ymn-guide-nav { display: flex; align-items: center; gap: 10px; }
.ymn-guide-count { font-size: 12px; font-weight: 800; color: #8d9bb0; letter-spacing: .3px; }
.ymn-guide-btn {
	background: linear-gradient(135deg, var(--ymn-navy), var(--ymn-navy-light));
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 10px 20px;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(10,31,68,.22);
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.ymn-guide-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(10,31,68,.3); filter: brightness(1.06); }
.ymn-guide-btn.ghost {
	background: #fff;
	color: #5b6b83;
	border: 1px solid #dde3ee;
	box-shadow: none;
}
.ymn-guide-btn.ghost:hover { background: #f2f5fa; }
.ymn-guide-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }

/* ---------- 10. Guide illustrated mockups ---------- */
.ymn-gm { width: 100%; font-size: 11px; color: #33415c; }
.ymn-gm-welcome { text-align: center; }
.ymn-gm-crest {
	width: 62px;
	height: 62px;
	border-radius: 18px;
	margin: 0 auto 12px;
	background: linear-gradient(135deg, var(--ymn-navy), #1c4080);
	color: var(--ymn-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 21px;
	font-weight: 800;
	letter-spacing: .5px;
	box-shadow: 0 10px 26px rgba(10,31,68,.3);
}
.ymn-gm-wtitle { font-size: 15px; font-weight: 800; color: var(--ymn-navy); margin-bottom: 4px; }
.ymn-gm-wsub { font-size: 11.5px; color: #7a8798; }
.ymn-gm-hero {
	background: linear-gradient(135deg, var(--ymn-navy), #1c4080);
	border-radius: 12px;
	padding: 14px 16px;
	color: #fff;
	margin-bottom: 10px;
}
.ymn-gm-hero-k { font-size: 9px; letter-spacing: 1px; text-transform: uppercase; color: var(--ymn-gold); font-weight: 800; }
.ymn-gm-hero-t { font-size: 14px; font-weight: 800; margin-top: 3px; }
.ymn-gm-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 10px; }
.ymn-gm-stat {
	background: #fff;
	border: 1px solid #e6ebf4;
	border-radius: 10px;
	padding: 10px 8px;
	text-align: center;
	font-weight: 800;
	color: var(--ymn-navy);
	font-size: 15px;
}
.ymn-gm-alert {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid #e6ebf4;
	border-radius: 10px;
	padding: 9px 11px;
	margin-bottom: 7px;
}
.ymn-gm-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--ymn-navy); flex: 0 0 9px; }
.ymn-gm-dot.t-red { background: #dc2626; }
.ymn-gm-dot.t-gold { background: var(--ymn-gold); }
.ymn-gm-dot.t-green { background: #16a34a; }
.ymn-gm-dot.t-orange { background: #d97706; }
.ymn-gm-dot.t-blue { background: #2563eb; }
.ymn-gm-dot.t-purple { background: #6d3fe0; }
.ymn-gm-dot.t-teal { background: #0d9488; }
.ymn-gm-line { height: 7px; border-radius: 999px; background: #dbe3f0; }
.ymn-gm-line.light { background: #eaeff7; }
.ymn-gm-line.gold { background: var(--ymn-gold); }
.ymn-gm-line.w20 { width: 20%; }
.ymn-gm-line.w30 { width: 30%; }
.ymn-gm-line.w40 { width: 40%; }
.ymn-gm-line.w50 { width: 50%; }
.ymn-gm-line.w60 { width: 60%; }
.ymn-gm-line.w70 { width: 70%; }
.ymn-gm-line.w80 { width: 80%; }
.ymn-gm-line.w90 { width: 90%; }
.ymn-gm-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ymn-gm-tile {
	background: #fff;
	border: 1px solid #e6ebf4;
	border-radius: 11px;
	padding: 13px 8px;
	text-align: center;
	font-size: 9.5px;
	font-weight: 700;
	color: #56657f;
	min-height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ymn-gm-tile.t-navy { border-color: #c9d6ee; background: #eef2fa; color: var(--ymn-navy); }
.ymn-gm-tile.t-gold { border-color: #eddfba; background: #fbf5e6; color: #a37c22; }
.ymn-gm-tile.t-green { border-color: #c7e9d6; background: #e8f8ef; color: #15803d; }
.ymn-gm-tile.t-blue { border-color: #cde0fa; background: #e9f2fe; color: #1d4ed8; }
.ymn-gm-tile.t-purple { border-color: #ddd0fa; background: #f1ecfd; color: #5b32c4; }
.ymn-gm-tile.t-orange { border-color: #f6dfc0; background: #fdf2e6; color: #b45309; }
.ymn-gm-tile.t-red { border-color: #f6cfcf; background: #fdeded; color: #b91c1c; }
.ymn-gm-tile.t-teal { border-color: #c2e6e3; background: #e6f6f5; color: #0f766e; }
.ymn-gm-split { display: grid; grid-template-columns: 88px 1fr; gap: 9px; }
.ymn-gm-side {
	background: var(--ymn-navy);
	border-radius: 11px;
	padding: 10px 8px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ymn-gm-side-brand {
	font-size: 8.5px;
	font-weight: 800;
	color: var(--ymn-gold);
	letter-spacing: .8px;
	text-transform: uppercase;
	margin-bottom: 2px;
}
.ymn-gm-avatar {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(255,255,255,.18);
	border: 1px solid rgba(255,255,255,.28);
	margin-bottom: 4px;
}
.ymn-gm-avatar.sm { width: 18px; height: 18px; margin: 0; }
.ymn-gm-nav {
	font-size: 8.5px;
	color: rgba(255,255,255,.66);
	background: rgba(255,255,255,.07);
	border-radius: 6px;
	padding: 5px 6px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4px;
}
.ymn-gm-nav.on { background: var(--ymn-gold); color: #22190a; font-weight: 800; }
.ymn-gm-badge {
	background: #dc2626;
	color: #fff;
	border-radius: 999px;
	padding: 0 5px;
	font-size: 7.5px;
	font-weight: 800;
	line-height: 13px;
}
.ymn-gm-body { display: flex; flex-direction: column; gap: 7px; }
.ymn-gm-card {
	background: #fff;
	border: 1px solid #e6ebf4;
	border-radius: 10px;
	padding: 11px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ymn-gm-card.short { padding: 8px 11px; }
.ymn-gm-top {
	background: #fff;
	border: 1px solid #e6ebf4;
	border-radius: 11px;
	padding: 10px 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 9px;
}
.ymn-gm-bell { position: relative; font-size: 15px; }
.ymn-gm-note {
	background: #fff;
	border: 1px solid #e6ebf4;
	border-left: 3px solid var(--ymn-gold);
	border-radius: 9px;
	padding: 9px 11px;
	font-size: 9.5px;
	color: #56657f;
	margin-bottom: 6px;
}
.ymn-gm-lang { text-align: center; }
.ymn-gm-langbar {
	display: inline-flex;
	background: #fff;
	border: 1px solid #dbe3f0;
	border-radius: 999px;
	padding: 3px;
	gap: 3px;
	margin-bottom: 12px;
}
.ymn-gm-langopt {
	padding: 5px 14px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 800;
	color: #7a8798;
}
.ymn-gm-langopt.on { background: var(--ymn-navy); color: #fff; }
.ymn-gm-langrow {
	background: #fff;
	border: 1px solid #e6ebf4;
	border-radius: 9px;
	padding: 9px 11px;
	font-size: 10px;
	color: #33415c;
	margin-bottom: 6px;
}
.ymn-gm-arrow { font-size: 14px; color: #8d9bb0; margin: 2px 0 6px; }
.ymn-gm-th {
	display: grid;
	grid-template-columns: 1.4fr 1fr .8fr;
	gap: 8px;
	background: #eef2fa;
	border-radius: 8px 8px 0 0;
	padding: 7px 10px;
	font-size: 8.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #5b6b83;
}
.ymn-gm-tr {
	display: grid;
	grid-template-columns: 1.4fr 1fr .8fr;
	gap: 8px;
	align-items: center;
	background: #fff;
	border: 1px solid #eef1f7;
	border-top: none;
	padding: 8px 10px;
	font-size: 9.5px;
}
.ymn-gm-tr.red { background: #fdf7f7; }
.ymn-gm-pill {
	display: inline-block;
	background: #e3f7ec;
	color: #15803d;
	border-radius: 999px;
	padding: 2px 8px;
	font-size: 8px;
	font-weight: 800;
	text-transform: uppercase;
}
.ymn-gm-pill.t-red { background: #fde8e8; color: #b91c1c; }
.ymn-gm-pill.t-gold { background: #fbf3e0; color: #a37c22; }
.ymn-gm-pill.t-blue { background: #e4f0fd; color: #1d4ed8; }
.ymn-gm-pencil {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 6px;
	background: var(--ymn-navy);
	color: #fff;
	font-size: 10px;
}
.ymn-gm-modal {
	background: #fff;
	border: 1px solid #dbe3f0;
	border-radius: 12px;
	padding: 12px;
	margin-top: 9px;
	box-shadow: 0 14px 30px rgba(10,31,68,.18);
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.ymn-gm-input { height: 22px; border: 1px solid #e0e6f0; border-radius: 6px; background: #fbfcfe; }
.ymn-gm-save {
	align-self: flex-start;
	background: var(--ymn-navy);
	color: #fff;
	border-radius: 7px;
	padding: 5px 14px;
	font-size: 9px;
	font-weight: 800;
}
.ymn-gm-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 9px; }
.ymn-gm-chip {
	background: #fff;
	border: 1px solid #e6ebf4;
	border-radius: 999px;
	padding: 5px 11px;
	font-size: 9px;
	font-weight: 700;
	color: #56657f;
}
.ymn-gm-chip.on { background: var(--ymn-navy); color: #fff; border-color: var(--ymn-navy); }
.ymn-gm-score {
	font-size: 26px;
	font-weight: 800;
	color: var(--ymn-navy);
	text-align: center;
	margin-bottom: 8px;
}
.ymn-gm-bars { display: flex; flex-direction: column; gap: 6px; }
.ymn-gm-btn {
	display: inline-block;
	background: var(--ymn-gold);
	color: #22190a;
	border-radius: 8px;
	padding: 7px 16px;
	font-size: 9.5px;
	font-weight: 800;
	margin-top: 8px;
}
.ymn-gm-gauge {
	height: 12px;
	border-radius: 999px;
	background: #e3e9f4;
	overflow: hidden;
	margin-bottom: 10px;
}
.ymn-gm-gauge-fill { height: 100%; background: linear-gradient(90deg, #16a34a, #4ade80); }
.ymn-gm-legend { display: flex; gap: 10px; flex-wrap: wrap; font-size: 9px; color: #7a8798; }
.ymn-gm-doc {
	background: #fff;
	border: 1px solid #e6ebf4;
	border-radius: 10px;
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ymn-gm-docbar { height: 6px; border-radius: 999px; background: #e6ebf4; }
.ymn-gm-done {
	width: 62px;
	height: 62px;
	border-radius: 50%;
	margin: 0 auto 12px;
	background: #e3f7ec;
	color: #16a34a;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: 800;
}

/* ---------- 11. Urdu / RTL ---------- */
.ymn-lang-ur,
.ymn-lang-ur .ymn-portal {
	font-family: "Noto Nastaliq Urdu", "Jameel Noori Nastaleeq", "Segoe UI", Tahoma, sans-serif;
}
.ymn-rtl .ymn-shell-content,
.ymn-rtl .ymn-card-v2,
.ymn-rtl .ymn-stat-card-v2,
.ymn-rtl .ymn-guide-text,
.ymn-rtl .ymn-tap-box,
.ymn-rtl .ymn-mem-modal-box,
.ymn-rtl .ymn-home-hero,
.ymn-rtl .ymn-home-tile,
.ymn-rtl .ymn-home-alert {
	direction: rtl;
	text-align: right;
}
.ymn-rtl .ymn-table-v2 thead th,
.ymn-rtl .ymn-table-v2 tbody td { text-align: right; }
.ymn-rtl .ymn-guide-text ul { padding-left: 0; padding-right: 18px; }
.ymn-rtl .ymn-tap-item { border-left: 1px solid #e8edf6; border-right: 3px solid #6d3fe0; }
.ymn-rtl .ymn-tap-item.is-late { border-right-color: #dc2626; }
.ymn-rtl .ymn-stat-card-v2:before { inset: 0 0 0 auto; }
.ymn-rtl .ymn-mem-modal-x,
.ymn-rtl .ymn-tap-x { right: auto; left: 14px; }
.ymn-rtl .ymn-gm-note { border-left: 1px solid #e6ebf4; border-right: 3px solid var(--ymn-gold); }
.ymn-rtl .ymn-search-bar input { text-align: right; }

/* ---------- 12. Responsive ---------- */
@media (max-width: 860px) {
	.ymn-guide-step.is-on { grid-template-columns: 1fr; gap: 18px; }
	.ymn-guide-visual { min-height: 170px; }
	.ymn-guide-text h4 { font-size: 18px; }
	.ymn-guide-foot { justify-content: center; }
	.ymn-mem-modal-box { max-width: 100%; padding: 0 16px 18px; }
	.ymn-tap-box { padding: 22px 18px 18px; }
	.ymn-tap-cta { min-width: 100%; }
}
@media print {
	.ymn-guide-overlay,
	.ymn-tap-overlay,
	.ymn-mem-modal,
	.ymn-lang-switch,
	.ymn-help-btn { display: none !important; }
}

/* =========================================================================
   v2.13.0 - Proper mobile experience. The portal now behaves like a native
   app on phones: bottom tab bar, slide-in drawer, sheet-style dialogs,
   safe-area aware chrome and touch-sized controls.
   Additive only - desktop layout above this line is untouched.
   ========================================================================= */

/* ---------- 0. Global mobile hygiene ---------- */
.ymn-portal {
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(10,31,68,.08);
}
.ymn-portal a,
.ymn-portal button {
	touch-action: manipulation;
}
body.ymn-drawer-lock {
	overflow: hidden;
}

/* The app-style bottom bar is a phone-only element. */
.ymn-mnav { display: none; }

/* ---------- 1. Phone + small tablet layout ---------- */
@media (max-width: 900px) {

	/* --- Shell --- */
	.ymn-shell {
		display: block;
		min-height: 100vh;
		min-height: 100dvh;
		background: var(--ymn-bg, #f5f7fb);
	}
	.ymn-shell-main {
		display: block;
		width: 100%;
	}

	/* --- Sticky app header --- */
	.ymn-topbar-slim {
		position: sticky;
		top: 0;
		z-index: 80;
		padding: 10px 12px;
		padding-top: calc(10px + env(safe-area-inset-top));
		padding-left: calc(12px + env(safe-area-inset-left));
		padding-right: calc(12px + env(safe-area-inset-right));
		box-shadow: 0 2px 14px rgba(10,31,68,.18);
		gap: 8px;
	}
	.ymn-topbar-brand-title {
		font-size: .74rem;
		line-height: 1.2;
		display: -webkit-box;
		-webkit-line-clamp: 1;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.ymn-topbar-right { gap: 6px; }
	.ymn-hamburger,
	.ymn-help-btn,
	.ymn-bell-wrap,
	.ymn-topbar-profile-btn {
		min-width: 40px;
		min-height: 40px;
	}
	.ymn-lang-switch { padding: 2px; }
	.ymn-lang-opt { min-width: 30px; padding: 5px 8px; font-size: 10.5px; }

	/* --- Slide-in drawer --- */
	.ymn-shell-sidebar {
		width: 86vw;
		max-width: 320px;
		border-radius: 0 20px 20px 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		padding-top: env(safe-area-inset-top);
		padding-bottom: env(safe-area-inset-bottom);
		box-shadow: 8px 0 40px rgba(6,18,40,.45);
		transition: transform .28s cubic-bezier(.2,.8,.3,1);
	}
	.ymn-sidebar-overlay.open {
		backdrop-filter: blur(2px);
	}
	.ymn-shell-nav a,
	.ymn-nav-parent {
		padding: 13px 14px;
		font-size: .85rem;
		border-radius: 11px;
	}
	.ymn-shell-nav a .dashicons,
	.ymn-nav-parent .dashicons {
		font-size: 19px;
		width: 19px;
		height: 19px;
	}

	/* --- Content gets room for the bottom bar --- */
	.ymn-shell-content {
		padding: 14px 12px calc(84px + env(safe-area-inset-bottom));
		padding-left: calc(12px + env(safe-area-inset-left));
		padding-right: calc(12px + env(safe-area-inset-right));
	}

	/* --- Bottom tab bar --- */
	.ymn-mnav {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 85;
		align-items: stretch;
		justify-content: space-around;
		gap: 2px;
		background: rgba(255,255,255,.94);
		backdrop-filter: saturate(180%) blur(14px);
		border-top: 1px solid #e4e9f2;
		padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
		box-shadow: 0 -4px 22px rgba(10,31,68,.1);
		transition: transform .25s ease;
	}
	.ymn-mnav.is-hidden { transform: translateY(120%); }
	.ymn-mnav-item {
		flex: 1 1 0;
		min-width: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		padding: 6px 2px;
		border: none;
		background: none;
		color: #6b7a90;
		text-decoration: none;
		font-size: 10px;
		font-weight: 700;
		border-radius: 12px;
		cursor: pointer;
		min-height: 50px;
		transition: color .15s ease, background .15s ease;
	}
	.ymn-mnav-item:active { background: #eef2fa; }
	.ymn-mnav-item.is-on { color: var(--ymn-navy, #0A1F44); }
	.ymn-mnav-ic {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 26px;
		border-radius: 999px;
		transition: background .18s ease;
	}
	.ymn-mnav-item.is-on .ymn-mnav-ic {
		background: #e8edf7;
	}
	.ymn-mnav-ic .dashicons {
		font-size: 19px;
		width: 19px;
		height: 19px;
		line-height: 19px;
	}
	.ymn-mnav-lbl {
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		letter-spacing: .1px;
	}
	.ymn-mnav-badge {
		position: absolute;
		top: -3px;
		right: 0;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border-radius: 999px;
		background: #dc2626;
		color: #fff;
		font-size: 9px;
		font-weight: 800;
		line-height: 16px;
		text-align: center;
		box-shadow: 0 0 0 2px #fff;
	}

	/* --- Cards and headings --- */
	.ymn-shell-content .ymn-card-v2 {
		padding: 15px 14px;
		border-radius: 14px;
		margin-bottom: 13px;
	}
	.ymn-shell-content .ymn-card-v2-head h3,
	.ymn-shell-content .ymn-toolbar-row h3 { font-size: 15.5px; }
	.ymn-shell-content .ymn-toolbar-row {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.ymn-shell-content .ymn-toolbar-row form,
	.ymn-shell-content .ymn-filters-row { width: 100%; }
	.ymn-shell-content .ymn-filters-row {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}
	.ymn-shell-content .ymn-filter-select,
	.ymn-shell-content .ymn-filters-row select {
		flex: 1 1 46%;
		min-width: 0;
	}

	/* --- Stat cards: two across, then one --- */
	.ymn-shell-content .ymn-stat-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	.ymn-shell-content .ymn-stat-card-v2 {
		padding: 13px 12px;
		gap: 10px;
		border-radius: 13px;
	}
	.ymn-shell-content .ymn-stat-card-v2 .dashicons {
		width: 36px;
		height: 36px;
		line-height: 36px;
		flex: 0 0 36px;
		font-size: 19px;
	}
	.ymn-shell-content .ymn-stat-card-v2 h4 { font-size: 19px; }
	.ymn-shell-content .ymn-stat-card-v2 p { font-size: 10px; }

	/* --- Home dashboard --- */
	.ymn-home-hero {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding: 18px 16px;
		border-radius: 16px;
	}
	.ymn-home-title { font-size: 20px; }
	.ymn-home-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ymn-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ymn-home-tile { padding: 14px 12px; border-radius: 14px; }
	.ymn-home-tile-ic { width: 40px; height: 40px; }
	.ymn-home-desc { display: none; }
	.ymn-home-alert { padding: 12px; }

	/* --- Tables: swipeable board with a frozen first column --- */
	.ymn-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		border-radius: 12px;
		scrollbar-width: thin;
	}
	.ymn-table-wrap::-webkit-scrollbar { height: 5px; }
	.ymn-table-wrap::-webkit-scrollbar-thumb {
		background: #c7d1e2;
		border-radius: 999px;
	}
	.ymn-shell-content .ymn-table-v2,
	.ymn-shell-content .ymn-table {
		min-width: 640px;
		font-size: 12px;
	}
	.ymn-shell-content .ymn-table-v2 thead th {
		padding: 10px 9px;
		font-size: 9.5px;
		white-space: nowrap;
	}
	.ymn-shell-content .ymn-table-v2 tbody td { padding: 10px 9px; }
	.ymn-shell-content .ymn-table-v2 tbody td:first-child,
	.ymn-shell-content .ymn-table-v2 thead th:first-child {
		position: sticky;
		left: 0;
		z-index: 3;
		background: #fff;
		box-shadow: 2px 0 6px rgba(10,31,68,.06);
	}
	.ymn-shell-content .ymn-table-v2 thead th:first-child {
		z-index: 4;
		background: #f6f8fc;
	}
	.ymn-shell-content .ymn-table-v2 tbody tr:hover td:first-child { background: #f8fafd; }

	/* Row actions wrap into a tidy touch-sized cluster. */
	.ymn-shell-content .ymn-icon-action {
		width: 36px;
		height: 36px;
		margin: 2px;
	}

	/* --- Forms: no iOS zoom, full-width fields --- */
	.ymn-shell-content .ymn-form-grid { grid-template-columns: 1fr; gap: 12px; }
	.ymn-shell-content .ymn-span-2 { grid-column: auto; }
	.ymn-portal input[type=text],
	.ymn-portal input[type=email],
	.ymn-portal input[type=password],
	.ymn-portal input[type=number],
	.ymn-portal input[type=date],
	.ymn-portal input[type=search],
	.ymn-portal input[type=tel],
	.ymn-portal select,
	.ymn-portal textarea {
		font-size: 16px;
		min-height: 44px;
		border-radius: 11px;
	}
	.ymn-portal textarea { min-height: 96px; }
	.ymn-shell-content .ymn-btn-primary,
	.ymn-shell-content .ymn-btn-secondary,
	.ymn-shell-content .ymn-icon-btn-outline,
	.ymn-shell-content .ymn-icon-btn-red {
		min-height: 46px;
		padding: 12px 18px;
		font-size: 14px;
		width: 100%;
		justify-content: center;
		text-align: center;
	}
	.ymn-shell-content .ymn-search-bar { padding: 2px 12px; border-radius: 13px; }
	.ymn-shell-content .ymn-search-bar input { font-size: 16px; }

	/* --- Dialogs become bottom sheets --- */
	.ymn-mem-modal,
	.ymn-tap-overlay {
		padding: 0;
		align-items: flex-end;
	}
	.ymn-mem-modal.is-open,
	.ymn-tap-overlay.is-open { align-items: flex-end; }
	.ymn-mem-modal-box,
	.ymn-tap-box {
		max-width: 100%;
		margin: 0;
		border-radius: 22px 22px 0 0;
		max-height: 92vh;
		max-height: 92dvh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: calc(20px + env(safe-area-inset-bottom));
		animation: ymnSheetUp .28s cubic-bezier(.2,.8,.3,1);
	}
	.ymn-mem-modal-box { padding-left: 16px; padding-right: 16px; }
	.ymn-mem-modal-box:before,
	.ymn-tap-box:before {
		content: "";
		display: block;
		width: 40px;
		height: 4px;
		border-radius: 999px;
		background: #d5dde9;
		margin: 10px auto 4px;
	}
	.ymn-mem-modal-actions { flex-direction: column; align-items: stretch; }
	.ymn-tap-actions { flex-direction: column; align-items: stretch; }
	.ymn-tap-later { width: 100%; }

	/* --- Onboarding guide goes full screen --- */
	.ymn-guide-overlay { padding: 0; }
	.ymn-guide-box {
		max-width: 100%;
		min-height: 100vh;
		min-height: 100dvh;
		border-radius: 0;
		display: flex;
		flex-direction: column;
	}
	.ymn-guide-head { padding-top: calc(16px + env(safe-area-inset-top)); }
	.ymn-guide-body { flex: 1; overflow-y: auto; padding: 18px 16px; }
	.ymn-guide-foot {
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		gap: 10px;
	}
	.ymn-guide-nav { flex: 1; justify-content: flex-end; }
	.ymn-guide-btn { min-height: 44px; padding: 11px 18px; }
	.ymn-guide-visual { min-height: 150px; padding: 14px; }

	/* --- Misc grids --- */
	.ymn-mcard-grid,
	.ymn-leader-grid,
	.ymn-dept-grid-v2,
	.ymn-export-cards,
	.ymn-rankings-grid,
	.ymn-bento-grid { grid-template-columns: 1fr; }
	.ymn-chart-wrap { overflow-x: auto; }
}

@keyframes ymnSheetUp {
	from { transform: translateY(100%); }
	to   { transform: none; }
}

/* ---------- 2. Narrow phones ---------- */
@media (max-width: 480px) {
	.ymn-shell-content { padding-left: 10px; padding-right: 10px; }
	.ymn-shell-content .ymn-stat-cards { grid-template-columns: 1fr; }
	.ymn-home-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ymn-home-grid { grid-template-columns: 1fr; }
	.ymn-mnav-lbl { font-size: 9px; }
	.ymn-topbar-brand-title { max-width: 46vw; }
	.ymn-shell-content .ymn-card-v2 { padding: 13px 12px; }
	.ymn-guide-text h4 { font-size: 17px; }
	.ymn-guide-text p { font-size: 13px; }
	.ymn-tap-title { font-size: 17px; }
	.ymn-mem-modal-title { font-size: 17px; }
}

/* ---------- 3. Installed app (Add to Home Screen) ---------- */
.ymn-standalone .ymn-topbar-slim {
	padding-top: calc(14px + env(safe-area-inset-top));
}
.ymn-standalone .ymn-portal {
	min-height: 100vh;
	min-height: 100dvh;
}

/* ---------- 4. Urdu / RTL on mobile ---------- */
@media (max-width: 900px) {
	.ymn-rtl .ymn-shell-sidebar {
		left: auto;
		right: 0;
		border-radius: 20px 0 0 20px;
		transform: translateX(100%);
		box-shadow: -8px 0 40px rgba(6,18,40,.45);
	}
	.ymn-rtl .ymn-shell-sidebar.open { transform: translateX(0); }
	.ymn-rtl .ymn-table-v2 tbody td:first-child,
	.ymn-rtl .ymn-table-v2 thead th:first-child {
		left: auto;
		right: 0;
		box-shadow: -2px 0 6px rgba(10,31,68,.06);
	}
	.ymn-rtl .ymn-mnav-badge { right: auto; left: 0; }
}

/* ---------- 5. Never print the app chrome ---------- */
@media print {
	.ymn-mnav { display: none !important; }
}

/* =========================================================================
   v2.13.1 - Mobile overflow repair + removal of the floating AI chatbot.

   v2.13.0 gave every data table a 640px minimum width. Only 13 of the 35
   tables in the portal actually sit inside a .ymn-table-wrap scroll box, so
   the unwrapped ones were forcing the whole document wider than the phone
   screen. That is what pushed headings, pills and the profile name off the
   right edge on every page. The floor now applies only to wrapped tables.
   ========================================================================= */

/* ---------- 1. Floating AI chatbot removed from the portal ---------- */
#ymn-bot-launcher,
#ymn-bot-panel {
	display: none !important;
}

/* ---------- 2. Nothing may make the page wider than the screen ---------- */
.ymn-portal,
.ymn-shell,
.ymn-shell-main,
.ymn-shell-content {
	max-width: 100%;
}
/* clip (not hidden) so position:sticky keeps working on the header. */
.ymn-shell,
.ymn-shell-main {
	overflow-x: clip;
}
.ymn-shell-content img,
.ymn-shell-content video,
.ymn-shell-content canvas,
.ymn-shell-content iframe,
.ymn-shell-content embed {
	max-width: 100%;
}
.ymn-shell-content img,
.ymn-shell-content canvas {
	height: auto;
}
.ymn-shell-content pre,
.ymn-shell-content code {
	white-space: pre-wrap;
	word-break: break-word;
}

@media (max-width: 900px) {

	.ymn-shell-content {
		overflow-x: clip;
		overflow-wrap: anywhere;
		word-wrap: break-word;
	}
	.ymn-shell-content > * {
		max-width: 100%;
	}

	/* --- The actual fix: undo the blanket 640px floor --- */
	.ymn-shell-content .ymn-table-v2,
	.ymn-shell-content .ymn-table {
		min-width: 0;
		max-width: 100%;
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	/* Tables that DO have a scroll wrapper keep the comfortable width. */
	.ymn-shell-content .ymn-table-wrap .ymn-table-v2,
	.ymn-shell-content .ymn-table-wrap .ymn-table {
		display: table;
		width: 100%;
		min-width: 640px;
		overflow: visible;
	}

	/* The frozen first column only works inside a scroll wrapper. */
	.ymn-shell-content .ymn-table-v2 tbody td:first-child,
	.ymn-shell-content .ymn-table-v2 thead th:first-child {
		position: static;
		box-shadow: none;
	}
	.ymn-shell-content .ymn-table-wrap .ymn-table-v2 tbody td:first-child,
	.ymn-shell-content .ymn-table-wrap .ymn-table-v2 thead th:first-child {
		position: sticky;
		left: 0;
		box-shadow: 2px 0 6px rgba(10,31,68,.06);
	}

	/* --- Header must shrink instead of spilling --- */
	.ymn-topbar-slim {
		flex-wrap: nowrap;
		max-width: 100%;
		overflow: hidden;
	}
	.ymn-topbar-brand {
		flex: 1 1 auto;
		min-width: 0;
		overflow: hidden;
	}
	.ymn-topbar-brand > div {
		min-width: 0;
		overflow: hidden;
	}
	.ymn-topbar-right {
		flex: 0 0 auto;
	}
	/* The signed-in name is a bare text node, so a display:none on a child can
	   never hide it. Zero the button font and restore it for the avatar only. */
	.ymn-topbar-profile-btn {
		font-size: 0;
		gap: 0;
		padding: 4px;
	}
	.ymn-topbar-profile-btn img,
	.ymn-topbar-profile-btn .ymn-avatar-fallback {
		font-size: 11px;
		margin: 0;
	}

	/* Role banner wraps rather than running off the edge. */
	.ymn-shell-topbar {
		max-width: 100%;
		overflow: hidden;
	}
	.ymn-shell-topbar h1 {
		flex-wrap: wrap;
		overflow-wrap: anywhere;
	}
	.ymn-shell-topbar h1 .ymn-role-pill {
		flex: 0 0 auto;
	}
	.ymn-shell-topbar p {
		overflow-wrap: anywhere;
	}

	/* Hero and wide widgets stay inside the screen. */
	.ymn-home-hero,
	.ymn-hero,
	.ymn-card-v2,
	.ymn-panel {
		max-width: 100%;
		overflow: hidden;
	}
	.ymn-home-hero:after {
		display: none;
	}
	.ymn-toolbar-row,
	.ymn-filters-row,
	.ymn-stat-cards,
	.ymn-home-stats,
	.ymn-home-grid {
		max-width: 100%;
	}

	/* Long words, emails and IDs wrap instead of stretching the layout. */
	.ymn-shell-content td,
	.ymn-shell-content th,
	.ymn-shell-content p,
	.ymn-shell-content h1,
	.ymn-shell-content h2,
	.ymn-shell-content h3,
	.ymn-shell-content h4,
	.ymn-shell-content a {
		overflow-wrap: anywhere;
	}

	/* Keep the tab bar above stray third-party widgets, but below our own
	   full-screen overlays (modal 96000, sheet 97000, guide 98000). */
	.ymn-mnav {
		z-index: 95000;
	}
	body.ymn-guide-lock .ymn-mnav,
	body.ymn-tap-lock .ymn-mnav,
	body.ymn-modal-lock .ymn-mnav {
		display: none;
	}
}

/* =========================================================================
   v2.13.2 - Contrast repair: white text sitting on a white background.

   The member welcome card is marked up as class="ymn-card-v2 ymn-member-welcome".
   Its original styling lives in a ONE-class rule (.ymn-member-welcome) that
   paints a navy gradient and sets color:#fff. The v2.12.0 design-system rule
   ".ymn-shell-content .ymn-card-v2" uses TWO classes, so it outranked that and
   repainted the card white - but the white text came from the one-class rule
   and stayed white. Result: the member name, Department, Department ID,
   Joining Date and Staff ID values were invisible, while the gold <strong>
   labels stayed readable because they set their own colour.
   ========================================================================= */

/* ---- 1. Portal-wide safety net -------------------------------------------
   Every white surface now declares its own readable text colour, so no child
   can ever inherit white text onto a white card again. Children that set their
   own colour are unaffected: a direct declaration always beats inheritance,
   whatever the specificity. */
.ymn-shell-content .ymn-card-v2,
.ymn-shell-content .ymn-panel,
.ymn-shell-content .ymn-stat-card-v2,
.ymn-shell-content .ymn-table-wrap,
.ymn-shell-content .ymn-rank-card,
.ymn-shell-content .ymn-fb-wrap,
.ymn-shell-content .ymn-fb-preview-card {
	color: #1e293b;
}

/* ---- 2. Restore the navy welcome card at three-class specificity ---- */
.ymn-shell-content .ymn-card-v2.ymn-member-welcome {
	background: linear-gradient(135deg, var(--ymn-navy), var(--ymn-navy-light));
	border: none;
	color: #fff;
}
.ymn-shell-content .ymn-card-v2.ymn-member-welcome h2,
.ymn-shell-content .ymn-card-v2.ymn-member-welcome h3,
.ymn-shell-content .ymn-card-v2.ymn-member-welcome p,
.ymn-shell-content .ymn-card-v2.ymn-member-welcome span,
.ymn-shell-content .ymn-card-v2.ymn-member-welcome .ymn-member-meta,
.ymn-shell-content .ymn-card-v2.ymn-member-welcome .ymn-member-welcome-inner {
	color: #fff;
}
/* Gold labels and the gold avatar fallback keep their own colours. */
.ymn-shell-content .ymn-card-v2.ymn-member-welcome .ymn-member-meta span strong {
	color: var(--ymn-gold);
}
.ymn-shell-content .ymn-card-v2.ymn-member-welcome .ymn-member-avatar-fallback {
	color: var(--ymn-navy);
}

/* ---- 3. Keep the known dark surfaces readable no matter what wraps them ----
   These already work today. Re-asserting the text colour inside .ymn-shell-content
   makes them immune to the same specificity trap in future releases. Only the
   text colour is restated - backgrounds are deliberately left untouched. */
.ymn-shell-content .ymn-home-hero,
.ymn-shell-content .ymn-home-hero h1,
.ymn-shell-content .ymn-home-hero h2,
.ymn-shell-content .ymn-home-hero p,
.ymn-shell-content .ymn-hero,
.ymn-shell-content .ymn-hero h1,
.ymn-shell-content .ymn-hero p,
.ymn-shell-content .ymn-grade-panel,
.ymn-shell-content .ymn-tc-head,
.ymn-shell-content .ymn-tc-head th {
	color: #fff;
}

/* ---- 4. Last-resort contrast guard ----------------------------------------
   If any element ends up with an explicitly white background it must not also
   carry white text. */
.ymn-shell-content [style*="background:#fff"],
.ymn-shell-content [style*="background: #fff"],
.ymn-shell-content [style*="background:#ffffff"],
.ymn-shell-content [style*="background: #ffffff"] {
	color: #1e293b;
}

/* ==========================================================================
   v2.14.0 - Volunteer Digital ID cards + leadership transitions
   ========================================================================== */

.ymn-status-pill.resigned { background: #ede9fe; color: #5b21b6; }

.ymn-promote-btn,
.ymn-resign-btn,
.ymn-reinstate-btn {
	border: 1px solid transparent;
	border-radius: 6px;
	padding: 5px 11px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .2px;
	cursor: pointer;
}
.ymn-promote-btn   { background: #e3f7ec; color: #15803d; border-color: #bbf7d0; }
.ymn-promote-btn:hover   { background: #16a34a; color: #fff; }
.ymn-resign-btn    { background: #f4f1fd; color: #5b21b6; border-color: #ddd6fe; }
.ymn-resign-btn:hover    { background: #6d3fe0; color: #fff; }
.ymn-reinstate-btn { background: #e8edf7; color: #0A1F44; border-color: #c7d2e6; }
.ymn-reinstate-btn:hover { background: #0A1F44; color: #fff; }

.ymn-idc-stage {
	display: flex;
	justify-content: center;
	padding: 28px 12px;
	background: #eef2f8;
	border-radius: 14px;
	margin-bottom: 18px;
}

.ymn-shell-content .ymn-idc-card,
.ymn-idc-card {
	width: 348px;
	box-sizing: border-box;
	padding: 0 0 18px;
	border-radius: 18px;
	background: linear-gradient(160deg, #0A1F44 0%, #14315f 52%, #0A1F44 100%);
	color: #ffffff;
	box-shadow: 0 18px 40px rgba(10, 31, 68, .28);
	border: 1px solid #0A1F44;
	overflow: hidden;
	position: relative;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}
.ymn-shell-content .ymn-idc-card * { color: inherit; }

.ymn-idc-card::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 6px;
	background: linear-gradient(90deg, #C9A24B 0%, #e6c97a 50%, #C9A24B 100%);
}

.ymn-idc-top {
	text-align: center;
	padding: 18px 16px 14px;
	border-bottom: 1px solid rgba(201, 162, 75, .35);
	background: rgba(255, 255, 255, .04);
}
.ymn-idc-crest { width: 58px; height: 58px; object-fit: contain; margin-bottom: 8px; display: inline-block; }
.ymn-shell-content .ymn-idc-org {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.6px;
	line-height: 1.35;
	color: #ffffff;
	margin: 0;
}
.ymn-shell-content .ymn-idc-org span {
	display: block;
	font-size: 11px;
	letter-spacing: 3px;
	color: #C9A24B;
	font-weight: 700;
}
.ymn-shell-content .ymn-idc-kind {
	display: inline-block;
	margin-top: 9px;
	padding: 4px 16px;
	border-radius: 999px;
	background: #C9A24B;
	color: #0A1F44;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 2px;
}

.ymn-idc-photo-wrap { display: flex; justify-content: center; margin: 18px 0 10px; }
.ymn-idc-photo {
	width: 108px;
	height: 108px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid #C9A24B;
	background: #14315f;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .3);
}
.ymn-shell-content .ymn-idc-photo-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 34px;
	font-weight: 800;
	color: #C9A24B;
}

.ymn-idc-identity { text-align: center; padding: 0 16px 12px; }
.ymn-shell-content .ymn-idc-identity h4 { margin: 0; font-size: 19px; font-weight: 800; color: #ffffff; line-height: 1.25; }
.ymn-shell-content .ymn-idc-identity p { margin: 4px 0 0; font-size: 12px; color: #C9A24B; font-weight: 600; }

.ymn-idc-rows { padding: 0 20px; margin-top: 4px; }
.ymn-idc-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 7px 0;
	border-bottom: 1px dashed rgba(255, 255, 255, .16);
	font-size: 12px;
}
.ymn-idc-row:last-child { border-bottom: none; }
.ymn-shell-content .ymn-idc-k { color: rgba(255, 255, 255, .62); font-weight: 600; white-space: nowrap; }
.ymn-shell-content .ymn-idc-v { color: #ffffff; font-weight: 700; text-align: right; word-break: break-word; }

.ymn-idc-note {
	margin: 14px 16px 0;
	padding: 10px 12px;
	border-radius: 9px;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(201, 162, 75, .3);
}
.ymn-shell-content .ymn-idc-note p { margin: 0; font-size: 9.5px; line-height: 1.5; color: rgba(255, 255, 255, .82); text-align: center; }
.ymn-shell-content .ymn-idc-note .ymn-idc-note-2 { margin-top: 5px; color: #C9A24B; font-weight: 700; }

.ymn-idc-foot { margin: 16px 16px 0; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .14); text-align: center; }
.ymn-idc-sign img { height: 42px; object-fit: contain; margin-bottom: 2px; filter: brightness(0) invert(1); }
.ymn-idc-sign-line { width: 130px; height: 1px; background: rgba(255, 255, 255, .5); margin: 26px auto 5px; }
.ymn-shell-content .ymn-idc-sign strong { display: block; font-size: 12px; color: #ffffff; font-weight: 800; }
.ymn-shell-content .ymn-idc-sign em { display: block; font-size: 9.5px; color: rgba(255, 255, 255, .66); font-style: normal; margin-top: 1px; }
.ymn-shell-content .ymn-idc-no { margin-top: 11px; font-size: 10px; letter-spacing: 1.3px; color: #C9A24B; font-weight: 700; }

.ymn-idc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; }
.ymn-idc-hint { font-size: 12px; color: #64748b; }
.ymn-idc-approved-by { font-size: 12px; color: #64748b; margin: 0; }
.ymn-idc-submitted { font-size: 12px; color: #64748b; }

.ymn-idc-state {
	display: flex;
	gap: 13px;
	align-items: flex-start;
	padding: 16px 18px;
	border-radius: 11px;
	margin-bottom: 18px;
	border: 1px solid transparent;
}
.ymn-idc-state .dashicons { font-size: 22px; width: 22px; height: 22px; flex: none; }
.ymn-idc-state strong { display: block; margin-bottom: 4px; font-size: 14px; }
.ymn-idc-state p { margin: 0 0 4px; font-size: 13px; line-height: 1.5; }
.ymn-idc-state.pending  { background: #fbf3e0; border-color: #f0dcae; color: #7a5b10; }
.ymn-idc-state.rejected { background: #fde8e8; border-color: #f5c2c2; color: #9b1c1c; }

.ymn-idc-form-head { margin-bottom: 14px; }
.ymn-idc-form-head h4 { margin: 0 0 3px; font-size: 16px; color: #0A1F44; }
.ymn-idc-form-head p { margin: 0; font-size: 13px; color: #64748b; }

.ymn-idc-photo-block {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 15px;
	border-radius: 11px;
	margin-bottom: 18px;
	border: 1px dashed #c7d2e6;
	background: #f8fafc;
}
.ymn-idc-photo-block.no-photo { border-color: #f0b4b4; background: #fdf2f2; }
.ymn-idc-photo-preview {
	width: 84px;
	height: 84px;
	border-radius: 50%;
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #e2e8f0;
	border: 2px solid #C9A24B;
}
.ymn-idc-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.ymn-idc-photo-preview .dashicons { font-size: 30px; width: 30px; height: 30px; color: #94a3b8; }
.ymn-idc-photo-copy strong { display: block; font-size: 14px; color: #1e293b; margin-bottom: 3px; }
.ymn-idc-photo-copy p { margin: 0 0 8px; font-size: 12.5px; color: #64748b; line-height: 1.5; }
.ymn-idc-file-lbl { display: block; font-size: 12px; font-weight: 700; color: #334155; }
.ymn-idc-file-lbl.req span { color: #dc2626; }
.ymn-idc-file-lbl input { display: block; margin-top: 5px; font-size: 12px; }

.ymn-req { color: #dc2626; }

.ymn-idc-declare { display: flex; gap: 9px; align-items: flex-start; margin: 16px 0; font-size: 12.5px; color: #475569; line-height: 1.5; }
.ymn-idc-declare input { margin-top: 2px; flex: none; }
.ymn-idc-form-actions { display: flex; gap: 10px; }

.ymn-idc-stat-v { display: block; font-size: 26px; font-weight: 800; color: #0A1F44; }
.ymn-idc-stat-l { display: block; font-size: 12px; color: #64748b; margin-top: 2px; }
.ymn-idc-cell { display: flex; align-items: center; gap: 9px; }
.ymn-idc-sm { padding: 5px 11px !important; font-size: 12px !important; }

.ymn-idc-pill { display: inline-block; padding: 3px 11px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.ymn-idc-pill.approved { background: #e3f7ec; color: #15803d; }
.ymn-idc-pill.rejected { background: #fde8e8; color: #b91c1c; }
.ymn-idc-pill.pending  { background: #fbf3e0; color: #a37c22; }

.ymn-idc-review { margin-top: 6px; }
.ymn-idc-review h4 { margin: 0 0 10px; font-size: 15px; color: #0A1F44; }
.ymn-idc-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.ymn-idc-review-grid > div { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 9px; padding: 10px 12px; }
.ymn-idc-review-grid span { display: block; font-size: 11px; color: #64748b; margin-bottom: 3px; }
.ymn-idc-review-grid strong { font-size: 13px; color: #1e293b; font-weight: 700; word-break: break-word; }
.ymn-idc-review-grid .ymn-span-2 { grid-column: span 2; }

.ymn-idc-decide-form { border-top: 1px solid #e2e8f0; padding-top: 14px; }
.ymn-idc-decide-form label { display: block; font-size: 12px; font-weight: 700; color: #334155; }
.ymn-idc-decide-form input[type="text"] { width: 100%; margin-top: 5px; }
.ymn-idc-decide-btns { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.ymn-idc-reject { color: #b91c1c !important; border-color: #f0b4b4 !important; }

.ymn-idc-sign-current { margin: 12px 0; }
.ymn-idc-sign-current span { display: block; font-size: 11px; color: #64748b; margin-bottom: 5px; }
.ymn-idc-sign-current img { height: 52px; object-fit: contain; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 7px; padding: 6px 12px; }

@media print {
	body.ymn-idc-printing * { visibility: hidden !important; }
	body.ymn-idc-printing .ymn-idc-card,
	body.ymn-idc-printing .ymn-idc-card * { visibility: visible !important; }
	body.ymn-idc-printing .ymn-idc-card {
		position: fixed !important;
		left: 50% !important;
		top: 16px !important;
		transform: translateX(-50%) !important;
		margin: 0 !important;
		box-shadow: none !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}
	body.ymn-idc-printing .ymn-no-print { display: none !important; }
}

@media (max-width: 640px) {
	.ymn-idc-stage { padding: 16px 0; }
	.ymn-shell-content .ymn-idc-card,
	.ymn-idc-card { width: 100%; max-width: 348px; }
	.ymn-idc-review-grid { grid-template-columns: 1fr; }
	.ymn-idc-review-grid .ymn-span-2 { grid-column: span 1; }
	.ymn-idc-photo-block { flex-direction: column; text-align: center; }
	.ymn-idc-actions { flex-direction: column; align-items: stretch; }
}


/* =========== v2.15.0 - Pending feedback list + chairman light theme =========== */

/* ---- The Pending KPI card is now a button that opens the list ---- */
.ymn-shell-content .ymn-stat-card-v2.ymn-fbp-trigger { cursor: pointer; width: 100%; font: inherit; text-align: left; position: relative; color: inherit; border-color: rgba(201,162,75,.5); }
.ymn-shell-content .ymn-stat-card-v2.ymn-fbp-trigger:hover { border-color: var(--ymn-gold); box-shadow: 0 6px 18px rgba(10,31,68,.13); }
.ymn-stat-card-v2.ymn-fbp-trigger span em { display: block; font-style: normal; font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; color: #8a6d1f; font-weight: 800; margin-top: 3px; }

/* ---- Overlay ---- */
body.ymn-fbp-lock { overflow: hidden; }
.ymn-fbp-overlay { position: fixed; inset: 0; z-index: 99500; background: rgba(6,17,38,.72); display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.ymn-fbp-overlay[hidden] { display: none; }
.ymn-fbp-modal { background: #ffffff; color: #1e293b; border-radius: 18px; width: 100%; max-width: 780px; max-height: 90vh; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 26px 70px rgba(0,0,0,.42); }
.ymn-fbp-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 20px 22px 16px; background: var(--ymn-navy); color: #ffffff; }
.ymn-fbp-head h3 { margin: 0; font-size: 1.08rem; color: #ffffff; }
.ymn-fbp-head p { margin: 4px 0 0; font-size: .84rem; color: #c3cee4; }
.ymn-fbp-x { flex-shrink: 0; width: 34px; height: 34px; border-radius: 10px; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08); color: #ffffff; font-size: 1.3rem; line-height: 1; cursor: pointer; }
.ymn-fbp-x:hover { background: var(--ymn-red); border-color: var(--ymn-red); color: #ffffff; }
.ymn-fbp-scroll { overflow-y: auto; padding: 20px 22px; background: #f5f7fb; }

/* ---- The printable sheet ---- */
.ymn-fbp-sheet { background: #ffffff; color: #1e293b; border: 1px solid var(--ymn-border); border-radius: 14px; padding: 24px 26px 20px; }
.ymn-fbp-brand { display: flex; align-items: center; gap: 14px; border-bottom: 3px solid var(--ymn-gold); padding-bottom: 14px; margin-bottom: 16px; }
.ymn-fbp-brand img { width: 52px; height: 52px; object-fit: contain; }
.ymn-fbp-brand strong { display: block; color: var(--ymn-navy); font-size: 1.02rem; }
.ymn-fbp-brand span { display: block; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: #8a6d1f; font-weight: 700; margin-top: 2px; }
.ymn-fbp-meta { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-bottom: 16px; }
.ymn-fbp-meta span { font-size: .85rem; color: #1e293b; font-weight: 600; }
.ymn-fbp-meta em { display: block; font-style: normal; font-size: .66rem; letter-spacing: .07em; text-transform: uppercase; color: #64748b; font-weight: 700; margin-bottom: 2px; }
.ymn-fbp-table { width: 100%; border-collapse: collapse; }
.ymn-fbp-table th { text-align: left; font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; color: #475569; padding: 9px 10px; border-bottom: 2px solid var(--ymn-border); background: #f8fafc; }
.ymn-fbp-table td { padding: 9px 10px; border-bottom: 1px solid #eef1f6; font-size: .87rem; color: #334155; vertical-align: top; }
.ymn-fbp-table td strong { display: block; color: var(--ymn-navy); font-weight: 700; }
.ymn-fbp-table td em { display: block; font-style: normal; font-size: .74rem; color: #64748b; margin-top: 1px; }
.ymn-fbp-table tbody tr:nth-child(even) td { background: #fbfcfe; }
.ymn-fbp-none { text-align: center; color: #15803d; font-weight: 600; padding: 26px 10px; }
.ymn-fbp-foot { margin: 16px 0 0; font-size: .72rem; color: #94a3b8; border-top: 1px solid var(--ymn-border); padding-top: 10px; }
.ymn-fbp-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; padding: 14px 22px; border-top: 1px solid var(--ymn-border); background: #ffffff; }

@media (max-width: 640px) {
	.ymn-fbp-overlay { padding: 0; }
	.ymn-fbp-modal { max-width: 100%; max-height: 100vh; border-radius: 0; }
	.ymn-fbp-scroll { padding: 14px; }
	.ymn-fbp-sheet { padding: 16px 14px 14px; }
	.ymn-fbp-actions button { flex: 1; }
}

/* ---- Print: isolate the sheet so Save as PDF gives a clean list ---- */
@media print {
	body.ymn-fbp-printing * { visibility: hidden !important; }
	body.ymn-fbp-printing .ymn-fbp-overlay, body.ymn-fbp-printing .ymn-fbp-overlay * { visibility: visible !important; }
	body.ymn-fbp-printing .ymn-fbp-overlay { position: absolute !important; inset: 0 !important; background: #ffffff !important; display: block !important; padding: 0 !important; z-index: 999999 !important; }
	body.ymn-fbp-printing .ymn-fbp-modal { max-width: 100% !important; max-height: none !important; box-shadow: none !important; border-radius: 0 !important; display: block !important; }
	body.ymn-fbp-printing .ymn-fbp-head, body.ymn-fbp-printing .ymn-fbp-actions { display: none !important; }
	body.ymn-fbp-printing .ymn-fbp-scroll { overflow: visible !important; padding: 0 !important; background: #ffffff !important; }
	body.ymn-fbp-printing .ymn-fbp-sheet { border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
	body.ymn-fbp-printing .ymn-fbp-table tbody tr { page-break-inside: avoid; }
}

/* ---- Chairman / executive dashboard now uses the Super Admin light theme ---- */
.ymn-chairman-shell { background: var(--ymn-bg); }
.ymn-chairman-shell .ymn-shell-main { background: var(--ymn-bg); }
.ymn-chairman-shell .ymn-shell-content { color: #1e293b; }
.ymn-chairman-topbar { background: #ffffff; border-bottom: 1px solid var(--ymn-border); }
.ymn-chairman-topbar h1 { color: var(--ymn-navy); }
.ymn-chairman-topbar p { color: #64748b; }

.ymn-chairman-shell .ymn-ch-card,
.ymn-chairman-shell .ymn-ch-kpi,
.ymn-chairman-shell .ymn-ch-report,
.ymn-chairman-shell .ymn-ch-period-bar,
.ymn-chairman-shell .ymn-ch-feed { background: #ffffff; border: 1px solid var(--ymn-border); box-shadow: 0 4px 14px rgba(10,31,68,.06); backdrop-filter: none; }
.ymn-chairman-shell .ymn-ch-report .ymn-ch-card { background: #f8fafc; box-shadow: none; }
.ymn-chairman-shell .ymn-ch-hero,
.ymn-chairman-shell .ymn-ch-top { background: linear-gradient(120deg, #fffdf6, #ffffff); border: 1px solid rgba(201,162,75,.45); backdrop-filter: none; }
.ymn-chairman-shell .ymn-ch-note { background: #f8fafc; }
.ymn-chairman-shell .ymn-ch-empty { background: #f8fafc; border: 1px solid var(--ymn-border); color: #64748b; }
.ymn-chairman-shell .ymn-ch-nodata { background: #fef2f2; border: 1px dashed #fca5a5; color: #b91c1c; }
.ymn-chairman-shell .ymn-ch-nodata strong { color: #7f1d1d; }
.ymn-chairman-shell .ymn-ch-kpi-accent { background: linear-gradient(135deg, #fdf6e6, #ffffff); border-color: rgba(201,162,75,.5); }
.ymn-chairman-shell .ymn-ch-kpi-accent .ymn-ch-kpi-num { color: #8a6d1f; }
.ymn-chairman-shell .ymn-ch-kpi-ic { background: #fdf4e3; color: #8a6d1f; }

.ymn-chairman-shell .ymn-ch-hero-body h2,
.ymn-chairman-shell .ymn-ch-hero-body strong,
.ymn-chairman-shell .ymn-ch-kpi-num,
.ymn-chairman-shell .ymn-ch-card-head h3,
.ymn-chairman-shell .ymn-ch-top h3,
.ymn-chairman-shell .ymn-ch-section-head h2,
.ymn-chairman-shell .ymn-ch-dept-top h3,
.ymn-chairman-shell .ymn-ch-dept-meta strong,
.ymn-chairman-shell .ymn-ch-report-head h2,
.ymn-chairman-shell .ymn-ch-table strong,
.ymn-chairman-shell .ymn-ch-feed h3,
.ymn-chairman-shell .ymn-ch-notif strong { color: var(--ymn-navy); }

.ymn-chairman-shell .ymn-ch-hero-body p,
.ymn-chairman-shell .ymn-ch-top p,
.ymn-chairman-shell .ymn-ch-kpi-lbl,
.ymn-chairman-shell .ymn-ch-card-head span,
.ymn-chairman-shell .ymn-ch-section-head p,
.ymn-chairman-shell .ymn-ch-dept-meta,
.ymn-chairman-shell .ymn-ch-dept-period,
.ymn-chairman-shell .ymn-ch-dept-score-num span,
.ymn-chairman-shell .ymn-ch-kpi-line-top,
.ymn-chairman-shell .ymn-ch-note ul,
.ymn-chairman-shell .ymn-ch-report-head p,
.ymn-chairman-shell .ymn-ch-feed-date,
.ymn-chairman-shell .ymn-ch-feed-msg,
.ymn-chairman-shell .ymn-ch-feed-foot,
.ymn-chairman-shell .ymn-ch-notif p,
.ymn-chairman-shell .ymn-ch-notif-time,
.ymn-chairman-shell .ymn-ch-period-bar label { color: #475569; }

.ymn-chairman-shell .ymn-ch-hero-tag,
.ymn-chairman-shell .ymn-ch-top-tag,
.ymn-chairman-shell .ymn-ch-report-tag,
.ymn-chairman-shell .ymn-ch-top strong,
.ymn-chairman-shell .ymn-ch-dept-score-num,
.ymn-chairman-shell .ymn-ch-back,
.ymn-chairman-shell .ymn-ch-feed-foot a,
.ymn-chairman-shell .ymn-ch-note.warn h4 { color: #8a6d1f; }
.ymn-chairman-shell .ymn-ch-back:hover { color: var(--ymn-navy); }
.ymn-chairman-shell .ymn-ch-note.ok h4 { color: #15803d; }

.ymn-chairman-shell .ymn-ch-table th { color: #475569; border-bottom: 2px solid var(--ymn-border); background: #f8fafc; }
.ymn-chairman-shell .ymn-ch-table td { color: #334155; border-bottom: 1px solid #eef1f6; }
.ymn-chairman-shell .ymn-ch-table tbody tr:hover { background: #f8fafc; }
.ymn-chairman-shell .ymn-ch-bar { background: #eef1f6; }

.ymn-chairman-shell .ymn-ch-toolbar input,
.ymn-chairman-shell .ymn-ch-toolbar select,
.ymn-chairman-shell .ymn-ch-period-bar select { background: #ffffff; border: 1px solid var(--ymn-border); color: #1e293b; }
.ymn-chairman-shell .ymn-ch-toolbar input::placeholder { color: #94a3b8; }

.ymn-chairman-shell .ymn-ch-notif { border-bottom: 1px solid #eef1f6; }
.ymn-chairman-shell .ymn-ch-notif-dot { background: #cbd5e1; }
.ymn-chairman-shell .ymn-ch-notif.unread { background: #fffaf0; }
.ymn-chairman-shell .ymn-ch-feed-foot { border-top: 1px solid #eef1f6; }

.ymn-chairman-shell .ymn-ch-pill.st-pending { background: #fdf4e3; color: #8a6d1f; }
.ymn-chairman-shell .ymn-ch-pill.st-progress { background: #e6efff; color: #1d4ed8; }
.ymn-chairman-shell .ymn-ch-pill.st-completed { background: #e6f7ed; color: #15803d; }
.ymn-chairman-shell .ymn-ch-pill.st-overdue { background: #fde8e8; color: #dc2626; }
.ymn-chairman-shell .ymn-ch-pill.pr-high { background: #fde8e8; color: #dc2626; }
.ymn-chairman-shell .ymn-ch-pill.pr-normal { background: #eef1f6; color: #475569; }
.ymn-chairman-shell .ymn-ch-pill.pr-low { background: #f1f5f9; color: #64748b; }

/* =========== v2.16.0 - Download App tab + install invitation =========== */

.ymn-app-wrap { display: flex; flex-direction: column; gap: 20px; }

.ymn-app-hero { display: flex; align-items: center; gap: 24px; background: linear-gradient(120deg, #fffdf6, #ffffff); border: 1px solid rgba(201,162,75,.45); border-radius: 16px; padding: 26px; box-shadow: 0 4px 14px rgba(10,31,68,.06); }
.ymn-app-hero .ymn-app-logo { width: 88px; height: 88px; object-fit: contain; flex: 0 0 auto; }
.ymn-app-hero-body { flex: 1 1 auto; min-width: 0; }
.ymn-app-tag { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8a6d1f; margin-bottom: 6px; }
.ymn-app-wrap .ymn-app-hero-body h2 { margin: 0 0 8px; font-size: 24px; color: var(--ymn-navy); }
.ymn-app-wrap .ymn-app-hero-body p { margin: 0; color: #475569; font-size: 14px; line-height: 1.6; }
.ymn-app-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.ymn-app-cta .ymn-btn-primary[disabled] { opacity: .55; cursor: not-allowed; }
.ymn-app-state { margin: 12px 0 0; font-size: 13px; color: #64748b; }
.ymn-app-state.is-ok { color: #15803d; font-weight: 600; }
.ymn-app-state.is-info { color: #8a6d1f; }

.ymn-app-apk { display: flex; align-items: center; gap: 18px; background: #ffffff; border: 1px solid var(--ymn-border); border-left: 4px solid var(--ymn-green); border-radius: 14px; padding: 20px 22px; }
.ymn-app-apk-ic { width: 48px; height: 48px; border-radius: 12px; background: #e6f7ed; color: #15803d; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.ymn-app-apk-ic .dashicons { font-size: 26px; width: 26px; height: 26px; }
.ymn-app-apk-body { flex: 1 1 auto; min-width: 0; }
.ymn-app-wrap .ymn-app-apk-body h3 { margin: 0 0 4px; font-size: 17px; color: var(--ymn-navy); }
.ymn-app-wrap .ymn-app-apk-body p { margin: 0; font-size: 13px; color: #475569; }
.ymn-app-apk-meta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 8px; }
.ymn-app-apk-meta span { font-size: 12px; color: #64748b; }
.ymn-app-apk-meta strong { color: var(--ymn-navy); }
.ymn-app-apk-btn { flex: 0 0 auto; }

.ymn-app-note { background: #fffaf0; border: 1px solid rgba(201,162,75,.5); border-radius: 12px; padding: 14px 18px; font-size: 13px; color: #6b5310; line-height: 1.6; }
.ymn-app-note strong { color: #8a6d1f; }

.ymn-app-wrap .ymn-app-h { margin: 6px 0 0; font-size: 18px; color: var(--ymn-navy); }

.ymn-app-ways { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ymn-app-way { background: #ffffff; border: 1px solid var(--ymn-border); border-radius: 14px; padding: 20px; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.ymn-app-way-head { display: flex; align-items: center; gap: 10px; }
.ymn-app-way-head .dashicons { color: var(--ymn-gold); font-size: 22px; width: 22px; height: 22px; }
.ymn-app-wrap .ymn-app-way-head h4 { margin: 0; font-size: 16px; color: var(--ymn-navy); }
.ymn-app-way-sub { margin: 4px 0 12px; font-size: 12px; color: #94a3b8; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.ymn-app-way ol { margin: 0; padding-left: 20px; }
.ymn-app-way ol li { font-size: 13px; color: #475569; line-height: 1.7; margin-bottom: 4px; }
.ymn-app-way ol li strong { color: var(--ymn-navy); }

.ymn-app-perks { background: #ffffff; border: 1px solid var(--ymn-border); border-radius: 14px; padding: 22px; }
.ymn-app-perks ul { margin: 12px 0 0; padding-left: 20px; }
.ymn-app-perks ul li { font-size: 13.5px; color: #475569; line-height: 1.8; }
.ymn-app-perks ul li strong { color: var(--ymn-navy); }

.ymn-app-admin { background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 14px; padding: 22px; }
.ymn-app-admin-help { margin: 10px 0 16px; font-size: 13px; color: #64748b; line-height: 1.6; }
.ymn-app-form .ymn-form-grid { margin-bottom: 14px; }

.ymn-app-pop { position: fixed; inset: 0; z-index: 96500; background: rgba(6,17,38,.72); display: flex; align-items: center; justify-content: center; padding: 20px; }
.ymn-app-pop[hidden] { display: none; }
body.ymn-app-lock { overflow: hidden; }
.ymn-app-pop-card { position: relative; width: 100%; max-width: 430px; background: #ffffff; border-radius: 18px; padding: 30px 28px 26px; box-shadow: 0 24px 60px rgba(6,17,38,.4); text-align: center; }
.ymn-app-pop-x { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #f1f5f9; color: #64748b; font-size: 20px; line-height: 1; cursor: pointer; }
.ymn-app-pop-x:hover { background: var(--ymn-red); color: #ffffff; }
.ymn-app-pop-top { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }
.ymn-app-pop-top img { width: 40px; height: 40px; object-fit: contain; }
.ymn-app-pop-top span { font-size: 12px; font-weight: 700; letter-spacing: .04em; color: #8a6d1f; }
.ymn-app-pop-card h3 { margin: 0 0 10px; font-size: 20px; color: var(--ymn-navy); }
.ymn-app-pop-card p { margin: 0 0 14px; font-size: 13.5px; color: #475569; line-height: 1.6; }
.ymn-app-pop-card ul { list-style: none; margin: 0 0 20px; padding: 0; text-align: left; }
.ymn-app-pop-card ul li { position: relative; padding-left: 24px; font-size: 13px; color: #334155; line-height: 1.9; }
.ymn-app-pop-card ul li:before { content: ""; position: absolute; left: 4px; top: 11px; width: 8px; height: 8px; border-radius: 50%; background: var(--ymn-gold); }
.ymn-app-pop-actions { display: flex; flex-direction: column; gap: 8px; }
.ymn-app-pop-actions .ymn-btn-primary { width: 100%; justify-content: center; text-align: center; }
.ymn-app-pop-later { border: 0; background: transparent; color: #64748b; font-size: 13px; padding: 8px; cursor: pointer; }
.ymn-app-pop-later:hover { color: var(--ymn-navy); }
.ymn-app-pop-link { display: inline-block; margin-top: 12px; font-size: 12px; color: #8a6d1f; text-decoration: underline; }

@media (max-width: 900px) {
	.ymn-app-ways { grid-template-columns: 1fr; }
	.ymn-app-hero { flex-direction: column; text-align: center; }
	.ymn-app-cta { justify-content: center; }
	.ymn-app-apk { flex-direction: column; text-align: center; }
	.ymn-app-apk-btn { width: 100%; text-align: center; }
	.ymn-app-apk-meta { justify-content: center; }
}
@media (max-width: 640px) {
	.ymn-app-hero { padding: 20px; }
	.ymn-app-wrap .ymn-app-hero-body h2 { font-size: 20px; }
	.ymn-app-pop-card { padding: 26px 20px 22px; }
}

/* =========== v2.17.0 - Clean portal chrome: YMN logo on public screens + no Home link =========== */
.ymn-auth-logo { display: block; height: 78px; width: auto; max-width: 200px; margin: 0 auto 6px; object-fit: contain; }
.ymn-landing-brand { text-align: center; }
.ymn-auth-head .ymn-auth-logo { margin-bottom: 10px; }
li.menu-item-home, li.current-menu-item.menu-item-home, li.page-item-home, .wp-block-home-link { display: none !important; }
@media (max-width: 640px) { .ymn-auth-logo { height: 60px; } }

/* =========== v2.18.0 - Overdue-only task PDF =========== */
.ymn-tc-pdfs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ymn-tc-pdf-overdue { background: #dc2626; color: #fff; }
.ymn-tc-pdf-overdue:hover { background: #b91c1c; color: #fff; }
.ymn-tc-note-pdf { display: inline-flex; align-items: center; gap: 5px; margin-left: 10px; font-weight: 700; color: #b3261e; text-decoration: none; }
.ymn-tc-note-pdf:hover { text-decoration: underline; }
.ymn-tc-note-pdf .dashicons { font-size: 15px; width: 15px; height: 15px; }
@media (max-width: 640px) {
	.ymn-tc-pdfs { width: 100%; }
	.ymn-tc-pdfs .ymn-tc-pdf { flex: 1 1 46%; justify-content: center; }
	.ymn-tc-note-pdf { margin-left: 0; display: flex; margin-top: 6px; }
}
@media print { .ymn-tc-pdfs, .ymn-tc-note-pdf { display: none !important; } }


/* =========== v2.19.0 - Department-accurate insights + three extra report formats =========== */
.ymn-fb-fmt { white-space: nowrap; }
.fbf-head { border-bottom: 3px solid #C9A24B; padding-bottom: 14px; margin-bottom: 18px; }
.fbf-org { margin: 0; font-size: 12px; letter-spacing: 1.6px; text-transform: uppercase; color: #C9A24B; font-weight: 700; }
.fbf-title { margin: 6px 0 2px; font-size: 26px; color: #0A1F44; line-height: 1.2; }
.fbf-sub { margin: 0 0 12px; font-size: 13.5px; color: #64748b; }
.fbf-meta { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.fbf-meta th { text-align: left; padding: 4px 8px 4px 0; color: #64748b; font-weight: 600; white-space: nowrap; width: 14%; }
.fbf-meta td { padding: 4px 18px 4px 0; color: #1f2937; }
.fbf-deptline { margin: 0 0 14px; padding: 9px 14px; background: #0A1F44; color: #fff; border-radius: 8px; font-size: 14px; font-weight: 700; }
.fbf-cmt { border: 1px solid #e6eaf0; border-left: 4px solid #C9A24B; border-radius: 0 10px 10px 0; padding: 12px 16px; margin: 0 0 14px; background: #fcfdff; }
.fbf-cmt-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px dotted #e2e8f0; }
.fbf-cmt-who { font-weight: 700; color: #0A1F44; font-size: 14.5px; }
.fbf-cmt-meta { font-size: 12px; color: #6b7280; }
.fbf-qa { margin: 0 0 9px; }
.fbf-qa-l { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 0.6px; color: #b3261e; font-weight: 700; margin-bottom: 2px; }
.fbf-qa-t { margin: 0; color: #374151; white-space: pre-line; }
.fbf-empty { text-align: center; color: #64748b; padding: 26px 10px; }
.fbf-list { margin: 0 0 16px; padding-left: 22px; }
.fbf-list li { margin-bottom: 9px; }
@media (max-width: 640px) { .fbf-meta th, .fbf-meta td { display: block; width: auto; padding: 2px 0; } .fbf-cmt-head { flex-direction: column; gap: 2px; } }
@media print { .fbf-cmt, .fbf-qa, .fbf-head { page-break-inside: avoid; } .fbf-deptline { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
