/* Vesorio design system: shared foundations for the storefront and private workspace. */
:root {
  color-scheme: light;
  --bg: #f7f8fa; --surface: #fff; --raised: #fff; --text: #20252e;
  --muted: #687080; --line: #e5e8ed; --accent: #17695c; --soft: #edf5f2;
  --green: #17695c; --danger: #b33945; --shadow: 0 8px 28px #172b4010;
  --radius: 12px; --focus: #3379cf;
}
:root.dark {
  color-scheme: dark;
  --bg: #111419; --surface: #191e25; --raised: #20262e; --text: #edf0f5;
  --muted: #a5adbb; --line: #2c333e; --accent: #80cebb; --soft: #21362f;
  --green: #80cebb; --danger: #ff959f; --shadow: 0 8px 28px #0002;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--bg); color: var(--text); font: 14px/1.65 'Segoe UI',Tahoma,Arial,sans-serif; }
a { color: inherit; text-decoration: none; }
button,input,select,textarea { font: inherit; }
button,a,input,select,textarea,summary { outline-offset: 4px; }
:focus-visible { outline: 2px solid var(--focus); }
button,.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 7px 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--text); font-size: 13px; font-weight: 600; line-height: 1.5; cursor: pointer; transition: background .15s,border-color .15s; }
button:hover,.button:hover { background: var(--soft); border-color: var(--accent); }
button:disabled { opacity: .45; cursor: default; }
.primary { background: #17695c; border-color: #17695c; color: #fff; }
.primary:hover { background: #125748; border-color: #125748; }
.quiet { background: transparent; border-color: transparent; }
.danger { color: var(--danger); }
.small { font-size: 12px; }
button.small,.button.small { min-height: 30px; padding: 4px 10px; }
.ui-icon { width: 19px; height: 19px; flex-shrink: 0; vertical-align: middle; }
header { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 28px; min-height: 72px; padding: 12px max(28px,calc((100vw - 1264px)/2)); background: var(--surface); border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 9px; font-size: 23px; font-weight: 750; letter-spacing: -.8px; flex-shrink: 0; }
.brand img { width: 31px; height: 31px; }
.header-links { display: flex; gap: 22px; color: var(--muted); }
.header-links a:hover { color: var(--accent); }
.header-tools { margin-inline-start: auto; display: flex; align-items: center; gap: 10px; }
.header-tools select { font-size: 12px; min-height: 34px; padding: 5px 8px; max-width: 118px; border-color: transparent; background: transparent; }
.header-tools #theme { padding: 6px; width: 34px; min-height: 34px; }
.community-actions { display: flex; gap: 5px; align-items: center; padding-inline-end: 12px; border-inline-end: 1px solid var(--line); }
.community-actions button { min-height: 34px; font-size: 12px; padding: 6px 10px; background: transparent; border-color: transparent; }
.community-actions button:first-child { background: var(--soft); color: var(--accent); }
.community-actions button:hover { border-color: var(--accent); }
main { width: 100%; max-width: 1264px; padding: 32px 28px 64px; margin-inline: auto; min-height: calc(100vh - 190px); }
h1,h2,h3,h4,p { overflow-wrap: anywhere; }
h1 { font-size: 30px; line-height: 1.3; letter-spacing: -.6px; margin: 0 0 12px; font-weight: 700; }
h2 { font-size: 21px; line-height: 1.4; margin: 0 0 16px; }
h3 { font-size: 16px; line-height: 1.4; margin: 0 0 6px; }
h4 { font-size: 14px; margin: 16px 0 8px; }
.intro { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 26px; }
.intro p { color: var(--muted); margin: 0; max-width: 600px; }
.store-hero { background: #202c2b; color: #f3f7f5; border-radius: var(--radius); padding: 32px 36px; min-height: 180px; display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 26px; }
.store-hero h1 { font-size: clamp(25px,3vw,36px); letter-spacing: -.7px; max-width: 580px; }
.store-hero p { color: #b7cac4; max-width: 560px; margin: 0; font-size: 14px; }
.eyebrow { display: flex; gap: 7px; align-items: center; font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
.store-hero .eyebrow { color: #a3d5c4; }
.stats-inline { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; padding-inline-start: 30px; border-inline-start: 1px solid #52635c; }
.stats-inline strong { display: block; font-size: 25px; font-weight: 650; font-variant-numeric: tabular-nums; }
.stats-inline span { color: #b7cac4; font-size: 12px; white-space: nowrap; }
.searchbar { display: flex; gap: 10px; align-items: center; max-width: 720px; margin: 0 auto 24px; padding: 6px 8px 6px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 9px; }
.searchbar:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--soft); }
.searchbar > .ui-icon { color: var(--muted); }
.searchbar input { border: 0; background: transparent; flex: 1; font-size: 14px; padding: 8px; }
.searchbar input:focus-visible { outline: none; }
input,select,textarea { min-width: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; padding: 8px 11px; min-height: 37px; color: var(--text); }
input,textarea { width: 100%; }
input[type=checkbox],input[type=radio] { min-height: auto; width: 16px; height: 16px; accent-color: var(--accent); }
select { cursor: pointer; }
.filters { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
.filters select { font-size: 12px; }
.filters .spacer { flex: 1; }
.tabs { display: flex; gap: 6px; padding: 0; overflow: auto; }
.tabs button { border: 0; background: transparent; color: var(--muted); min-height: 38px; padding: 8px 13px; white-space: nowrap; }
.tabs button.active { background: var(--text); color: var(--surface); }
.tabs button .ui-icon { width: 17px; height: 17px; }
.results-heading { display: flex; justify-content: space-between; align-items: center; margin: 18px 0; padding-top: 16px; border-top: 1px solid var(--line); gap: 16px; }
.results-heading strong { font-weight: 600; }
.results-heading select { border: 0; font-size: 12px; background: transparent; }
.muted { color: var(--muted); }
.pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 5px; background: var(--soft); color: var(--accent); font-size: 11px; font-weight: 600; }
.pill.green,.success { color: var(--green); }
.grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.card { display: block; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 18px; transition: border-color .15s,box-shadow .15s; min-width: 0; }
.card:hover { border-color: var(--accent); box-shadow: var(--shadow); }
.card-top { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.card-top > div { min-width: 0; }
.app-icon { width: 48px; height: 48px; border-radius: 12px; object-fit: contain; flex-shrink: 0; }
.card h3 { font-size: 15px; }
.card p { font-size: 13px; line-height: 1.7; min-height: 44px; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-foot { display: flex; justify-content: space-between; gap: 8px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.empty { padding: 44px 24px; text-align: center; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.empty .empty-symbol { width: 52px; height: 52px; border-radius: 14px; background: var(--soft); color: var(--accent); display: grid; place-items: center; margin: 0 auto 18px; }
.empty .empty-symbol .ui-icon { width: 26px; height: 26px; }
.empty img { width: 46px; margin-bottom: 18px; opacity: .65; }
.empty h2 { font-size: 18px; margin-bottom: 8px; }
.empty p { color: var(--muted); max-width: 510px; margin: 0 auto; font-size: 13px; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 26px; color: var(--muted); font-size: 12px; }
footer { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; border-top: 1px solid var(--line); padding: 24px max(28px,calc((100vw - 1208px)/2)); font-size: 11px; color: var(--muted); }
footer .brand { font-size: 18px; margin-inline-end: auto; color: var(--text); }
footer a:hover { color: var(--accent); }
.panel { padding: 22px; border: 1px solid var(--line); background: var(--surface); border-radius: var(--radius); margin-bottom: 20px; }
.row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.row.between { justify-content: space-between; }
.stack { display: grid; gap: 14px; }
.form { display: grid; gap: 16px; }
.form label { display: grid; gap: 6px; font-size: 12px; font-weight: 600; }
.form textarea { min-height: 110px; resize: vertical; }
.form .row > label { flex: 1; }
.form button[type=submit] { justify-self: start; min-width: 110px; }
.form .checkbox { display: flex; align-items: center; gap: 8px; }
.form .checkbox input { width: 16px; }
.checkbox { display: flex !important; align-items: center; gap: 8px; }
.auth { max-width: 450px; margin: 28px auto; padding: 30px; }
.auth > img { width: 40px; margin-bottom: 20px; }
.auth h1 { font-size: 24px; }
.auth p { font-size: 12px; color: var(--muted); }
.auth p a { color: var(--accent); }
.auth .form button[type=submit] { width: 100%; }
.error { color: var(--danger); background: #d24b5d0d; border: 1px solid #d24b5d25; border-radius: 7px; padding: 10px 12px; }
.metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.metric { padding: 19px 20px; border: 1px solid var(--line); background: var(--surface); border-radius: var(--radius); }
.metric strong { display: block; font-size: 28px; font-weight: 650; font-variant-numeric: tabular-nums; }
.metric span { color: var(--muted); font-size: 12px; }
#layout.admin { display: flex; align-items: stretch; }
aside { width: 224px; flex-shrink: 0; padding: 22px 14px; background: var(--surface); border-inline-end: 1px solid var(--line); }
aside nav { display: grid; gap: 2px; }
aside a { display: flex; align-items: center; gap: 10px; border-radius: 7px; padding: 9px 12px; margin-bottom: 2px; color: var(--muted); font-size: 12px; }
aside a:hover { background: var(--bg); color: var(--text); }
aside a.active { background: var(--soft); color: var(--accent); font-weight: 650; }
aside .nav-caption { font-size: 10px; font-weight: 700; color: var(--muted); letter-spacing: .6px; margin: 20px 12px 9px; }
aside .nav-caption:first-child { margin-top: 0; }
aside .sidebar-bottom { display: grid; gap: 6px; border-top: 1px solid var(--line); margin-top: 24px; padding-top: 14px; }
.admin main { max-width: 1600px; padding: 30px; min-width: 0; }
.console-header .brand small { font-size: 10px; font-weight: 600; letter-spacing: 0; color: var(--muted); border-inline-start: 1px solid var(--line); padding-inline-start: 10px; margin-inline-start: 3px; }
.console-header { padding-inline: 24px; }
.console-header .account-name { color: var(--muted); font-size: 12px; }
.table-wrap { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); overflow: auto; }
table { width: 100%; border-collapse: collapse; text-align: start; font-size: 12px; }
th { text-align: start; color: var(--muted); font-weight: 600; background: var(--bg); white-space: nowrap; }
td,th { padding: 13px 16px; border-bottom: 1px solid var(--line); vertical-align: top; }
tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: var(--bg); }
td:first-child { font-weight: 600; }
.actions { display: flex; flex-wrap: wrap; gap: 6px; }
.detail-head { display: flex; align-items: center; gap: 22px; margin-bottom: 28px; }
.detail-head img { width: 76px; height: 76px; border-radius: 18px; }
.detail-columns { display: grid; grid-template-columns: 1.35fr 1fr; gap: 22px; }
.source-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.source-row:last-child { border: 0; }
.loading { padding: 60px; text-align: center; color: var(--muted); }
.loading::after { content: '…'; }
dialog { color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: 14px; width: min(640px,calc(100vw - 32px)); padding: 26px; max-height: 88vh; box-shadow: 0 24px 90px #0003; }
dialog::backdrop { background: #10182080; }
dialog .close { float: inline-end; min-height: 30px; width: 30px; font-size: 23px; line-height: 1; border: 0; padding: 2px; color: var(--muted); }
dialog h2 { padding-inline-end: 30px; }
dialog dl { font-size: 12px; }
dialog dd { margin-inline-start: 0; color: var(--muted); overflow-wrap: anywhere; }
dialog dt { font-weight: 600; }
#toast { position: fixed; inset-inline-end: 24px; bottom: 24px; z-index: 20; max-width: calc(100vw - 48px); background: var(--text); color: var(--surface); padding: 12px 18px; border-radius: 8px; font-size: 13px; box-shadow: var(--shadow); }
.skip { position: fixed; top: -100px; }
.skip:focus { top: 0; padding: 10px; background: var(--surface); z-index: 50; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; padding: 12px; border-radius: 7px; background: var(--bg); }
.notice { padding: 12px 16px; margin-bottom: 20px; background: var(--soft); border-inline-start: 3px solid var(--accent); border-radius: 0 7px 7px 0; font-size: 13px; }
.badge-dot::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.legal-text { white-space: pre-wrap; line-height: 1.9; max-width: 850px; }
progress { height: 8px; width: 100%; accent-color: var(--accent); }
.media-editor-item { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-block: 10px; }
.media-editor-item img,.media-editor-item video { width: 100px; height: 70px; object-fit: contain; }
.ad-target { display: block; }
.ad-target img,.ad-target video { width: 100%; max-height: 380px; object-fit: contain; }
.ad-large { max-width: 100%; margin-block: 18px; }
.category-node .category-node { margin-inline-start: 18px; }
@media(min-width:901px) { .admin aside { position: sticky; top: 72px; height: calc(100vh - 72px); overflow: auto; } }
@media(max-width:1100px) { .grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .stats-inline { gap: 16px; padding-inline-start: 22px; } .header-links { display: none; } .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { #layout.admin { display: block; } aside { width: 100%; border-inline-end: 0; border-bottom: 1px solid var(--line); padding: 8px 14px; } aside nav { display: flex; gap: 4px; overflow: auto; } aside a { white-space: nowrap; margin: 0; } aside .nav-caption { display: none; } aside .sidebar-bottom { display: flex; margin-top: 8px; padding-top: 8px; } .admin main { padding: 24px 18px; } .detail-columns { grid-template-columns: 1fr; } }
@media(max-width:760px) { header { padding: 10px 18px; min-height: 64px; gap: 16px; flex-wrap: wrap; } .brand { font-size: 21px; } .brand img { width: 28px; height: 28px; } .header-tools { gap: 5px; } .community-actions { gap: 2px; padding-inline-end: 6px; } .community-actions button { padding: 5px 8px; } main { padding: 24px 18px 48px; } .store-hero { padding: 24px; gap: 24px; flex-wrap: wrap; } .stats-inline { border: 0; padding: 0; gap: 30px; } .stats-inline strong { font-size: 21px; } .searchbar { margin-bottom: 18px; } .grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; } .filters { gap: 8px; } .filters .tabs { width: 100%; } .filters .spacer { display: none; } .intro { align-items: flex-start; gap: 16px; } h1 { font-size: 25px; } .card { padding: 15px; } footer { padding: 22px 18px; gap: 14px; } }
@media(max-width:540px) { .storefront-header .header-tools { width: 100%; margin: 0; justify-content: space-between; } .storefront-header .community-actions { border: 0; margin-inline-end: auto; } .storefront-header > .header-links { display: flex; margin-inline-start: auto; font-size: 12px; } .grid { grid-template-columns: 1fr; } .store-hero { padding: 22px; } .store-hero h1 { font-size: 27px; } .tabs { gap: 2px; } .tabs button { padding: 8px 10px; font-size: 12px; } .tabs button .ui-icon { display: none; } .metrics { gap: 10px; } .metric { padding: 15px; } .metric strong { font-size: 24px; } .source-row { align-items: flex-start; flex-direction: column; } .detail-head img { width: 60px; height: 60px; } .detail-head h1 { font-size: 24px; } .intro { flex-wrap: wrap; } .form .row { align-items: stretch; flex-direction: column; } .console-header .account-name { display: none; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

@media(max-width:540px){
 .storefront-header{display:grid;grid-template-columns:1fr auto auto;gap:8px 12px;padding-block:12px}
 .storefront-header .header-links{display:none}
 .storefront-header .header-tools{display:contents}
 .storefront-header .community-actions{grid-column:1/-1;grid-row:2;justify-content:flex-start;padding-top:7px;margin:0;width:100%;gap:10px}
 .storefront-header .community-actions button{white-space:nowrap;min-height:34px;padding:6px 12px}
 .storefront-header #locale{grid-row:1;grid-column:2}
 .storefront-header #theme{grid-row:1;grid-column:3}
}

#source-search{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:12px}#source-search>input{grid-column:1/-1;width:100%}#source-search>label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:var(--muted)}#source-search select{width:100%;min-width:0}#source-search>.row{grid-column:1/-1;justify-content:flex-end}

.campaign-preview { border-block-start: 1px solid var(--line); padding-block-start: 16px; }
.campaign-preview-frame { width: 100%; max-width: 560px; margin-block-start: 12px; }
.campaign-preview-frame[data-device="mobile"] { max-width: 320px; margin-inline: auto; }
.campaign-preview-frame .ad-slot { display: flex; flex-direction: column; gap: 8px; }
.campaign-preview-frame[data-size="1x1"] .ad-slot { max-width: 260px; }
.campaign-preview-frame img,.campaign-preview-frame video { width: 100%; max-height: 240px; object-fit: contain; }
.operation-spinner,.operation-busy::after { display:inline-block; width:14px; height:14px; flex-shrink:0; border:2px solid currentColor; border-inline-end-color:transparent; border-radius:50%; animation:operation-spin .8s linear infinite; vertical-align:middle; }
.operation-busy::after { content:""; margin-inline-start:8px; }
.operation-activity { position:fixed; inset-inline-end:20px; bottom:22px; z-index:1100; display:flex; align-items:center; gap:9px; padding:12px 16px; background:var(--surface,#fff); color:var(--text,#152031); border:1px solid var(--border,#dce1e8); border-radius:12px; box-shadow:0 6px 24px #0002; }
.operation-activity[hidden] { display:none; }
@keyframes operation-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .operation-spinner,.operation-busy::after { animation-duration:2s; } }


.ai-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.ai-task-grid input[type=checkbox]{width:18px;height:18px;flex:none}progress{width:min(220px,100%);height:8px;accent-color:var(--accent,#168777)}

.form label.ai-checkbox{display:flex;align-items:center;gap:8px}.form label.ai-checkbox input{width:18px;height:18px;flex:none}#ai-test-status{margin:12px 0}#ai-test-status progress{display:block;margin-top:8px}

.review-row{cursor:pointer}.review-row:hover,.review-row:focus-visible{background:var(--soft);outline:2px solid var(--accent);outline-offset:-2px}.official-review{max-width:700px}.official-review h2{margin:0 0 16px}.review-card{padding:16px;border:1px solid var(--line,#dce4e8);border-radius:12px;margin:12px 0}.review-card h3{margin:6px 0;font-size:18px}.review-links,.review-actions{display:flex;flex-wrap:wrap;gap:8px}.review-address{overflow-wrap:anywhere}.review-actions{margin-top:16px}.official-review textarea{width:100%}.review-actions .ai-recommended{outline:3px solid var(--accent,#168777);outline-offset:3px}.review-card progress{width:100%}
/* Read-only activity reports. */
.report-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.report-controls form{display:grid;gap:18px}.report-controls label{display:grid;gap:7px}.report-controls input,.report-controls select{width:100%}.report-control-actions{padding-top:4px}.report-context{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:22px 0 10px}.report-context span{color:var(--muted);direction:ltr}.report-metrics{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:20px 0}.report-metric p{font-size:.85rem;color:var(--muted);line-height:1.7;margin:10px 0 0}.report-metric strong{font-variant-numeric:tabular-nums}.report-details summary{cursor:pointer;font-weight:600;padding:8px 0}.report-details[open] summary{margin-bottom:16px}#report-chart svg{width:100%;max-height:280px;direction:ltr}.report-chart-label{color:var(--muted);font-size:.85rem;margin:15px 0}.report-empty{text-align:center;padding:45px 20px;color:var(--muted)}#report-target-picker{display:grid;gap:10px}#report-target-picker .row input{flex:1;min-width:150px}.detail-head>.button{margin-inline-start:auto}@media(max-width:600px){.report-filter-grid{grid-template-columns:1fr}.report-context{align-items:flex-start;flex-direction:column}.report-control-actions{gap:8px}.report-metrics{grid-template-columns:1fr}}

.review-inline{min-width:210px;padding:6px 0}.review-inline+.review-inline{border-top:1px solid var(--line)}.review-inline .actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.review-inline select{max-width:280px}.review-row td:first-child{max-width:350px;overflow-wrap:anywhere}.review-inline [data-review-result]{margin-top:5px}#review-page-ai{margin-bottom:16px}#review-page-progress{margin-top:10px}

.review-category-picker{max-width:300px}.review-category-picker summary{cursor:pointer;padding:7px 10px;border:1px solid var(--line);border-radius:8px}.review-category-options{background:var(--surface);color:var(--text);max-height:190px;overflow-y:auto;border:1px solid var(--line);padding:8px}.review-category-options label{display:flex;gap:6px;align-items:center;padding:4px}.review-category-options input{width:auto}.review-category-picker summary:hover,.review-category-picker summary:focus-visible,.review-category-options label:hover{background:var(--soft);color:var(--text)}

.notification-table td:first-child{min-width:150px}.notification-table .ai-recommended{outline:2px solid var(--accent);outline-offset:2px}.notification-table [data-notification-result]{margin-top:8px}
@media(max-width:800px){.notification-table thead{display:none}.notification-table tbody tr{display:grid;grid-template-columns:1fr auto auto;padding:12px;border-bottom:1px solid var(--line)}.notification-table td{border:0;padding:5px 8px;max-width:none}.notification-table td:first-child,.notification-table td:last-child{grid-column:1/-1;max-width:none}.notification-table td:first-child strong{font-size:16px}.notification-table .review-inline{min-width:0}.notification-table .review-links{margin-top:8px}.notification-table td:nth-child(3)::before{content:'× ';}.notification-table tbody tr:last-child{border-bottom:0}}

.inbox-search{display:flex;align-items:flex-end;gap:8px;flex:1;min-width:200px}.inbox-search label{flex:1}.inbox-search button{flex-shrink:0}.inbox-search input{width:100%}

.live-status{font-size:11px;white-space:nowrap}.live-status:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-inline-end:5px;background:var(--danger)}.live-status[data-connected=true]:before{background:var(--green)}

/* Source management: stable cards, compact controls and readable filters. */
.source-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px}.source-card{margin:0;min-width:0}.source-card h2{margin:0 0 5px}.source-count{font-size:26px;text-align:end}.source-count span{display:block;font-size:12px;font-weight:400;color:var(--muted)}.source-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.source-filters{margin:22px 0}.source-query{display:flex;gap:8px;max-width:640px}.source-query input{flex:1;min-width:0}.source-filter-fields{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-top:12px}.source-filter-fields label{display:grid;gap:5px;min-width:155px}.source-error{color:var(--danger,#e58a82)}
