/* ConstructNav v0.9.8.1 — readability and actionable notification center */
:root{
  --cn-readable-navy:#071b31;
  --cn-readable-ink:#102b4e;
  --cn-readable-text:#263f5d;
  --cn-readable-muted:#5d7087;
  --cn-readable-line:#d6e1ec;
  --cn-readable-panel:#ffffff;
  --cn-readable-soft:#f5f8fc;
  --cn-readable-blue:#0b5f9e;
  --cn-readable-focus:#1f73b7;
}

/* Global contrast guardrails */
body{color:var(--cn-readable-text)}
.card,.cnx-card,.to-panel,.xe-library-panel,.receipt-card,.cn-fi-kpi,.cn-fi-finding,.cn-msg-main,.cn-msg-sidebar{color:var(--cn-readable-text)}
.card h1,.card h2,.card h3,.card h4,.cnx-card h1,.cnx-card h2,.cnx-card h3,.cnx-card h4{color:var(--cn-readable-ink)}
.muted,.cnx-muted,small,.helper,.hint,.receipt-meta,.xe-ai-status{color:var(--cn-readable-muted)}
input,select,textarea{color:var(--cn-readable-ink);background:#fff}
input::placeholder,textarea::placeholder{color:#71839a;opacity:1}
table{color:var(--cn-readable-text)}
thead th{color:#405976;background:#f3f7fb}
tbody td{color:var(--cn-readable-text)}
.btn:not(.primary):not(.danger),.icon-btn,.card-link{color:#16466f}
.btn:not(.primary):not(.danger):hover,.icon-btn:hover,.card-link:hover{color:#082d50;background:#eaf3fb}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(31,115,183,.35);outline-offset:2px}

/* Ensure text remains readable on dark surfaces */
.app>aside,.app>aside small,.app>aside .muted,.cn-msg-main-head,.cn-admin-company-banner,.to-viewer,.cn-signature-guest-banner,[class*="dark"],[class*="navy"]{--muted:#d5e4f1}
.app>aside #nav button:not(.active),.app>aside .company-chip,.app>aside .company-chip small,.cn-admin-company-banner,.cn-admin-company-banner p,.cn-admin-company-banner strong,.cn-msg-main-head,.cn-msg-main-head .muted,.to-empty{color:#f6f9fc}
.cn-admin-company-kicker{color:#ffe09a}
.cn-msg-thread.active small,.cn-msg-thread.active strong{color:#fff}
.pill,.badge,.receipt-category,.cn-ai-chip{font-weight:800}

/* Dashboard attention center */
.cn-home-alerts{margin-bottom:16px;border:1px solid #cbdbea;background:linear-gradient(180deg,#fff,#f8fbfe);box-shadow:0 3px 12px rgba(16,43,78,.08)}
.cn-home-alerts-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.cn-home-alerts-title{display:flex;align-items:center;gap:10px}
.cn-home-alerts-title h3{margin:0;color:var(--cn-readable-ink)}
.cn-home-alerts-count{display:inline-grid;min-width:28px;height:28px;place-items:center;padding:0 8px;border-radius:999px;background:#0b5f9e;color:#fff;font-weight:900}
.cn-home-alerts-actions{display:flex;gap:8px;flex-wrap:wrap}
.cn-home-alert-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.cn-home-alert-tab{border:1px solid #cbd9e6;background:#fff;color:#31516f;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}
.cn-home-alert-tab.active{background:#0b5f9e;color:#fff;border-color:#0b5f9e}
.cn-home-alert-list{display:grid;gap:8px}
.cn-home-alert{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 12px;border:1px solid #d8e3ed;border-radius:10px;background:#fff}
.cn-home-alert.unread{border-left:5px solid #0b5f9e;background:#f6fbff}
.cn-home-alert.urgent{border-left-color:#b42318;background:#fff8f7}
.cn-home-alert.warning{border-left-color:#c36b08;background:#fffaf1}
.cn-home-alert.success{border-left-color:#15875f;background:#f4fbf7}
.cn-home-alert-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;background:#eaf3fb;color:#0b5f9e;font-size:17px;font-weight:900}
.cn-home-alert-copy{min-width:0}
.cn-home-alert-copy strong{display:block;color:var(--cn-readable-ink);line-height:1.3}
.cn-home-alert-copy small{display:block;margin-top:3px;color:var(--cn-readable-muted);line-height:1.35}
.cn-home-alert-meta{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.cn-home-alert-time{font-size:11px;color:#697d91;white-space:nowrap}
.cn-home-alert-empty{padding:25px;text-align:center;border:1px dashed #cbd9e6;border-radius:10px;background:#fff;color:#5f7388}

/* Top notification panel */
#notificationBtn{position:relative;color:#113f67;background:#f4f8fc;border:1px solid #d4e0eb}
#notificationBtn:hover{background:#e7f1fa}
#notificationBadge{background:#b42318;color:#fff;border:2px solid #fff;font-size:10px;font-weight:900}
#notificationPanel{width:min(430px,calc(100vw - 28px));max-height:min(70vh,680px);overflow:hidden;background:#fff;color:var(--cn-readable-text);border:1px solid #cfdce8;box-shadow:0 18px 50px rgba(7,27,49,.24)}
.notification-head{color:var(--cn-readable-ink);background:#f4f8fc;border-bottom:1px solid #dbe5ee}
.cn-top-notification-list{max-height:560px;overflow:auto;padding:8px}
.cn-top-notification{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;width:100%;padding:10px;border:0;border-bottom:1px solid #e6edf4;background:#fff;text-align:left;color:var(--cn-readable-text)}
.cn-top-notification:hover{background:#f2f8fd}
.cn-top-notification.unread{background:#f6fbff}
.cn-top-notification strong{display:block;color:var(--cn-readable-ink)}
.cn-top-notification small{display:block;margin-top:2px;color:var(--cn-readable-muted)}
.cn-top-notification-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#e7f2fb;color:#0b5f9e;font-weight:900}
.cn-notification-panel-foot{display:flex;justify-content:space-between;gap:8px;padding:9px;border-top:1px solid #dbe5ee;background:#f8fafc}

@media(max-width:760px){
  .cn-home-alert{grid-template-columns:34px minmax(0,1fr)}
  .cn-home-alert-meta{grid-column:1/-1;justify-content:flex-start;padding-left:45px}
  .cn-home-alerts-head{display:block}
  .cn-home-alerts-actions{margin-top:10px}
}
