/* NewsWatch 3.1 additions: inherits the application's original design tokens. */
.nw31-main-tab { padding:6px 12px; border:0; border-radius:7px; background:transparent; color:var(--muted);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap; }
.nw31-main-tab:hover,.nw31-open .nw31-main-tab {background:var(--soft);color:var(--ink)}
.nw31-mobile-tab {display:none}
body.nw31-open #content > .view {display:none !important}
#nw31-workspace[hidden]{display:none !important}
.nw31-workspace{display:grid;gap:16px;min-width:0}
.nw31-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.nw31-title{font-size:clamp(22px,3vw,29px);margin:0;line-height:1.25;letter-spacing:-.03em}
.nw31-header .meta {margin-top:4px}
.nw31-subnav{display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid var(--line);padding-bottom:12px}
.nw31-subtab{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-size:13px;font-weight:650;padding:9px 13px;cursor:pointer}
.nw31-subtab.current{border-color:var(--accent);color:var(--ink);background:var(--soft)}
.nw31-error{padding:12px 15px;border-radius:9px;border:1px solid var(--down);color:var(--down);background:var(--panel)}
.nw31-body{display:grid;gap:15px;min-width:0}
.nw31-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nw31-stat{padding:16px;display:grid;gap:5px}
.nw31-stat-number{font:800 29px var(--font-mono);line-height:1.1;color:var(--ink)}
.nw31-stat-label{font-size:13px;font-weight:700;line-height:1.4;color:var(--muted)}
.nw31-line{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.nw31-line h2{font-size:17px;margin:0}
.nw31-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nw31-event{padding:15px;min-width:0;display:grid;align-content:start;gap:10px}
.nw31-event.is-read{opacity:.68}
.nw31-event h3{font-size:15px;line-height:1.45;margin:0;overflow-wrap:anywhere}
.nw31-event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px}
.nw31-ticker{font-family:var(--font-mono);font-size:13px;font-weight:800;color:var(--ink)}
.nw31-level{display:inline-flex;align-items:center;padding:4px 7px;font-size:11px;border-radius:5px;background:var(--soft);color:var(--muted);font-weight:750}
.nw31-level.high,.nw31-level.critical{background:color-mix(in srgb,var(--down) 12%,var(--panel));color:var(--down)}
.nw31-level.medium{background:color-mix(in srgb,var(--star) 12%,var(--panel));color:var(--ink)}
.nw31-event-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.nw31-event-actions a{text-decoration:none;display:inline-flex;align-items:center}
.nw31-empty{font-size:14px;color:var(--muted);background:var(--panel);border:1px dashed var(--line);border-radius:9px;padding:20px}
.nw31-toolbar{padding:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nw31-select,.nw31-input{padding:8px 10px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:7px;max-width:100%;font-size:14px;min-height:40px}
.nw31-intro,.nw31-alert-form{padding:17px;display:grid;gap:12px}
.nw31-intro h2,.nw31-alert-form h3{font-size:17px;margin:0}
.nw31-alert-form{align-items:start}
.nw31-field{display:grid;gap:6px;font-size:13px;font-weight:650;color:var(--muted);min-width:0}
.nw31-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px}
.nw31-alert-form>.primary{justify-self:start}
.nw31-profile-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:8px}
.nw31-profile-form>.primary{grid-column:1 / -1;justify-self:start}
.nw31-rule-list{display:grid;gap:8px}
.nw31-rule{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 15px}
.nw31-table{overflow-x:auto;padding:0}
.nw31-table-head,.nw31-table-row{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(280px,4fr) minmax(80px,1fr) 60px minmax(100px,1fr);gap:12px;min-width:760px;align-items:center;padding:11px 14px}
.nw31-table-head{background:var(--soft);color:var(--muted);font-size:12px;font-weight:700}
.nw31-table-row{border-top:1px solid var(--line);cursor:pointer;font-size:13px}
.nw31-table-row:hover{background:var(--hover)}
.nw31-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.nw31-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .nw31-main-tab{display:none}
 .nw31-mobile-tab{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:68px;padding:9px 5px;border:0;background:var(--panel);font-size:12px;color:var(--muted);font-weight:700}
 .nw31-open .nw31-mobile-tab{color:var(--accent);background:var(--soft)}
 .nw31-card-grid{grid-template-columns:1fr}
 .nw31-form-row,.nw31-profile-form{grid-template-columns:1fr}
 .nw31-subnav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin}
 .nw31-subtab{flex:none;min-height:44px}
 #bottomnav{overflow-x:auto}
}
@media(max-width:520px){
 .nw31-stats{gap:8px}
 .nw31-stat{padding:12px}
 .nw31-stat-number{font-size:23px}
 .nw31-stat-label{font-size:12px}
 .nw31-header{align-items:flex-start}
 .nw31-event-actions .ghost,.nw31-event-actions a{min-height:42px}
}
