/* Staff MonitorLeads administration: scoped to these pages, including rendered settings HTML. */
.monitor-admin-page { --monitor-ink:#173d59; --monitor-accent:#087c9f; color:var(--monitor-ink); max-width:1600px; margin:0 auto; padding:24px; }
.monitor-admin-page .monitor-hero { padding:24px 28px; margin-bottom:20px; border:1px solid #d5e6ef; border-top:4px solid #078bb2; border-radius:18px; background:linear-gradient(115deg,#edf8fc,#fff 75%); box-shadow:0 6px 24px #173d5907; flex-wrap:wrap; gap:12px; }
.monitor-hero h4 { font-size:1.65rem; font-weight:750; line-height:1.3; margin:6px 0; }
.monitor-eyebrow { display:block; font-size:.65rem; font-weight:800; letter-spacing:.12em; color:#37657d; }
.monitor-back { display:block; font-size:.75rem; margin-bottom:14px; color:#32677f; }
.monitor-subtitle,.monitor-section-heading p,.monitor-detail-heading p { color:#627e90; font-size:.8rem; margin:4px 0 0; }
.monitor-admin-page .monitor-metric { border:1px solid #d8e6ee; border-top:3px solid #31a4c1; border-radius:14px; background:#f2fafd; box-shadow:none; padding:17px 20px; }
.monitor-admin-page .mud-grid-item:nth-child(2) .monitor-metric { background:#fffaf0; border-top-color:#d5a44b; }
.monitor-admin-page .mud-grid-item:nth-child(3) .monitor-metric { background:#f3f6fc; border-top-color:#6b86bd; }
.monitor-metric h5 { margin-top:5px; font-size:1.25rem; font-weight:750; }
.monitor-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:20px 0 12px; }
.monitor-section-heading h2,.monitor-detail-heading h2 { font-size:1.15rem; font-weight:750; margin:0; }
.monitor-section-heading h3 { font-size:.95rem; font-weight:700; margin:0; }
.monitor-counter { padding:5px 10px; border-radius:20px; background:#eaf4f8; color:#315c73; font-size:.72rem; font-weight:700; white-space:nowrap; }
.monitor-admin-page .mud-data-grid { border:1px solid #d8e6ee; border-radius:14px; overflow:hidden; box-shadow:0 4px 18px #173d5906; background:white; }
.monitor-admin-page .mud-table-cell { padding:12px 14px; font-size:.78rem; border-bottom:1px solid #e7eff4; vertical-align:middle; }
.monitor-admin-page .mud-table-head .mud-table-cell { background:#edf5f9; color:#45677c; font-size:.7rem; font-weight:750; }
.monitor-admin-page .mud-table-body .mud-table-row:nth-child(even) { background:#fafcfe; }
.monitor-admin-page .mud-table-body .mud-table-row:hover { background:#eff8fc; }
.monitor-admin-page .mud-table-pagination { background:#f8fbfd; border-top:1px solid #e3edf3; }
.monitor-admin-page .mud-button { text-transform:none; letter-spacing:0; border-radius:9px; white-space:nowrap; font-weight:650; }
.monitor-status { display:inline-flex; padding:5px 9px; border-radius:20px; font-size:.7rem; font-weight:750; white-space:nowrap; background:#edf0f5; color:#586b7f; }
.monitor-status--active { background:#e6f5ef; color:#177257; }
.monitor-status--pendingapproval { background:#fff0d4; color:#8a5a10; }
.monitor-status--suspended { background:#f1edf7; color:#70548f; }
.monitor-detail-card { margin-top:24px; border:1px solid #d3e5ee; border-radius:18px; background:#fff; overflow:hidden; box-shadow:0 8px 24px #173d5908; }
.monitor-detail-heading { display:flex; align-items:center; gap:14px; padding:20px 24px; background:linear-gradient(115deg,#edf8fc,#fff); border-bottom:1px solid #dfebf2; }
.monitor-detail-heading>.monitor-status { margin-left:auto; }
.monitor-avatar { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; color:#087494; background:#dff1f8; font-size:1.3rem; font-weight:750; }
.monitor-admin-page .monitor-detail-tabs .mud-tabs-tabbar { background:#f7fafc; padding:8px 14px 0; }
.monitor-admin-page .monitor-detail-tabs .mud-tab { text-transform:none; font-weight:650; min-height:44px; border-radius:9px 9px 0 0; }
.monitor-admin-page .monitor-detail-tabs .mud-tab-active { background:white; color:#087a9b; }
.monitor-detail-tabs .mud-tabs-panels { padding:20px; }
.monitor-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.monitor-settings .settings-meta { grid-column:1/-1; padding:14px 18px; border-radius:10px; border:1px solid #cfe5ec; background:#f0f9fb; line-height:1.8; font-size:.77rem; }
.monitor-settings section { border:1px solid #dce8ef; border-radius:12px; padding:15px; background:#fff; }
.monitor-settings section:nth-of-type(4n+2) { background:#fcfbff; border-color:#e4dff0; }
.monitor-settings section:nth-of-type(4n+3) { background:#fafcf5; border-color:#e2e9d3; }
.monitor-settings h4 { display:flex; justify-content:space-between; gap:8px; margin:0 0 12px; font-size:.88rem; font-weight:750; color:#244c65; }
.monitor-settings h4 span { color:#73889a; font-size:.67rem; font-weight:500; }
.monitor-settings .setting-pill { display:inline-block; margin:0 5px 6px 0; padding:5px 9px; border-radius:7px; background:#edf4f8; color:#315e77; font-size:.74rem; }
.monitor-settings .empty-setting { color:#8495a3; font-size:.75rem; }
.monitor-admin-page .audit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:12px; }
.monitor-admin-page .audit-grid pre { max-height:300px; overflow:auto; white-space:pre-wrap; background:#f2f6fa; border-radius:10px; padding:14px; }
.monitor-admin-page details summary { color:#087a9b; cursor:pointer; font-weight:650; }
.monitor-note-composer { padding:18px; border:1px solid #d8dff0; background:linear-gradient(120deg,#f6f5fc,#f8fbfe); border-radius:13px; }
.monitor-note-composer .monitor-section-heading { margin-top:0; }
.monitor-private { padding:5px 8px; border-radius:6px; font-size:.62rem; font-weight:800; letter-spacing:.08em; color:#68548a; background:#eae6f5; }
.monitor-notes textarea { width:100%; resize:vertical; border:1px solid #cbdde8; border-radius:9px; padding:12px; background:#fff; color:#173d59; font:inherit; font-size:.8rem; min-height:90px; }
.monitor-notes textarea:focus { outline:2px solid #8fcadd; outline-offset:2px; }
.monitor-note-actions,.monitor-note-pagination { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:12px; }
.monitor-note-actions small,.monitor-note-pagination small { color:#6b8092; margin-right:auto; }
.monitor-note { border:1px solid #e1e8f0; border-left:3px solid #9d8fbe; padding:15px 18px; border-radius:10px; margin-bottom:10px; background:#fdfcfe; }
.monitor-note header { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:.74rem; color:#486681; }
.monitor-note time { color:#778b9b; font-size:.7rem; }
.monitor-note p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.82rem; margin:9px 0 0; line-height:1.6; }
.monitor-empty { padding:30px 16px; text-align:center; border:1px dashed #d5e2eb; border-radius:10px; color:#778e9d; font-size:.8rem; }
.monitor-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.monitor-admin-page .monitor-search-card { padding:18px 20px; border:1px solid #d7e5ee; border-radius:14px; margin-bottom:20px; box-shadow:none; }
@media(max-width:800px) {
 .monitor-admin-page { padding:14px; }
 .monitor-admin-page .monitor-hero { padding:18px; }
 .monitor-hero h4 { font-size:1.35rem; }
 .monitor-settings,.monitor-admin-page .audit-grid { grid-template-columns:1fr; }
 .monitor-detail-heading { padding:16px; }
 .monitor-detail-tabs .mud-tabs-panels { padding:14px; }
 .monitor-search-card .mud-stack { flex-wrap:wrap; }
}

.monitor-admin-page .audit-grid { min-width:480px; }
.monitor-audit-snapshot { min-width:0; border:1px solid #dce8ef; border-radius:10px; padding:12px; background:#f8fbfd; }
.monitor-audit-snapshot > strong { display:block; padding-bottom:10px; color:#315c73; }
.monitor-settings.monitor-audit-settings { display:block; max-height:380px; overflow:auto; }
.monitor-audit-settings section { padding:10px; margin-top:8px; }
.monitor-audit-settings h4 { font-size:.74rem; margin-bottom:8px; }
.monitor-audit-settings .setting-pill { font-size:.68rem; padding:4px 6px; }
.monitor-audit-summary { display:flex; flex-wrap:wrap; gap:8px 14px; font-size:.73rem; padding:8px 0; color:#41617a; }

.monitor-selection-search { width:100%; border:1px solid #d1e2ec; border-radius:8px; padding:8px 10px; margin:0 0 12px; background:#f9fcfe; color:#224c67; font:inherit; font-size:.76rem; }
.monitor-selection-search:focus { outline:2px solid #94cedf; outline-offset:1px; }
.monitor-selection-values { min-height:28px; }
.monitor-selection-pager { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #e1ebf2; margin-top:10px; padding-top:10px; }
.monitor-selection-pager small { color:#667f91; font-size:.68rem; }
.monitor-selection-pager > div { display:flex; align-items:center; gap:8px; }
.monitor-selection-pager > div > span { font-size:.67rem; color:#58758b; white-space:nowrap; }
.monitor-selection-pager button { padding:5px 9px; border:1px solid #cbdfe9; border-radius:7px; color:#176882; background:#f0f8fb; font-size:.69rem; font-weight:650; cursor:pointer; }
.monitor-selection-pager button:hover:enabled { background:#dff0f7; }
.monitor-selection-pager button:disabled { opacity:.45; cursor:default; }

.monitor-email-toggle { display:flex; align-items:center; gap:8px; font-size:.73rem; color:#31566e; cursor:pointer; white-space:nowrap; }
.monitor-email-toggle input { width:16px; height:16px; margin:0; accent-color:#087c9f; cursor:pointer; }
.monitor-email-toggle input:disabled { cursor:default; }
.monitor-email-toggle input:focus-visible { outline:2px solid #69abc3; outline-offset:3px; }
.monitor-email-hint { display:block; margin:5px 0 0 24px; color:#847257; font-size:.65rem; }
.monitor-email-explainer { color:#6c8191; font-size:.73rem; line-height:1.6; margin:10px 2px 0; }

/* Monitor download requests and approval history */
.monitor-download-limits { color:#24485f; }
.monitor-limit-overview { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding:20px; border:1px solid #d8def0; border-top:3px solid #8070ad; background:linear-gradient(120deg,#f5f2fb,#fff); border-radius:13px; }
.monitor-limit-overview h2 { margin:7px 0; font-size:1.55rem; font-weight:750; color:#514575; }
.monitor-limit-overview h2 small { font-size:.75rem; font-weight:500; color:#7b7193; }
.monitor-limit-overview p,.monitor-limit-compose p { font-size:.78rem; line-height:1.6; color:#688092; margin:6px 0; }
.monitor-limit-row-actions { display:flex; gap:7px; flex-wrap:wrap; align-items:center; }
.monitor-limit-history button,.monitor-download-limits button,.monitor-limit-link { border:1px solid #cbdce8; background:white; color:#355f7a; padding:7px 11px; border-radius:8px; font-size:.73rem; font-weight:650; cursor:pointer; }
.monitor-limit-history button:disabled,.monitor-download-limits button:disabled { opacity:.45; cursor:default; }
.monitor-download-limits .monitor-limit-primary,.monitor-limit-history .monitor-limit-primary { background:#725995; border-color:#725995; color:white; }
.monitor-limit-history .monitor-limit-approve { background:#eaf6ee; border-color:#bbdcca; color:#257247; }
.monitor-limit-guidance { font-size:.75rem; color:#728799; line-height:1.65; margin:12px 2px; }
.monitor-limit-table-wrap { border:1px solid #dce6ef; border-radius:11px; overflow:auto; background:#fff; }
.monitor-limit-table { width:100%; border-collapse:collapse; text-align:left; font-size:.76rem; }
.monitor-limit-table th { background:#eef3fa; color:#4a6382; padding:12px; font-size:.68rem; white-space:nowrap; }
.monitor-limit-table td { padding:13px 12px; border-bottom:1px solid #e6edf4; vertical-align:top; min-width:130px; }
.monitor-limit-table td:nth-child(2) { min-width:210px; max-width:360px; }
.monitor-limit-table tbody tr:nth-child(even) { background:#fafbfe; }
.monitor-limit-table small { display:block; color:#7a8c9b; font-size:.66rem; margin-top:6px; line-height:1.6; }
.monitor-limit-reason { margin:6px 0 0; color:#637a8c; font-size:.73rem; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; max-height:100px; overflow:auto; }
.monitor-limit-status { display:inline-block; padding:4px 8px; border-radius:20px; background:#edf0f5; color:#6a7c8a; font-size:.68rem; font-weight:750; }
.monitor-limit-status--pending { background:#fff3da; color:#906b28; }
.monitor-limit-status--approved { background:#e5f5eb; color:#267147; }
.monitor-limit-status--rejected,.monitor-limit-status--revoked { background:#faeaea; color:#a14d4d; }
.monitor-limit-compose { margin:18px 0; padding:20px; border:1px solid #ddd7ec; background:#faf8fd; border-radius:12px; }
.monitor-limit-compose h3 { margin:0 0 12px; font-size:1rem; font-weight:750; color:#594675; }
.monitor-limit-compose label { display:block; font-size:.76rem; font-weight:650; margin:14px 0 7px; color:#4f6780; }
.monitor-limit-compose label span { color:#8b7c9c; font-weight:400; font-size:.68rem; }
.monitor-limit-compose textarea,.monitor-limit-compose input,.monitor-limit-compose select { width:100%; border:1px solid #cddce8; border-radius:8px; padding:10px 12px; color:#274960; font:inherit; font-size:.78rem; background:#fff; }
.monitor-limit-compose textarea { min-height:85px; resize:vertical; }
.monitor-limit-compose select { max-width:420px; }
.monitor-limit-compose :is(textarea,input,select):focus { outline:2px solid #b9abd2; outline-offset:1px; }
.monitor-limit-compose .monitor-note { background:#fff; }
.monitor-limit-search { display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; }
.monitor-limit-search>div:first-child { flex:1; min-width:230px; }
.monitor-limit-search label { margin-top:0; }
.monitor-limit-search input { min-width:230px; }
.monitor-admin-page .monitor-limit-link { text-decoration:none; background:#f5f1fa; color:#71598e; }

/* Monitor row actions open above the page, with only the content scrolling. */
.monitor-profile-dialog.mud-dialog { width:calc(100vw - 48px); max-height:calc(100dvh - 48px); margin:24px; border:1px solid #cce1ed; border-top:4px solid #087c9f; border-radius:18px; overflow:hidden; }
.monitor-profile-dialog .mud-dialog-title { padding:0; flex-shrink:0; }
.monitor-profile-dialog .monitor-detail-heading { padding:18px 22px; gap:12px; }
.monitor-profile-dialog .monitor-detail-heading h2 { color:#173d59; }
.monitor-profile-dialog .mud-dialog-content { padding:0; min-height:0; overflow:auto; overscroll-behavior:contain; }
.monitor-profile-dialog .monitor-profile-body { max-width:none; margin:0; padding:0; }
.monitor-profile-dialog .monitor-detail-tabs .mud-tabs-panels { padding:20px; }
@media(max-width:600px) {
 .monitor-profile-dialog.mud-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); margin:8px; border-radius:12px; }
 .monitor-profile-dialog .monitor-detail-heading { padding:12px; gap:8px; }
 .monitor-profile-dialog .monitor-detail-heading h2 { font-size:1rem; }
 .monitor-profile-dialog .monitor-detail-heading p { overflow-wrap:anywhere; }
 .monitor-profile-dialog .monitor-avatar { display:none; }
 .monitor-profile-dialog .monitor-detail-tabs .mud-tabs-panels { padding:12px; }
}
