:root {
  --bg: #eef4f8;
  --surface: #ffffff;
  --surface-soft: #f7fafc;
  --sidebar: #102f47;
  --sidebar-2: #163e5d;
  --blue: #1f577b;
  --blue-strong: #143f5e;
  --blue-soft: #e8f1f7;
  --terracotta: #c96f4b;
  --terracotta-dark: #a85435;
  --text: #152532;
  --muted: #6d7d88;
  --border: #d9e3e9;
  --success: #2d7d5c;
  --success-soft: #e8f5ee;
  --warning: #a56b1f;
  --warning-soft: #fff4dd;
  --danger: #b54747;
  --danger-soft: #fbeaea;
  --shadow: 0 18px 48px rgba(23, 55, 77, .10);
  --radius: 16px;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, "Segoe UI", Arial, sans-serif; color: var(--text); background: var(--bg); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.login-screen { min-height: 100vh; display: grid; place-items: center; padding: 32px; position: relative; overflow: hidden; background: linear-gradient(145deg, #0e2c42 0%, #17496c 52%, #edf4f8 52.2%, #edf4f8 100%); }
.login-atmosphere { position: absolute; width: 520px; height: 520px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; left: 7%; top: 14%; box-shadow: 0 0 0 60px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.018); }
.login-card { position: relative; width: min(470px, 100%); background: rgba(255,255,255,.97); border: 1px solid rgba(255,255,255,.7); border-radius: 24px; padding: 34px; box-shadow: 0 28px 80px rgba(7, 31, 48, .24); }
.brand-lockup { display: flex; gap: 12px; align-items: center; color: #fff; }
.brand-lockup-login { color: var(--blue-strong); margin-bottom: 34px; }
.brand-name { font-weight: 800; font-size: 15px; letter-spacing: .14em; }
.brand-sub { font-size: 10px; letter-spacing: .19em; opacity: .72; margin-top: 3px; }
.radar-mark { width: 42px; height: 42px; border: 1px solid currentColor; border-radius: 50%; position: relative; opacity: .95; }
.radar-mark span { position: absolute; border: 1px solid currentColor; border-radius: 50%; inset: 8px; opacity: .55; }
.radar-mark span:nth-child(2) { inset: 15px; opacity: .8; }
.radar-mark i { position: absolute; width: 18px; height: 1px; background: var(--terracotta); left: 20px; top: 20px; transform-origin: left center; transform: rotate(-38deg); }
.eyebrow { text-transform: uppercase; color: var(--terracotta); letter-spacing: .14em; font-weight: 800; font-size: 10px; }
.login-copy h1, .topbar h1 { margin: 7px 0 7px; font-size: 28px; letter-spacing: -.025em; }
.login-copy p { color: var(--muted); margin: 0 0 25px; line-height: 1.55; }
.form-stack { display: grid; gap: 14px; }
.form-stack label, .form-grid label { display: grid; gap: 7px; font-size: 12px; color: var(--muted); font-weight: 700; }
.form-stack label em { font-weight: 500; font-style: normal; }
input, select, textarea { width: 100%; border: 1px solid var(--border); background: #fff; color: var(--text); border-radius: 10px; padding: 11px 12px; outline: none; transition: .18s ease; }
input:focus, select:focus, textarea:focus { border-color: #73a0bd; box-shadow: 0 0 0 3px rgba(31,87,123,.10); }
.form-error { color: var(--danger); background: var(--danger-soft); border-radius: 9px; padding: 10px 12px; font-size: 12px; }
.local-preview-note { margin-top: 20px; color: #697b87; font-size: 11px; line-height: 1.5; background: #f4f8fa; border: 1px solid #e2ebf0; border-radius: 10px; padding: 11px; }
.local-preview-note code { color: var(--blue-strong); font-size: 10px; }

.btn { border: 0; border-radius: 10px; padding: 10px 14px; font-weight: 750; font-size: 12px; transition: transform .12s ease, background .15s ease, opacity .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.btn-primary { background: var(--terracotta); color: white; box-shadow: 0 8px 18px rgba(201,111,75,.20); }
.btn-primary:hover { background: var(--terracotta-dark); }
.btn-secondary { background: var(--blue-soft); color: var(--blue-strong); }
.btn-secondary:hover { background: #dcebf4; }
.btn-danger { background: var(--danger-soft); color: var(--danger); }
.btn-ghost { background: transparent; color: inherit; border: 1px solid currentColor; opacity: .85; }
.btn-small { padding: 7px 9px; font-size: 11px; border-radius: 8px; }
.btn-large { padding: 13px 16px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 235px 1fr; }
.sidebar { background: linear-gradient(180deg, var(--sidebar), #0e2b41); color: #fff; padding: 24px 16px 18px; display: flex; flex-direction: column; min-height: 100vh; position: sticky; top: 0; height: 100vh; }
.sidebar .brand-lockup { padding: 2px 8px 24px; }
.nav-list { display: grid; gap: 6px; margin-top: 12px; }
.nav-item { display: flex; gap: 11px; align-items: center; width: 100%; border: 0; color: rgba(255,255,255,.72); background: transparent; padding: 11px 12px; border-radius: 10px; text-align: left; font-weight: 650; font-size: 12px; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-item.active { background: rgba(255,255,255,.10); color: #fff; box-shadow: inset 3px 0 var(--terracotta); }
.nav-icon { width: 20px; text-align: center; font-size: 16px; color: #b7d3e4; }
.sidebar-bottom { margin-top: auto; display: grid; gap: 12px; }
.service-pill { display: flex; align-items: center; gap: 8px; font-size: 10px; color: rgba(255,255,255,.72); padding: 10px 11px; background: rgba(255,255,255,.055); border-radius: 9px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #8799a4; box-shadow: 0 0 0 3px rgba(255,255,255,.05); }
.status-dot.ok { background: #61c998; }
.status-dot.bad { background: #ef8484; }
.btn-sidebar { border-color: rgba(255,255,255,.16); color: #fff; }

.main-area { min-width: 0; }
.topbar { min-height: 92px; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 20px 30px; background: rgba(255,255,255,.80); border-bottom: 1px solid var(--border); backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 10; }
.topbar h1 { font-size: 24px; margin-bottom: 0; }
.topbar-actions { display: flex; align-items: center; gap: 14px; }
.admin-identity { display: flex; align-items: center; gap: 9px; padding-right: 4px; }
.admin-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--blue-strong); color: #fff; font-weight: 800; }
.admin-identity strong, .admin-identity span { display: block; }
.admin-identity strong { font-size: 11px; }
.admin-identity span { color: var(--muted); font-size: 10px; margin-top: 2px; }
.content { padding: 25px 30px 42px; }

.hero-panel { display: flex; justify-content: space-between; gap: 20px; align-items: center; background: linear-gradient(135deg, var(--blue-strong), #28698e); color: white; padding: 22px 24px; border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 20px; overflow: hidden; position: relative; }
.hero-panel:after { content: ""; position: absolute; width: 210px; height: 210px; border: 1px solid rgba(255,255,255,.10); border-radius: 50%; right: -45px; top: -62px; box-shadow: 0 0 0 40px rgba(255,255,255,.025), 0 0 0 85px rgba(255,255,255,.018); }
.hero-panel h2 { margin: 5px 0; font-size: 20px; }
.hero-panel p { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; }
.hero-meta { z-index: 1; display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.hero-chip { padding: 7px 9px; border-radius: 8px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.08); font-size: 10px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 20px; }
.metric-card { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 17px; box-shadow: 0 8px 24px rgba(20,63,94,.05); }
.metric-label { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.metric-value { font-size: 28px; font-weight: 820; margin: 8px 0 3px; letter-spacing: -.04em; }
.metric-note { color: var(--muted); font-size: 10px; line-height: 1.45; }
.metric-accent { border-top: 3px solid var(--terracotta); }

.grid-2 { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 16px; }
.panel { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(20,63,94,.045); overflow: hidden; }
.panel + .panel { margin-top: 16px; }
.panel-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 16px 18px; border-bottom: 1px solid var(--border); }
.panel-head h2 { font-size: 15px; margin: 0; }
.panel-head p { margin: 4px 0 0; font-size: 10px; color: var(--muted); }
.panel-body { padding: 16px 18px; }
.panel-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.panel-toolbar input, .panel-toolbar select { width: auto; min-width: 150px; padding: 8px 9px; font-size: 11px; }
.panel-toolbar input { min-width: 220px; }

.health-stack { display: grid; gap: 11px; }
.health-row { display: grid; grid-template-columns: 92px 1fr 34px; gap: 10px; align-items: center; font-size: 11px; }
.health-row strong { text-transform: capitalize; }
.health-track { height: 7px; border-radius: 999px; background: #eef2f5; overflow: hidden; }
.health-fill { height: 100%; border-radius: inherit; background: var(--blue); }
.health-fill.healthy { background: var(--success); }
.health-fill.warning { background: #d59a3d; }
.health-fill.degraded { background: var(--terracotta); }
.health-fill.failed { background: var(--danger); }
.health-fill.unknown { background: #a8b6bf; }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th { text-align: left; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; padding: 11px 12px; background: #f7fafc; border-bottom: 1px solid var(--border); }
td { padding: 12px; border-bottom: 1px solid #edf2f5; font-size: 11px; vertical-align: middle; }
tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fafcfd; }
.cell-primary { font-weight: 780; color: var(--text); }
.cell-secondary { color: var(--muted); font-size: 10px; margin-top: 3px; }
.mono { font-family: "Cascadia Mono", "Consolas", monospace; font-size: 10px; color: #536875; }

.chip { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 5px 8px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.chip:before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: .75; }
.chip-success { color: var(--success); background: var(--success-soft); }
.chip-warning { color: var(--warning); background: var(--warning-soft); }
.chip-danger { color: var(--danger); background: var(--danger-soft); }
.chip-neutral { color: #687b87; background: #edf2f5; }
.chip-blue { color: var(--blue); background: var(--blue-soft); }
.chip-terracotta { color: var(--terracotta-dark); background: #faeee8; }

.actions-inline { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
.empty-state { padding: 36px 20px; text-align: center; color: var(--muted); }
.empty-state strong { color: var(--text); display: block; margin-bottom: 5px; }
.loading-state { padding: 55px 20px; text-align: center; color: var(--muted); }
.spinner { display: inline-block; width: 18px; height: 18px; border: 2px solid #d7e2e8; border-top-color: var(--terracotta); border-radius: 50%; animation: spin .75s linear infinite; margin-bottom: 8px; }
@keyframes spin { to { transform: rotate(360deg); } }

.summary-list { display: grid; gap: 10px; }
.summary-item { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid #edf2f5; font-size: 11px; }
.summary-item:last-child { border-bottom: 0; }
.summary-item span { color: var(--muted); }
.summary-item strong { text-align: right; }
.progress-bar { height: 8px; background: #edf2f5; border-radius: 999px; overflow: hidden; }
.progress-bar > i { display: block; height: 100%; background: linear-gradient(90deg, var(--blue), #5d93b1); border-radius: inherit; }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; background: rgba(10, 28, 41, .55); display: grid; place-items: center; padding: 20px; backdrop-filter: blur(4px); }
.modal { width: min(570px, 100%); max-height: 88vh; overflow: auto; background: var(--surface); border-radius: 18px; box-shadow: 0 28px 90px rgba(5,26,42,.30); }
.customer-management-modal { width: min(1180px, 96vw); }
.customer-hero { display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(120deg,var(--blue-soft),#f9fcfe);padding:18px;border:1px solid #d7e6ef;border-radius:14px; }
.customer-hero h3 { margin:0 0 4px;font-size:20px; }.customer-hero p { margin:0;color:var(--muted);font-size:11px; }
.support-health { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0; }
.support-health-item { border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--surface-soft);min-width:0; }
.support-health-item span,.support-health-item strong { display:block;font-size:10px; }.support-health-item span{color:var(--muted);margin-bottom:5px}.support-health-item strong{overflow-wrap:anywhere}
.customer-tabs { display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--border);margin:0 -20px;padding:0 20px;scrollbar-width:thin; }
.customer-tab { border:0;background:transparent;padding:13px 14px;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap;border-bottom:3px solid transparent; }
.customer-tab:hover { color:var(--blue-strong);background:var(--surface-soft); }.customer-tab.active { color:var(--blue-strong);border-bottom-color:var(--terracotta); }
.customer-pane { display:none;padding-top:18px; }.customer-pane.active { display:block; }
.customer-pane h4 { margin:12px 0 8px;font-size:13px;color:var(--blue-strong); }
.detail-grid,.overview-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.overview-section { background:var(--surface-soft);border:1px solid #e1ebf0;border-radius:12px;padding:14px 16px; }.overview-section h4{margin-top:4px}
.section-kicker { color:var(--terracotta-dark);font-size:9px;font-weight:850;letter-spacing:.11em; }
.effective-summary { display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:#eef7f2;border:1px solid #cee6d8;border-radius:12px;padding:13px 14px;font-size:11px; }.effective-summary strong,.effective-summary span{display:block}.effective-summary span{color:var(--muted);margin-top:3px}.effective-summary details{color:var(--muted);max-width:50%}.effective-summary summary{cursor:pointer;color:var(--blue-strong);font-weight:750}.effective-summary p{margin:7px 0 0}
.sources-workspace { margin:18px 0;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft); }.sources-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.sources-heading h4{margin:4px 0}.sources-heading p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.source-counters { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0 12px; }.source-counter{padding:12px;border-radius:10px;background:#fff;border:1px solid var(--border)}.source-counter span,.source-counter strong{display:block}.source-counter span{color:var(--muted);font-size:10px;font-weight:750}.source-counter strong{font-size:22px;letter-spacing:-.04em;margin-top:4px}.source-counter small{font-size:12px;color:var(--muted);letter-spacing:0}.source-counter.active{background:var(--success-soft);border-color:#cce9d9}.source-counter.active strong{color:var(--success)}.source-counter.disabled{background:#f5f7f8}.source-counter.disabled strong{color:#647783}
.source-controls { display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 0 14px; }.source-controls input,.source-controls select{width:auto;min-width:145px;padding:8px 9px;font-size:11px}.source-controls input{min-width:230px}.source-sort-label{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:10px;font-weight:800}.status-filter{display:flex;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#fff}.status-filter button{border:0;border-right:1px solid var(--border);background:transparent;padding:8px 9px;color:var(--muted);font-weight:800;font-size:10px}.status-filter button:last-child{border-right:0}.status-filter button.active{background:var(--blue-strong);color:#fff}
.customer-sources-table { min-width:940px; }.customer-source-row.is-enabled td:first-child{border-left:3px solid var(--success)}.customer-source-row.is-disabled{background:#fbfcfd}.customer-source-row.is-disabled td:first-child{border-left:3px solid #95a6b0}.assignment-state{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;white-space:nowrap}.assignment-active{color:var(--success);background:var(--success-soft)}.assignment-disabled{color:#536875;background:#eaf0f3}.assignment-state span{font-size:12px;font-weight:900}.customer-source-row.is-disabled .cell-primary{color:#41525d}.history-kind{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:850;color:var(--blue-strong);background:var(--blue-soft)}.history-kind.source-change{color:#2f7558;background:var(--success-soft)}.history-kind.device-change{color:#795d35;background:var(--warning-soft)}.history-kind.account-change{color:#864b35;background:#faeee8}.history-kind.notification-change{color:#755073;background:#f5ebf5}.history-kind.support-change{color:#536875;background:#edf2f5}
.metric-grid.mini { grid-template-columns:repeat(3,1fr); }.metric-grid.mini .metric-value{font-size:22px}
.actions-inline.left { justify-content:flex-start; }.inline-diagnostic{display:flex;gap:8px}.diagnostic-result{margin-top:10px}
.modal-head { padding: 18px 20px; display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1px solid var(--border); }
.modal-head h2 { margin: 5px 0 0; font-size: 18px; }
.modal-body { padding: 20px; }
.icon-button { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 9px; background: #f0f4f7; color: var(--muted); font-size: 20px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-grid .span-2 { grid-column: 1/-1; }
.form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.help-text { font-size: 10px; color: var(--muted); line-height: 1.5; margin-top: 5px; }
.ai-import-meta { margin-bottom: 14px; }
.ai-issue-facts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px; }
.ai-issue-facts > div { min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:#fff; }
.ai-issue-facts span,.ai-issue-facts strong,.ai-issue-facts code { display:block;overflow-wrap:anywhere; }
.ai-issue-facts span { color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em; }
.ai-issue-facts strong,.ai-issue-facts code { margin-top:3px;color:var(--text);font-size:11px; }
.ai-copy-control,.ai-profile-id { display:flex;align-items:center;gap:7px;min-width:0;margin-top:3px; }
.ai-copy-control code,.ai-profile-id code { flex:1;min-width:0;margin-top:0;overflow-wrap:anywhere; }
.ai-copy-control .btn,.ai-profile-id .btn { flex:0 0 auto; }
.ai-copy-actions { margin-top:12px; }
.ai-assigned-profiles { margin-top:14px; }
.ai-assigned-profiles h5 { margin:0 0 7px;color:var(--blue-strong);font-size:11px; }
.ai-profile-list { display:grid;gap:6px;margin:0;padding:0;list-style:none; }
.ai-profile-list li { display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:3px 8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:10px; }
.ai-profile-list li > span,.ai-profile-id { grid-column:1/-1;color:var(--muted);overflow-wrap:anywhere; }
.ai-profile-list .chip { justify-self:end; }
.ai-import-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 12px 0; }
.ai-import-summary > div { padding: 10px; border: 1px solid var(--border); border-radius: 9px; background: #fff; }
.ai-import-summary strong, .ai-import-summary span { display: block; }
.ai-import-summary strong { font-size: 19px; color: var(--blue-strong); }
.ai-import-summary span { margin-top: 2px; font-size: 9px; color: var(--muted); font-weight: 800; }
.modal textarea { width: 100%; min-height: 180px; resize: vertical; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; line-height: 1.45; }

.print-issue-review-counts { display:flex;flex-wrap:wrap;gap:4px;margin:0 0 7px; }
.print-issue-review-counts span { display:inline-flex;border-radius:999px;padding:3px 6px;font-size:9px;font-weight:850;white-space:nowrap; }
.print-issue-review-counts .pending { color:#8a651f;background:var(--warning-soft); }
.print-issue-review-counts .published { color:var(--success);background:var(--success-soft); }
.print-issue-review-counts .rejected { color:var(--danger);background:#fdeeee; }
.print-review-hero { display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px;border:1px solid #d7e6ef;border-radius:14px;background:linear-gradient(120deg,var(--blue-soft),#f9fcfe); }
.print-review-hero h3 { margin:3px 0 4px;font-size:20px;color:var(--blue-strong); }
.print-review-hero p { margin:0;color:var(--muted);font-size:11px;overflow-wrap:anywhere; }
.print-review-counts { display:grid;grid-template-columns:repeat(3,minmax(80px,1fr));gap:8px;min-width:280px; }
.print-review-counts > div { padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;text-align:center; }
.print-review-counts strong,.print-review-counts span { display:block; }
.print-review-counts strong { font-size:21px;letter-spacing:-.04em; }
.print-review-counts span { margin-top:2px;font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase; }
.print-review-counts .pending strong { color:#9a7021; }.print-review-counts .published strong { color:var(--success); }.print-review-counts .rejected strong { color:var(--danger); }
.print-review-workflow { display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0;padding:10px 12px;border:1px dashed #c9d9e3;border-radius:10px;background:#fbfdfe;color:var(--muted);font-size:10px; }
.print-review-workflow strong { color:var(--blue-strong); }.print-review-workflow b { color:var(--terracotta);font-size:14px; }
.print-review-toolbar { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px; }
.print-review-filter { display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap; }
.print-review-filter select { width:auto;min-width:135px;padding:8px 9px;font-size:11px; }
.print-review-candidates h4 { margin:0 0 5px;color:var(--blue-strong);font-size:14px; }
.print-review-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px; }
.print-review-candidate { display:flex;flex-direction:column;gap:9px;min-width:0;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fff; }
.print-review-candidate[hidden] { display:none; }
.print-review-candidate-head { display:flex;justify-content:space-between;align-items:flex-start;gap:8px; }
.print-review-candidate-head strong { display:block;margin-top:3px;color:var(--text);font-size:12px;overflow-wrap:anywhere; }
.print-review-candidate h5 { margin:0;color:var(--blue-strong);font-size:13px;line-height:1.35; }
.print-review-excerpt { margin:0;color:#435865;font-size:11px;line-height:1.55; }
.print-review-excerpt.muted { color:var(--muted);font-style:italic; }
.print-review-evidence { display:grid;gap:5px;padding:9px 10px;border-radius:9px;background:#f7fafc;color:var(--muted);font-size:10px;line-height:1.4; }
.print-review-evidence strong { color:var(--blue-strong);font-size:9px;text-transform:uppercase;letter-spacing:.05em; }
.print-review-evidence span { display:flex;flex-wrap:wrap;gap:4px; }
.print-review-evidence i { font-style:normal;color:#586d79;background:#edf3f6;border-radius:999px;padding:3px 6px; }
.print-review-candidate-meta { display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:9px; }
.print-review-candidate-meta span { border-left:2px solid #d8e5eb;padding-left:6px; }
.print-review-actions { margin-top:auto; }
.print-review-preview { position:sticky;bottom:0;z-index:2;margin-top:16px;border:1px solid #c9d9e3;border-radius:13px;background:#fff;box-shadow:0 14px 32px rgba(20,63,94,.15);overflow:auto;max-height:72vh; }
.print-review-preview[hidden] { display:none; }
.print-review-preview-head { display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1;padding:10px 12px;background:#f7fafc;border-bottom:1px solid var(--border);font-size:11px;color:var(--blue-strong); }
.print-review-preview img { display:block;max-width:100%;height:auto;margin:0 auto; }

.toast-stack { position: fixed; right: 20px; bottom: 20px; z-index: 200; display: grid; gap: 8px; width: min(360px, calc(100vw - 40px)); }
.toast { background: #112f45; color: white; padding: 12px 14px; border-radius: 11px; box-shadow: 0 16px 36px rgba(7,31,48,.22); font-size: 11px; line-height: 1.45; border-left: 3px solid var(--terracotta); animation: toastIn .18s ease-out; }
.toast.success { border-left-color: #65c89a; }
.toast.error { border-left-color: #ef8585; }
@keyframes toastIn { from { transform: translateY(6px); opacity: 0; } }

@media (max-width: 1050px) {
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .grid-2 { grid-template-columns: 1fr; }
  .support-health { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .app-shell { grid-template-columns: 74px 1fr; }
  .sidebar { padding: 18px 9px; }
  .sidebar .brand-lockup > div:last-child, .nav-item span:last-child, .sidebar-bottom .service-pill span:last-child, .btn-sidebar { display: none; }
  .sidebar .brand-lockup { justify-content: center; padding-inline: 0; }
  .radar-mark { width: 36px; height: 36px; }
  .nav-item { justify-content: center; padding: 12px 8px; }
  .nav-icon { width: auto; }
  .topbar, .content { padding-left: 16px; padding-right: 16px; }
  .admin-identity { display: none; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .hero-panel { align-items: flex-start; flex-direction: column; }
  .hero-meta { justify-content: flex-start; }
  .support-health { grid-template-columns:repeat(2,1fr); }.detail-grid,.overview-grid{grid-template-columns:1fr}.source-counters{grid-template-columns:1fr}.effective-summary{display:grid}.effective-summary details{max-width:none}.sources-heading{align-items:stretch;flex-direction:column}.source-controls input{min-width:min(100%,230px)}.ai-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-issue-facts{grid-template-columns:1fr}
}
@media (max-width: 520px) {
  .login-screen { padding: 18px; background: #edf4f8; }
  .login-atmosphere { display: none; }
  .login-card { padding: 24px; }
  .metric-grid { grid-template-columns: 1fr; }
  .topbar { align-items: flex-start; }
  .topbar-actions { margin-top: 4px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: auto; }
}

@media (max-width: 760px) {
  .print-review-hero { flex-direction:column; }
  .print-review-counts { width:100%;min-width:0; }
  .print-review-toolbar { align-items:stretch;flex-direction:column; }
  .print-review-filter { justify-content:space-between; }
  .print-review-filter select { flex:1; }
  .print-review-grid { grid-template-columns:1fr; }
  .print-review-workflow { align-items:flex-start; }
}
