/* Working interface: readable density, predictable controls, quiet chrome. */
:root { color-scheme: light; font-size:16px; --ui-border:#d5dfe6; --ui-muted:#526574; }
body { line-height:1.5; }
.app-shell { grid-template-columns:224px minmax(0,1fr); }
.sidebar { padding:24px 12px; }
.brand { padding:0 12px 24px; }
.brand small { font-size:12px; letter-spacing:.04em; color:#a4b3c2; }
.brand strong { font-size:14px; letter-spacing:.035em; }
.nav-item { min-height:46px; font-size:14px; color:#b2beca; padding:11px 13px; }
.nav-item b { font-size:12px; }
.app-shell > main { padding:28px 28px 56px; }
.topbar { gap:20px; align-items:flex-start; }
.topbar h1 { font-size:28px; font-weight:700; line-height:1.25; }
.crumb,.eyebrow { font-size:12px; letter-spacing:.055em; font-weight:600; color:var(--ui-muted); }
.top-actions { flex-wrap:wrap; justify-content:flex-end; align-items:center; }
.account-menu { min-height:44px; }
.account-menu strong,.account-menu button { font-size:14px; }
.account-menu small { font-size:12px; }
.primary,.ghost,.icon-btn,.primary.compact,.ghost.compact,.icon-btn.compact { min-height:44px; font-size:14px; line-height:1.3; font-weight:600; }
.primary { background:#183b38; box-shadow:none; }
.primary:hover { background:#24524d; }
.ghost,.icon-btn { border:1px solid var(--ui-border); background:#fff; }
.ghost:hover,.icon-btn:hover { background:#f0f6f5; border-color:#9bbeb7; }
.link,.inline-link { font-size:14px; font-weight:600; }
button:disabled { cursor:not-allowed; opacity:.55; }
.top-actions .icon-btn { width:44px; }
.panel { border-color:var(--ui-border); box-shadow:none; border-radius:12px; }
.panel-head h2 { font-size:20px; font-weight:650; }
.panel-head small,.panel-head h2 small { font-size:14px; }
#content small,.modal small,.site-studio small { font-size:12px; }
#content .tracker-header,#content .log-row.header,#content .domain-header { font-size:12px; }
#content .bulk-bar,#content .bulk-bar span { font-size:12px; }
#content .bulk-bar.is-idle { display:none; }
.view-toggle button { font-size:14px; min-height:44px; }
.generator-v2 p,.generator-v2 label,.generator-concept-card p,.generator-final-summary p { font-size:14px; }
.generator-concept-card small,.generator-v2-footer small,.generator-approval small,.scope-picker small { font-size:12px!important; }
.studio-quality article b,.studio-quality article small,.studio-version strong { font-size:12px; }
.tracker-toolbar { gap:12px; }
.tracker-toolbar input,.tracker-toolbar select,.site-toolbar input,.site-toolbar select { min-height:44px; font-size:14px; }
.compact-check,.saved-views label,.saved-views small { font-size:14px; }
.tracker-row,.site-tracker-row,.domain-row,.campaign-domain-row,.campaign-group-row,.log-row { font-size:14px; }
.tracker-row small,.site-tracker-row small,.domain-row small,.campaign-domain-row small,.campaign-group-row small { font-size:12px; color:var(--ui-muted); }
.tracker-title,.campaign-group-toggle strong,.campaign-domain-main strong { font-size:15px; font-weight:650; }
.tracker-description,.campaign-note { font-size:14px; line-height:1.5; }
.badge,.access-chip,.batch-chip { font-size:12px; letter-spacing:0; }
.tracker-header,.site-tracker-header,.campaign-group-header,.campaign-domain-header { font-size:12px; letter-spacing:.025em; }
.tracker-table,.site-tracker-table,.domain-table,.campaign-group-table,.log-table { overflow-x:auto; overscroll-behavior-x:contain; }
.tracker-metrics article span,.dashboard-kpis small { font-size:12px; letter-spacing:.03em; }
.dashboard-hero { padding:22px 24px; background:#fff; box-shadow:none; border:1px solid var(--ui-border); }
.dashboard-hero h2 { font-size:24px; line-height:1.3; }
.dashboard-hero p,.dashboard-empty p,.attention-list p,.attention-list small { font-size:14px; line-height:1.55; }
.dashboard-kpis em,.dashboard-job-row small,.notice p,.notice span { font-size:12px; }
.notice { border-radius:10px; }
.notice strong { font-size:14px; }
.modal-head h2 { font-size:24px; line-height:1.3; }
#action-modal-close,#campaign-modal .close,#jobs-drawer-close { min-width:44px; min-height:44px; }
.action-form label,.campaign-form label,.generator-v2 label { font-size:14px; }
.action-form p,.form-note,.selection-summary span,.empty p { font-size:14px; line-height:1.6; }
.site-studio .studio-label { font-size:12px; letter-spacing:.035em; }
/* Campaign register: name first, quiet metadata, no empty-description rows. */
.campaign-group-table,.campaign-group-grid {
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:14px; font-weight:400; line-height:1.5;
}
.campaign-group-table { background:#fff; border-color:#dce3e9; }
.campaign-group-row { min-height:76px; padding:16px; gap:16px; }
.campaign-group-header { min-height:44px; padding-block:10px; background:#f7f9fb; text-transform:none; letter-spacing:0; font-weight:500; color:#596779; }
#content .campaign-group-header { font-size:13px; }
.campaign-group-shell { border-color:#e7ecf0; }
.campaign-group-shell:hover { background:#fafcfd; }
.campaign-group-shell.expanded { background:#f5f9f8; box-shadow:inset 2px 0 #27816f; }
.campaign-group-toggle { min-height:44px; width:100%; }
.campaign-group-toggle strong,.campaign-group-card-head h3 { font-size:16px; font-weight:600; letter-spacing:0; }
.campaign-group-chevron { background:transparent; color:#657587; font-weight:400; }
.campaign-group-identity { min-width:0; }
.campaign-group-meta strong,.campaign-group-card-summary strong { font-size:14px; font-weight:500; color:#384656; }
.campaign-group-row > .campaign-group-meta > small,.campaign-group-updated > small { display:none; }
.campaign-group-updated { font-size:14px; font-weight:400; color:#657282; font-variant-numeric:tabular-nums; }
#content .campaign-group-row small,#content .campaign-group-card small { font-size:13px; font-weight:400; letter-spacing:0; color:#657282; }
.campaign-group-status .badge,.campaign-group-card .badge { font-size:12px; font-weight:600; text-transform:none; }
.campaign-group-description {
  display:block; max-width:100%; width:100%; margin:2px 0 0; padding:2px 0 2px 32px;
  border:0; border-radius:4px; background:transparent; color:#657282; font-size:14px;
  font-weight:400; line-height:1.5; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.campaign-group-description:hover { color:#205f53; text-decoration:underline; }
.campaign-group-description:focus-visible { outline:2px solid #27816f; outline-offset:3px; }
.campaign-group-card > .campaign-group-description { padding-left:0; margin-top:8px; }
.campaign-group-card { box-shadow:none; }
.campaign-group-actions .ghost { font-weight:500; }
.campaign-domain-row { font-size:14px; padding-block:12px; }
.campaign-domain-main strong,.campaign-group-domain-name strong { font-size:14px; font-weight:500; }
#content .campaign-domain-row small { font-size:13px; }
.campaign-domain-header { font-size:13px; font-weight:500; text-transform:none; letter-spacing:0; }
.campaign-group-card-summary small { text-transform:none; }
.site-edit-unavailable { padding:16px; border:1px solid #dce3e9; border-radius:10px; background:#f7f9fb; color:#465767; }
.site-edit-unavailable p { font-size:14px; line-height:1.65; margin:8px 0 0; }
.site-edit-unavailable strong { font-size:14px; font-weight:600; }
@media(max-width:1120px) {
  .tracker-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tracker-toolbar .search { grid-column:1/-1; min-width:0; }
  .tracker-toolbar select { min-width:0; width:100%; }
  .topbar { flex-wrap:wrap; }
  .top-actions { justify-content:flex-start; }
  .dashboard-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tracker-table .tracker-row { min-width:1040px; }
  .site-tracker-table .site-tracker-row { min-width:850px; }
  .domain-table .domain-row { min-width:900px; }
  .campaign-group-table > .campaign-group-row,.campaign-group-shell > .campaign-group-row { min-width:980px; }
}
@media(max-width:760px) {
  .tracker-toolbar { grid-template-columns:minmax(0,1fr); }
  .app-shell { display:block; }
  .sidebar { min-height:0; height:auto; position:static; padding:14px 12px 6px; }
  .brand { padding:0 8px 12px; }
  .brand small { display:none; }
  .sidebar nav { display:flex; overflow-x:auto; padding-bottom:8px; gap:8px; }
  .nav-item { flex:0 0 auto; white-space:nowrap; }
  .nav-item span { display:inline-block; }
  .sidebar-foot { display:none; }
  .app-shell > main { padding:20px 16px 40px; }
  .topbar { display:block; }
  .topbar h1 { font-size:24px; }
  .top-actions { margin-top:16px; width:100%; max-width:none; justify-content:flex-start; gap:8px; }
  .top-actions .account-menu { flex-wrap:wrap; }
  .panel { padding:16px; }
  .panel-head { flex-wrap:wrap; gap:12px; }
  .dashboard-main-grid { grid-template-columns:minmax(0,1fr); }
  .dashboard-hero { padding:18px; }
  .dashboard-hero-actions { flex-wrap:wrap; }
  .dashboard-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tracker-toolbar,.site-toolbar { align-items:stretch; }
  .tracker-toolbar select,.site-toolbar select { max-width:100%; }
  .modal-actions { flex-wrap:wrap; }
  .modal-actions button { flex:1 1 auto; }
  .site-studio .site-studio-canvas { min-width:0; }
}
