/* Comfortable type and stronger contrast across the workspace. */
body { font-size: 16px; line-height: 1.65; }
.topbar { background: #fff; }
.card { border-color: #cbd5df; box-shadow: 0 3px 14px #172c3b07; }
.page-heading p, .auth-intro, .section-subtitle { color: #475569; font-size: 15px; }
.text-xs { font-size: 14px !important; line-height: 1.65 !important; }
.text-sm { font-size: 16px !important; line-height: 1.65 !important; }
.text-slate-400, .text-slate-500, .text-gray-500 { color: #475569 !important; }
.text-indigo-600, .text-indigo-700 { color: #06645f !important; }
.text-red-600, .text-red-700 { color: #a12636 !important; }
.text-amber-700 { color: #78500c !important; }
.text-green-700 { color: #145740 !important; }
.nav-link { color: #dfebf0; font-size: 15px; padding: 13px 15px; }
.nav-link:hover { background: #204553; }
.nav-link.active { background: #285564; box-shadow: inset 4px 0 #81ead5; font-weight: 700; }
.nav-label, .brand-caption { color: #c4d8e2; font-size: 12px; letter-spacing: 1px; }
.brand-caption { max-width: 145px; line-height: 1.5; }
.sidebar-note, .user-email { color: #c4d8e2; font-size: 13px; }
.sidebar-note strong, .user-name { color: #fff; font-size: 14px; }
.logout { color: #e2eef3; font-size: 14px; }
.sidebar { overflow-y: auto; }
.breadcrumb, .topbar-meta { color: #475569; font-size: 14px; }
.breadcrumb strong { color: #243b4b; }
.breadcrumb span { color: #566b7b; }
.role-badge { color: #145740; background: #e4f2ec; border-color: #9fc8b5; font-size: 12px; }
.eyebrow { font-size: 12px; letter-spacing: 1.3px; }
.field { font-size: 16px; min-height: 48px; border-color: #7e929f; }
.field::placeholder { color: #526474; opacity: 1; }
.field:hover { border-color: #4b6575; }
.field:focus { border-color: #06645f; box-shadow: 0 0 0 3px #06645f25; }
.lab { color: #334b5c; font-size: 14px; }
.btn, .btn2 { font-size: 15px; min-height: 46px; align-self: flex-start; }
.btn { background: #06645f; border-color: #06645f; }
.btn:hover { background: #044e4a; border-color: #044e4a; }
.btn2 { color: #294454; border-color: #7e929f; }
.btn2:hover { background: #e9f1f3; border-color: #526b7a; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #087f79; outline-offset: 3px; }
.sidebar a:focus-visible, .sidebar button:focus-visible { outline-color: #81ead5; }
th { color: #334b5c; background: #e8eef3; font-size: 12px; letter-spacing: .45px; padding: 15px 13px; border-color: #cbd5df; }
td { font-size: 15px; color: #203a4b; border-color: #dce4eb; padding: 18px 13px; }
tr:nth-child(even) td { background: #f6f8fb; }
tr:hover td { background: #edf5f6; }
td[colspan] { color: #475569; }
td a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pill { font-size: 13px; line-height: 1.5; padding: 5px 10px; color: #334b5c; background: #eaf0f4; border-color: #b2c1cc; }
.pill[data-status="paid"], .pill[data-status="approved"], .pill[data-status="disbursed"], .pill[data-status="active"], .pill[data-status="issued"], .pill.bg-green-50 { color: #145740; background: #e4f2ec; border-color: #9fc8b5; }
.pill[data-status="pending"], .pill[data-status="partial"], .pill.bg-amber-50 { color: #78500c; background: #fff2d5; border-color: #d4b56c; }
.pill[data-status="rejected"] { color: #922333; background: #fce8ec; border-color: #dca6af; }
.pill[data-status="submitted"] { color: #1d4f7c; background: #e6effa; border-color: #a2bcd9; }
.pill[data-status="draft"], .pill[data-status="unverified"] { color: #455468; background: #edf0f5; border-color: #b1bdcc; }
.notice { font-size: 15px; }
.metric-label { color: #475569; font-size: 15px; font-weight: 600; }
.metric-caption { color: #475569; font-size: 14px; }
.metric-value { font-size: 30px; }
.section-heading h2 { font-size: 19px; }
.document-list li:before { color: #405b6b; background: #eaf0f4; border-color: #b2c1cc; font-size: 13px; }
.document-list li { border-color: #dce4eb; }
input[type=file] { font-size: 14px; }
input::file-selector-button { color: #145740; background: #e4f2ec; }
input[type=checkbox] { width: 18px; height: 18px; }
details>summary { min-height: 44px; padding: 9px 0; }
details>summary:after { color: #405b6b; }
details[open]>summary:after { content: '-'; }
.auth-story-content p, .auth-footer { color: #c4d8e2; font-size: 15px; }
.auth-switch, .auth-remember { color: #475569; font-size: 15px; }
.auth-switch a { color: #06645f; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
    .nav-link { font-size: 14px; min-height: 44px; }
    .breadcrumb { font-size: 13px; }
    .topbar { min-height: 68px; height: auto; padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; }
    .metric-value { font-size: 27px; }
    th, td { padding-left: 12px; padding-right: 12px; }
}
