:root {
  --navy-950: #071d2d;
  --navy-900: #0b2940;
  --navy-800: #123b5d;
  --blue-700: #135f8c;
  --teal-600: #007c75;
  --teal-500: #00a69c;
  --cyan-100: #dff4f3;
  --ink: #102a3c;
  --muted: #607384;
  --line: #d8e2e8;
  --line-strong: #bdccd5;
  --surface: #ffffff;
  --surface-soft: #f4f7f9;
  --surface-tint: #edf5f7;
  --warning: #9a5b00;
  --danger: #b42318;
  --success: #067647;
  --shadow-sm: 0 1px 2px rgba(7, 29, 45, 0.06), 0 6px 18px rgba(7, 29, 45, 0.04);
  --shadow-lg: 0 24px 70px rgba(4, 24, 37, 0.16);
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 24px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--surface-soft);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
html { min-width: 0; background: var(--surface-soft); }
body { margin: 0; min-height: 100vh; color: var(--ink); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
:focus-visible { outline: 3px solid #007c75; outline-offset: 3px; }

.auth-body {
  background:
    radial-gradient(circle at 70% 15%, rgba(0, 166, 156, 0.16), transparent 34%),
    linear-gradient(125deg, var(--navy-950), var(--navy-800) 47%, #eff6f7 47.2%);
}

.auth-layout {
  width: min(1180px, calc(100% - 48px));
  min-height: 100vh;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.75fr);
  gap: clamp(56px, 10vw, 140px);
  align-items: center;
  padding-block: 48px;
}

.auth-brand { color: white; max-width: 620px; }
.brand-lockup { display: inline-flex; flex-direction: column; gap: 1px; font-size: 1.54rem; font-weight: 820; letter-spacing: 0.12em; text-decoration: none; }
.brand-lockup span { font-size: 0.68rem; font-weight: 650; letter-spacing: 0.12em; opacity: 0.72; }
.auth-brand h1 { margin: 46px 0 20px; font-size: clamp(2.35rem, 5vw, 4.9rem); line-height: 0.98; letter-spacing: -0.055em; max-width: 760px; }
.auth-brand > p:not(.mode-badge) { max-width: 620px; margin: 0; color: rgba(255,255,255,0.74); font-size: 1.05rem; line-height: 1.8; }
.auth-points { display: grid; gap: 12px; margin: 32px 0 0; padding: 0; list-style: none; color: rgba(255,255,255,0.82); }
.auth-points li::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 12px; background: var(--teal-500); }
.mode-badge { width: fit-content; display: flex; align-items: center; gap: 8px; margin: 25px 0 0; padding: 8px 12px; border: 1px solid rgba(255,255,255,0.24); border-radius: 999px; color: rgba(255,255,255,0.82); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.05em; }
.mode-badge span { width: 8px; height: 8px; border-radius: 50%; background: #4de0c8; box-shadow: 0 0 0 4px rgba(77,224,200,0.13); }

.auth-card { padding: clamp(28px, 4vw, 48px); border: 1px solid rgba(255,255,255,0.85); border-radius: var(--radius-lg); background: rgba(255,255,255,0.94); box-shadow: var(--shadow-lg); backdrop-filter: blur(16px); }
.eyebrow { margin: 0 0 8px; color: var(--teal-600); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.auth-card h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.25rem); letter-spacing: -0.035em; }
.auth-help { margin: 12px 0 26px; color: var(--muted); line-height: 1.65; }
.auth-card form { display: grid; gap: 18px; }
label { color: #274458; font-size: 0.86rem; font-weight: 700; }
input, textarea, select { width: 100%; margin-top: 8px; border: 1px solid var(--line-strong); border-radius: 10px; background: #fff; color: var(--ink); transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
input, select { min-height: 46px; padding: 10px 12px; }
textarea { min-height: 112px; padding: 12px; resize: vertical; line-height: 1.6; }
input:hover, textarea:hover, select:hover { border-color: #8aa7b8; }
input:focus, textarea:focus, select:focus { outline: 3px solid #007c75; outline-offset: 2px; border-color: var(--teal-600); box-shadow: 0 0 0 5px rgba(0,124,117,.12); }
.field-note { margin: -8px 0 0; color: var(--muted); font-size: 0.78rem; line-height: 1.55; }
.form-status { min-height: 1.4em; margin: 0; color: var(--danger); font-size: 0.86rem; }

.button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 9px; padding: 9px 15px; font-weight: 750; text-decoration: none; cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.button:disabled { opacity: .52; cursor: not-allowed; }
.button-primary { color: white; background: var(--navy-800); box-shadow: 0 6px 16px rgba(18,59,93,.16); }
.button-primary:hover:not(:disabled) { background: #0b456d; transform: translateY(-1px); }
.button-quiet { border-color: var(--line); background: white; color: var(--navy-800); }
.button-quiet:hover { border-color: var(--line-strong); background: var(--surface-tint); }
.button-danger { border-color: #f1b4ae; background: #fff4f2; color: var(--danger); }

.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0,1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; background: linear-gradient(180deg, var(--navy-950), #0b2d45 62%, #0e3650); color: white; overflow-y: auto; z-index: 20; }
body.nav-open { overflow: hidden; }
.sidebar-head { padding: 28px 22px 22px; border-bottom: 1px solid rgba(255,255,255,.09); }
.brand-lockup-inverse { color: white; font-size: 1.25rem; }
.mode-badge-dark { margin-top: 18px; padding: 7px 10px; font-size: .66rem; }
.admin-nav { display: grid; gap: 4px; padding: 16px 12px; }
.admin-nav a { min-height: 44px; display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: 9px; color: rgba(255,255,255,.72); font-size: .88rem; font-weight: 680; text-decoration: none; }
.admin-nav a:hover { color: white; background: rgba(255,255,255,.07); }
.admin-nav a.is-active { color: white; background: linear-gradient(90deg, rgba(0,166,156,.3), rgba(255,255,255,.08)); box-shadow: inset 2px 0 var(--teal-500); }
.nav-mark { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 7px; font-size: .68rem; }
.sidebar-foot { margin-top: auto; padding: 18px 22px 24px; border-top: 1px solid rgba(255,255,255,.09); }
.sidebar-foot p { margin: 0; font-weight: 720; }
.sidebar-foot span { display: block; margin-top: 3px; color: rgba(255,255,255,.52); font-size: .72rem; text-transform: uppercase; }
.sidebar-foot button { margin-top: 14px; padding: 0; border: 0; background: transparent; color: rgba(255,255,255,.68); cursor: pointer; }

.workspace { min-width: 0; }
.topbar { min-height: 91px; display: flex; align-items: center; gap: 24px; padding: 18px clamp(20px, 3.6vw, 52px); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.9); backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 15; }
.topbar > div:first-of-type { min-width: 0; }
.topbar p { margin: 0 0 3px; color: var(--teal-600); font-size: .65rem; font-weight: 850; letter-spacing: .14em; }
.topbar h1 { margin: 0; font-size: clamp(1.35rem, 2vw, 1.75rem); letter-spacing: -.03em; white-space: nowrap; }
.topbar-actions { display: flex; gap: 10px; margin-left: auto; }
.mobile-nav-button { display: none; min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 9px; background: white; }
#admin-main { width: min(1500px, 100%); margin: 0 auto; padding: clamp(24px, 3.5vw, 52px); }
.loading-state, .empty-state { padding: 70px 24px; border: 1px dashed var(--line-strong); border-radius: var(--radius); background: rgba(255,255,255,.7); color: var(--muted); text-align: center; }

.page-intro { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 30px; align-items: end; margin-bottom: 28px; }
.page-intro h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.45rem); letter-spacing: -.045em; }
.page-intro p { max-width: 760px; margin: 9px 0 0; color: var(--muted); line-height: 1.7; }
.page-intro-actions { display: flex; gap: 10px; }
.notice { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 24px; padding: 14px 16px; border: 1px solid #bedddb; border-radius: 11px; background: #eff9f8; color: #225453; font-size: .86rem; line-height: 1.55; }
.notice::before { content: "i"; flex: 0 0 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--teal-600); color: white; font-weight: 800; }

.metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.metric-grid[data-card-count="1"] { grid-template-columns: minmax(0, 1fr); }
.metric-grid[data-card-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metric-grid[data-card-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.metric-card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.metric-card span { display: block; color: var(--muted); font-size: .76rem; font-weight: 720; }
.metric-card strong { display: block; margin-top: 13px; font-size: clamp(1.65rem,3vw,2.35rem); letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.metric-card small { display: block; margin-top: 7px; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.metric-card-accent { border-top: 3px solid var(--teal-500); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(310px,.75fr); gap: 18px; margin-top: 18px; }
.panel { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); overflow: hidden; }
.panel-head { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.panel-head h3 { margin: 0; font-size: 1rem; }
.panel-head p { margin: 3px 0 0; color: var(--muted); font-size: .76rem; }
.panel-head .button { margin-left: auto; }
.panel-body { padding: 20px; }
.health-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.health-list li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; padding: 14px 0; border-bottom: 1px solid #e9eef1; }
.health-list li:last-child { border: 0; }
.health-list strong { display: block; font-size: .88rem; }
.health-list span { display: block; margin-top: 4px; color: var(--muted); font-size: .75rem; }
.status { width: fit-content; align-self: center; padding: 5px 8px; border-radius: 999px; font-size: .68rem; font-weight: 800; }
.status-ok { color: var(--success); background: #e8f7ef; }
.status-draft { color: var(--warning); background: #fff3d8; }
.status-new { color: #175cd3; background: #e9f1ff; }
.status-neutral { color: #526b7a; background: #edf2f5; }

.toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.toolbar input, .toolbar select { width: auto; min-width: 180px; margin: 0; }
.toolbar .search { min-width: min(360px,100%); flex: 1; }
.data-table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); }
.data-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.data-table th { position: sticky; top: 0; z-index: 2; padding: 11px 14px; background: #eef3f6; color: #506676; text-align: left; font-size: .7rem; letter-spacing: .035em; white-space: nowrap; }
.data-table td { padding: 13px 14px; border-top: 1px solid #e6edf1; vertical-align: top; }
.data-table tbody tr:hover { background: #f8fbfc; }
.data-table strong { color: var(--navy-800); }
.data-table .muted { color: var(--muted); }
.table-action { min-height: 32px; display: inline-flex; align-items: center; border: 0; padding: 4px; background: transparent; color: var(--blue-700); font-weight: 750; cursor: pointer; }
.row-action { display: inline-flex; min-height: 32px; align-items: center; margin: -4px; padding: 4px; border: 0; background: transparent; color: var(--navy-800); text-align: left; cursor: pointer; }

.content-layout { display: grid; grid-template-columns: 230px minmax(0,1fr) 300px; gap: 16px; align-items: start; }
.content-groups, .content-preview { position: sticky; top: 112px; }
.content-groups { padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.content-groups button { width: 100%; min-height: 42px; padding: 9px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); text-align: left; cursor: pointer; }
.content-groups button.is-active { background: var(--surface-tint); color: var(--navy-800); font-weight: 780; }
.content-form { display: grid; gap: 12px; }
.content-field { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); }
.content-field-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.content-field h3 { margin: 0; font-size: .9rem; }
.content-field .field-meta { color: var(--muted); font-size: .68rem; }
.content-field-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.content-preview { padding: 20px; border: 1px solid #bedddb; border-radius: var(--radius); background: linear-gradient(145deg,#eff9f8,#fff); }
.content-preview h3 { margin: 0; font-size: 1rem; }
.content-preview p { color: var(--muted); font-size: .8rem; line-height: 1.6; }
.content-preview dl { margin: 18px 0 0; display: grid; gap: 12px; }
.content-preview dt { color: var(--muted); font-size: .68rem; }
.content-preview dd { margin: 2px 0 0; font-weight: 740; }

.inquiry-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(340px,.7fr); gap: 16px; }
.inquiry-detail { position: sticky; top: 112px; }
.inquiry-status-stack { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.inquiry-status-stack .status, .inquiry-notification-detail .status { margin: 0; }
.detail-section { padding: 18px 20px; border-bottom: 1px solid var(--line); }
.detail-section:last-child { border: 0; }
.detail-section h3 { margin: 0 0 12px; font-size: .86rem; }
.detail-list { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 8px 12px; margin: 0; font-size: .8rem; }
.detail-list dt { color: var(--muted); }
.detail-list dd { margin: 0; word-break: break-word; }
.message-box { padding: 13px; border-radius: 9px; background: var(--surface-soft); white-space: pre-wrap; line-height: 1.65; font-size: .82rem; }
.inquiry-notification-detail { background: linear-gradient(145deg,#f8fbfc,#fff); }
.inquiry-notification-error { color: var(--danger); white-space: pre-wrap; }
.inquiry-notification-note { margin: 12px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.55; }

.bar-chart { display: grid; gap: 12px; }
.bar-row { display: grid; grid-template-columns: minmax(120px,1fr) minmax(120px,2fr) 54px; gap: 12px; align-items: center; font-size: .76rem; }
.bar-row > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-meter { width: 100%; height: 10px; display: block; overflow: visible; }
.analytics-meter .meter-track { fill: #e5edf1; }
.bar-meter .meter-value { fill: var(--teal-600); }

.metric-card .metric-date { min-height: 2.35em; display: flex; align-items: flex-end; font-size: clamp(1.05rem,1.7vw,1.42rem); line-height: 1.2; }
.metric-delta { width: fit-content; margin-top: 9px; padding: 4px 7px; border-radius: 999px; font-size: .65rem; font-weight: 780; }
.metric-delta.is-up { color: #087443; background: #e8f7ef; }
.metric-delta.is-down { color: #a34218; background: #fff0e9; }
.metric-delta.is-flat { color: #526b7a; background: #edf2f5; }
.analytics-metric-grid { grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); }
.analytics-toolbar { align-items: end; margin-top: 18px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); }
.analytics-toolbar label { display: grid; gap: 6px; color: var(--muted); font-size: .7rem; font-weight: 760; }
.analytics-toolbar label > span { padding-left: 2px; }
.analytics-toolbar .analytics-search { min-width: min(390px,100%); flex: 1; }
.analytics-toolbar .button { min-height: 42px; }
.analytics-trend-panel { margin-top: 18px; }
.trend-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.trend-summary article { min-width: 0; padding: 12px 14px; border: 1px solid #dce7eb; border-radius: 10px; background: linear-gradient(145deg,#f7fbfc,#fff); }
.trend-summary span { display: block; color: var(--muted); font-size: .66rem; font-weight: 760; }
.trend-summary strong { display: inline-block; margin-top: 5px; color: var(--navy-800); font-size: 1.28rem; font-variant-numeric: tabular-nums; }
.trend-summary small { margin-left: 7px; color: var(--muted); font-size: .62rem; white-space: nowrap; }
.trend-chart { min-height: 0; overflow-x: auto; overflow-y: hidden; padding: 8px 8px 0; border: 1px solid #dce7eb; border-radius: 12px; background: linear-gradient(180deg,#fbfdfd,#f4f8fa); scrollbar-color: #aac1cc transparent; }
.trend-plot { min-width: 100%; height: auto; display: block; }
.trend-plot text { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.trend-grid-line { stroke: #d9e4e9; stroke-width: 1; vector-effect: non-scaling-stroke; }
.trend-axis-label, .trend-date-label { fill: #607384; font-size: 10px; font-variant-numeric: tabular-nums; }
.trend-area { fill: url(#analytics-trend-area); }
.trend-line { fill: none; stroke: var(--teal-600); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.trend-point { fill: #fff; stroke: var(--teal-600); stroke-width: 2; vector-effect: non-scaling-stroke; }
.trend-point.is-latest { fill: var(--teal-500); stroke: #fff; stroke-width: 3; }
.trend-single-bar { fill: url(#analytics-trend-bar); }
.analytics-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.analytics-records { margin-top: 18px; }
.analytics-geo-attribution { color: var(--blue-700); font-weight: 720; }
.analytics-records .data-table-wrap { border-inline: 0; border-radius: 0; box-shadow: none; }
.analytics-table td { max-width: 340px; }
.analytics-table td > span, .analytics-table td > small { display: block; margin-top: 4px; }
.analytics-table td > span:first-child { margin-top: 0; }
.analytics-tabs { display: flex; gap: 6px; margin: 20px 0; padding: 5px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: #eef3f6; }
.analytics-tabs button { min-height: 42px; padding: 9px 16px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font: inherit; font-size: .78rem; font-weight: 760; white-space: nowrap; cursor: pointer; }
.analytics-tabs button.is-active { background: white; color: var(--navy-800); box-shadow: var(--shadow-sm); }
.analytics-filter-scope { margin: -4px 0 18px; font-size: .78rem; }
.analytics-decision-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); gap: 18px; margin-top: 18px; }
.analytics-inquiry-grid { margin-bottom: 18px; }
.analytics-ai-panel, .analytics-quality-panel { margin-top: 18px; }
.analytics-funnel { display: grid; gap: 13px; }
.funnel-step { display: grid; grid-template-columns: minmax(170px,1fr) minmax(120px,1.4fr) 54px; gap: 13px; align-items: center; }
.funnel-step > div:first-child { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 2px 8px; align-items: center; }
.funnel-step > div:first-child > span { grid-row: 1 / 3; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--navy-950); color: white; font-size: .62rem; font-weight: 800; }
.funnel-step strong { font-size: .78rem; }
.funnel-step small { color: var(--muted); font-size: .65rem; line-height: 1.35; }
.funnel-step b { color: var(--navy-800); text-align: right; font-size: .82rem; font-variant-numeric: tabular-nums; }
.funnel-measure { height: 12px; }
.funnel-measure .analytics-meter { height: 12px; }
.funnel-meter .meter-value { fill: var(--blue-700); }
.analytics-action-reach .funnel-step > div:first-child { grid-template-columns: minmax(0,1fr); gap: 3px; }
.analytics-action-reach .funnel-step > div:first-child > strong,
.analytics-action-reach .funnel-step > div:first-child > small { grid-column: 1; }
.period-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 12px; }
.period-grid article { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: #f8fbfc; }
.period-grid article > span { grid-column: 1 / -1; color: var(--muted); font-size: .68rem; font-weight: 780; }
.period-grid article > div { padding: 9px 10px; border-radius: 8px; background: white; }
.period-grid article strong { display: block; font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.period-grid article small { display: block; margin-top: 3px; color: var(--muted); font-size: .62rem; }
.period-grid article > .period-scope-note { grid-column: 1 / -1; margin-top: 0; line-height: 1.45; }
.quality-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.quality-card { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: #f8fbfc; }
.quality-card > span { display: block; color: var(--muted); font-size: .68rem; font-weight: 760; }
.quality-card > strong { display: block; margin-top: 9px; font-size: 1.2rem; }
.quality-card > small { display: block; margin-top: 8px; color: var(--muted); font-size: .64rem; line-height: 1.45; }
.quality-track { height: 7px; margin-top: 9px; }
.quality-track .analytics-meter { height: 7px; }
.quality-card.is-good .meter-value { fill: #15956a; }
.quality-card.is-warning .meter-value { fill: #d49619; }
.quality-card.is-risk .meter-value { fill: #c45b3c; }
.quality-card.is-pending .meter-value { fill: #9aabb5; }

.explorer-layout { display: grid; grid-template-columns: minmax(350px,.72fr) minmax(0,1.28fr); gap: 18px; align-items: start; }
.explorer-independent-notice { grid-column: 1 / -1; margin: 0; }
.analytics-toolbar[hidden] { display: none; }
.explorer-builder-panel { position: sticky; top: 112px; }
.explorer-result-panel { min-height: 560px; }
.saved-views-panel { grid-column: 1 / -1; }
.explorer-form { display: grid; gap: 18px; }
.explorer-primary-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.explorer-primary-fields label, .explorer-filter-grid label, .save-view-form label { display: grid; gap: 6px; color: var(--muted); font-size: .68rem; font-weight: 760; }
.explorer-primary-fields label:first-child { grid-column: 1 / -1; }
.explorer-primary-fields label small { color: var(--muted); font-size: .62rem; line-height: 1.45; font-weight: 500; }
.explorer-primary-fields input, .explorer-primary-fields select, .explorer-filter-grid input, .explorer-filter-grid select, .save-view-form input, .save-view-form select { width: 100%; min-width: 0; }
.explorer-metrics { margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; }
.explorer-metrics legend { padding: 0 6px; color: var(--navy-800); font-size: .72rem; font-weight: 800; }
.explorer-metrics > div { display: grid; gap: 7px; }
.explorer-metrics > p { margin: 10px 0 0; color: var(--muted); font-size: .62rem; }
.metric-option { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 9px 10px; border: 1px solid #e3ebef; border-radius: 8px; background: #f8fbfc; cursor: pointer; }
.metric-option input { width: 16px; height: 16px; margin: 0; accent-color: var(--teal-600); }
.metric-option span { color: var(--navy-800); font-size: .72rem; }
.metric-option small { color: var(--muted); font-size: .6rem; }
.explorer-filters { border: 1px solid var(--line); border-radius: 11px; background: #f8fbfc; }
.explorer-filters summary { padding: 12px 14px; color: var(--navy-800); font-size: .72rem; font-weight: 780; cursor: pointer; }
.explorer-filter-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 0 14px 14px; }
.explorer-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.save-view-form { display: grid; grid-template-columns: minmax(0,1fr) 150px auto; gap: 10px; align-items: end; padding-top: 17px; border-top: 1px solid var(--line); }
.save-view-form .button { min-height: 42px; }
.explorer-result-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); gap: 10px; margin-bottom: 18px; }
.explorer-result-summary > div { padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: #f8fbfc; }
.explorer-result-summary span { display: block; color: var(--muted); font-size: .64rem; }
.explorer-result-summary strong { display: block; margin-top: 7px; font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.explorer-chart-shell { width: 100%; margin-bottom: 18px; padding: 12px; overflow-x: auto; border: 1px solid var(--line); border-radius: 11px; background: linear-gradient(180deg,#fff,#f8fbfc); }
.explorer-chart-shell canvas { display: block; max-width: none; }
.chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 10px; color: var(--muted); font-size: .65rem; }
.chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.chart-legend i { width: 9px; height: 9px; border-radius: 50%; background: #0f766e; }
.chart-legend .chart-legend-color-2 { background: #1d4ed8; }
.chart-legend .chart-legend-color-3 { background: #d97706; }
.explorer-data-table { max-height: 430px; }
.explorer-privacy-note { margin: 12px 0 0; color: var(--muted); font-size: .63rem; line-height: 1.5; }
.saved-view-empty { padding: 18px; border: 1px dashed var(--line-strong); border-radius: 10px; color: var(--muted); font-size: .72rem; text-align: center; }
.saved-view-card { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.saved-view-card.is-active { margin-inline: -10px; padding-inline: 10px; border-radius: 10px; background: linear-gradient(90deg,#edf8f7,#f7fbfc); box-shadow: inset 3px 0 var(--teal-500); }
.saved-view-card.is-active strong { color: var(--teal-600); }
.saved-view-card:last-child { border: 0; }
.saved-view-card > div:first-child { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 3px 8px; align-items: center; }
.saved-view-card > div:first-child > span { padding: 3px 6px; border-radius: 999px; background: #e8f3f2; color: var(--teal-600); font-size: .58rem; font-weight: 800; }
.saved-view-card strong { font-size: .78rem; }
.saved-view-card small { grid-column: 2; color: var(--muted); font-size: .62rem; }
.saved-view-card > div:last-child { display: flex; align-items: center; gap: 8px; }
.pagination { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding: 14px 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .76rem; }
.pagination .button[disabled] { cursor: not-allowed; opacity: .45; }

.coming-soon { padding: 42px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg,#fff,#edf5f7); }
.coming-soon h3 { margin: 0; font-size: 1.35rem; }
.coming-soon p { max-width: 720px; color: var(--muted); line-height: 1.7; }
.coming-soon ul { display: grid; gap: 9px; padding-left: 20px; color: #375266; }

.media-upload-form { margin-bottom: 20px; }
.media-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.media-notes { grid-column: 1 / -1; }
.media-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; }
.media-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.media-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow-sm); }
.media-preview { aspect-ratio: 4/3; display: grid; place-items: center; padding: 12px; background: linear-gradient(145deg,#f5f8fa,#e8eff3); }
.media-preview img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 6px; }
.media-card-body { padding: 16px; }
.media-card-body h3 { margin: 12px 0 5px; font-size: .92rem; overflow-wrap: anywhere; }
.media-card-body > p { margin: 0; color: var(--muted); font-size: .74rem; }
.media-card-body dl { display: grid; grid-template-columns: 68px minmax(0,1fr); gap: 7px 10px; margin: 16px 0 0; font-size: .72rem; }
.media-card-body dt { color: var(--muted); }
.media-card-body dd { margin: 0; overflow-wrap: anywhere; }
.media-card-actions { display: flex; justify-content: flex-end; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.media-slot-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.media-slot-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; align-items: end; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: #f8fbfc; }
.media-slot-card > div:first-child { grid-column: 1 / -1; }
.media-slot-card h4 { margin: 6px 0 4px; font-size: .86rem; }
.media-slot-card p { margin: 0; color: var(--muted); font-size: .68rem; overflow-wrap: anywhere; }
.media-slot-card label > span { display: block; margin-bottom: 5px; color: #385266; font-size: .68rem; font-weight: 720; }
.media-slot-card input, .media-slot-card select { width: 100%; min-width: 0; }

/* Structured catalog and page editors */
.catalog-summary-bar {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.catalog-summary-bar[data-catalog-summary] { grid-template-columns: repeat(7,minmax(0,1fr)); }
.catalog-summary-bar > div {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
}
.catalog-summary-bar span { display: block; color: var(--muted); font-size: .68rem; }
.catalog-summary-bar strong { display: block; margin-top: 4px; color: var(--navy-950); font-size: 1.1rem; }
.catalog-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 16px;
  padding: 5px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #edf3f6;
}
.catalog-tabs button {
  min-width: max-content;
  min-height: 40px;
  padding: 8px 14px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #526879;
  font: inherit;
  font-size: .76rem;
  font-weight: 720;
  cursor: pointer;
}
.catalog-tabs button.is-active { background: #fff; color: var(--navy-900); box-shadow: 0 2px 8px rgba(7, 29, 45, .08); }
.catalog-workbench { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(410px, .85fr); gap: 16px; align-items: start; }
.catalog-list-pane { min-width: 0; }
.catalog-editor-pane {
  position: sticky;
  top: 112px;
  min-width: 0;
  max-height: calc(100vh - 136px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-lg);
}
.catalog-editor-empty { padding: 46px 28px; color: var(--muted); text-align: center; }
.catalog-editor-empty strong { display: block; margin-bottom: 7px; color: var(--navy-900); font-size: 1rem; }
.catalog-editor-head {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  padding: 20px 22px;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
}
.catalog-editor-head h3 { margin: 2px 0 5px; font-size: 1.14rem; }
.catalog-editor-head p { margin: 0; color: var(--muted); font-size: .74rem; }
.catalog-editor-head > div { min-width: 0; overflow-wrap: anywhere; }
.catalog-editor-body { display: grid; gap: 18px; padding: 20px 22px 98px; }
.editor-section { display: grid; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid #e6edf1; }
.editor-section:last-child { border-bottom: 0; }
.editor-section > header { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.editor-section h4 { margin: 0; color: var(--navy-950); font-size: .86rem; }
.editor-section header span { color: var(--muted); font-size: .68rem; }
.editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.editor-grid .field-wide { grid-column: 1 / -1; }
.editor-grid label, .editor-section > label { min-width: 0; }
.editor-grid label > span, .editor-section > label > span {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
  color: #385266;
  font-size: .7rem;
  font-weight: 720;
}
.editor-grid label small { color: var(--muted); font-weight: 500; }
.editor-grid input, .editor-grid textarea, .editor-grid select,
.editor-section > label input, .editor-section > label textarea, .editor-section > label select {
  width: 100%;
  min-width: 0;
}
.editor-grid textarea { min-height: 88px; resize: vertical; }
.field-inline { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 8px !important; align-items: center; margin: 0 !important; }
.field-inline .button { min-height: 44px; }
.locked-field input { background: #eef3f5; color: #647885; cursor: not-allowed; }
.risk-callout {
  padding: 13px 14px;
  border: 1px solid #e6c886;
  border-radius: 9px;
  background: #fff9ea;
  color: #684e17;
  font-size: .74rem;
  line-height: 1.55;
}
.risk-confirm { display: flex; gap: 10px; align-items: flex-start; color: #314b5d; font-size: .74rem; line-height: 1.5; }
.risk-confirm input { flex: 0 0 auto; width: 18px; height: 18px; min-height: 18px; margin-top: 1px; padding: 0; }
.product-availability-editor { gap: 14px; }
.product-availability-summary { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 14px; align-items: center; padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; background: #f8fbfc; }
.product-availability-summary > div { display: grid; gap: 5px; }
.product-availability-summary > div > span { color: var(--muted); font-size: .6rem; font-weight: 720; }
.product-availability-summary p { margin: 0; color: var(--muted); font-size: .66rem; line-height: 1.45; }
.product-availability-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 0; padding: 0; border: 0; }
.product-availability-options legend { grid-column: 1 / -1; margin-bottom: 1px; color: #385266; font-size: .68rem; font-weight: 760; }
.product-availability-options label { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 9px; align-items: flex-start; min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; }
.product-availability-options label:has(input:checked) { border-color: #82bfb3; background: #eff9f6; box-shadow: inset 3px 0 0 var(--teal-600); }
.product-availability-editor.is-archiving .product-availability-options label:has(input:checked) { border-color: #e1b674; background: #fff8e8; box-shadow: inset 3px 0 0 #b27a12; }
.product-availability-options input { width: 18px; height: 18px; min-height: 18px; margin: 1px 0 0; padding: 0; }
.product-availability-options strong, .product-availability-options small { display: block; }
.product-availability-options strong { color: var(--navy-900); font-size: .72rem; }
.product-availability-options small { margin-top: 3px; color: var(--muted); font-size: .6rem; line-height: 1.4; }
.product-archive-warning { margin: 0; }
.product-availability-action { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; align-items: end; }
.product-availability-action label > span { display: block; margin-bottom: 6px; color: #385266; font-size: .68rem; font-weight: 720; }
.product-availability-action input { width: 100%; }
.product-sort-order { display: grid; grid-template-columns: minmax(180px,1fr) minmax(120px,.55fr) minmax(180px,1fr) auto; gap: 9px; align-items: end; padding-top: 13px; border-top: 1px solid var(--line); }
.product-sort-order > div strong { display: block; color: var(--navy-900); font-size: .72rem; }
.product-sort-order > div p { margin: 4px 0 0; color: var(--muted); font-size: .6rem; line-height: 1.45; }
.product-sort-order label > span { display: block; margin-bottom: 6px; color: #385266; font-size: .68rem; font-weight: 720; }
.product-sort-order input { width: 100%; }
.product-photo-editor { gap: 16px; }
.product-photo-family-notice { margin: 0; border-color: #b7d4df; background: #f2f9fc; color: #294e64; font-size: .7rem; line-height: 1.55; }
.product-photo-release-notice { margin: 0; font-size: .7rem; line-height: 1.55; }
.product-gallery-summary { display: flex; flex-wrap: wrap; gap: 9px 12px; align-items: center; padding: 11px 12px; border: 1px solid #cfdde4; border-radius: 10px; background: #f8fbfc; }
.product-gallery-summary strong { min-width: 0; color: var(--navy-900); font-size: .68rem; line-height: 1.45; overflow-wrap: anywhere; }
.product-gallery-list { display: grid; gap: 10px; }
.product-gallery-list > .empty-state, .product-gallery-list > .product-photo-identity-card { min-height: 170px; border-radius: 11px; }
.product-gallery-legacy-reference { display: grid; grid-template-columns: minmax(126px,.42fr) minmax(0,1.58fr); gap: 12px; align-items: center; padding: 10px; border: 1px solid #d7e2e8; border-radius: 11px; background: #fff; }
.product-gallery-legacy-reference img { width: 100%; max-height: 180px; padding: 7px; border-radius: 9px; background: #f2f6f8; object-fit: contain; }
.product-gallery-legacy-reference strong, .product-gallery-legacy-reference small { display: block; overflow-wrap: anywhere; }
.product-gallery-legacy-reference strong { color: var(--navy-900); font-size: .7rem; }
.product-gallery-legacy-reference small { margin-top: 5px; color: var(--muted); font-size: .6rem; }
.product-gallery-item { display: grid; grid-template-columns: minmax(126px,.42fr) minmax(0,1.58fr); gap: 12px; align-items: stretch; min-width: 0; padding: 10px; border: 1px solid #d7e2e8; border-radius: 11px; background: #fff; box-shadow: 0 4px 14px rgba(7,29,45,.04); }
.product-gallery-item:has([data-gallery-primary]:checked) { border-color: #82bfb3; box-shadow: inset 3px 0 0 var(--teal-600),0 4px 14px rgba(7,29,45,.04); }
.product-gallery-item-media { position: relative; min-width: 0; overflow: hidden; border-radius: 9px; background: #f2f6f8; }
.product-gallery-item-media > img, .product-gallery-item-media > .product-photo-identity-card { display: block; width: 100%; height: 100%; min-height: 132px; aspect-ratio: 4/3; padding: 7px; object-fit: contain; }
.product-gallery-item-media > span { position: absolute; left: 7px; bottom: 7px; padding: 4px 7px; border-radius: 999px; background: rgba(7,29,45,.82); color: #fff; font-size: .52rem; font-weight: 760; backdrop-filter: blur(4px); }
.product-gallery-item-body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; align-content: start; min-width: 0; }
.product-gallery-item-body > label > span { display: block; margin-bottom: 5px; color: #385266; font-size: .62rem; font-weight: 720; }
.product-gallery-item-body > label input { width: 100%; }
.product-gallery-item-head { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.product-gallery-item-head label { display: inline-flex; gap: 7px; align-items: center; color: var(--navy-900); cursor: pointer; }
.product-gallery-item-head input { width: 17px; height: 17px; min-height: 17px; margin: 0; }
.product-gallery-item-head strong { font-size: .68rem; }
.product-gallery-item-head small { color: var(--muted); font-size: .58rem; }
.product-gallery-item-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; padding-top: 2px; }
.product-gallery-global-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.product-gallery-kind-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
.product-photo-overview { display: grid; grid-template-columns: minmax(150px,.8fr) minmax(0,1.2fr); gap: 14px; align-items: start; }
.product-photo-current { min-width: 0; overflow: hidden; border: 1px solid #d7e2e8; border-radius: 12px; background: linear-gradient(145deg,#f5f8fa,#e8eff3); }
.product-photo-current > img { display: block; width: 100%; aspect-ratio: 4/3; padding: 10px; background: #fff; object-fit: contain; }
.product-photo-identity-card { display: grid; place-content: center; width: 100%; aspect-ratio: 4/3; min-height: 140px; padding: 18px; background: radial-gradient(circle at 18% 18%,rgba(24,132,100,.16),transparent 40%),linear-gradient(145deg,#102f46,#071d2d); color: #fff; text-align: center; }
.product-photo-identity-card span { color: #9fd8ce; font-size: .54rem; font-weight: 820; letter-spacing: .12em; }
.product-photo-identity-card strong { display: block; margin-top: 8px; font-size: clamp(1.15rem,3vw,1.65rem); letter-spacing: .04em; overflow-wrap: anywhere; }
.product-photo-identity-card small { display: block; max-width: 220px; margin-top: 7px; color: #cfdee5; font-size: .62rem; line-height: 1.4; }
.product-photo-preview-meta { display: grid; gap: 5px; padding: 11px 12px 13px; background: #fff; }
.product-photo-preview-meta .status { width: fit-content; }
.product-photo-preview-meta strong { color: var(--navy-900); font-size: .66rem; line-height: 1.4; overflow-wrap: anywhere; }
.product-photo-preview-meta small { color: var(--muted); font-size: .6rem; line-height: 1.4; }
.product-photo-settings { display: grid; gap: 12px; min-width: 0; }
.product-photo-state-picker { display: grid; gap: 7px; margin: 0; padding: 0; border: 0; }
.product-photo-state-picker legend { margin-bottom: 6px; color: #385266; font-size: .68rem; font-weight: 760; }
.product-photo-state-picker label { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 9px; align-items: flex-start; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: #f8fbfc; cursor: pointer; }
.product-photo-state-picker label:has(input:checked) { border-color: #82bfb3; background: #eff9f6; box-shadow: inset 3px 0 0 var(--teal-600); }
.product-photo-state-picker input { width: 17px; height: 17px; min-height: 17px; margin: 1px 0 0; padding: 0; }
.product-photo-state-picker strong, .product-photo-state-picker small { display: block; }
.product-photo-state-picker strong { color: var(--navy-900); font-size: .68rem; }
.product-photo-state-picker small { margin-top: 2px; color: var(--muted); font-size: .58rem; line-height: 1.35; }
.product-photo-alt-grid { grid-template-columns: 1fr; }
.product-photo-manage { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.product-photo-source-panel { display: grid; align-content: start; gap: 11px; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #f8fbfc; }
.product-photo-source-panel header h5 { margin: 0; color: var(--navy-900); font-size: .76rem; }
.product-photo-source-panel header p { margin: 4px 0 0; color: var(--muted); font-size: .62rem; line-height: 1.45; }
.product-photo-dropzone { display: grid; place-items: center; min-height: 150px; padding: 18px; border: 1.5px dashed #9ab6c3; border-radius: 10px; background: #fff; text-align: center; cursor: pointer; transition: border-color .16s ease,background .16s ease,transform .16s ease; }
.product-photo-dropzone:is(:hover,:focus-within,.is-dragging) { border-color: var(--teal-600); background: #eff9f7; transform: translateY(-1px); }
.product-photo-drop-icon { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 8px; border-radius: 10px; background: #e4f4f1; color: var(--teal-700); font-size: 1.15rem; }
.product-photo-dropzone strong { color: var(--navy-900); font-size: .72rem; }
.product-photo-dropzone small { max-width: 240px; margin-top: 5px; color: var(--muted); font-size: .6rem; line-height: 1.4; overflow-wrap: anywhere; }
.product-photo-upload-notes > span { display: block; margin-bottom: 6px; color: #385266; font-size: .68rem; font-weight: 720; }
.product-photo-upload-notes textarea { width: 100%; min-height: 70px; resize: vertical; }
.product-media-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; max-height: 330px; overflow: auto; scrollbar-color: #aac1cc transparent; }
.product-media-picker > .empty-state { grid-column: 1 / -1; min-height: 150px; }
.product-media-choice { display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 8px; align-items: center; min-width: 0; padding: 7px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.product-media-choice:is(:hover,:focus-visible) { border-color: #9ebdc5; background: #f4fafa; }
.product-media-choice.is-selected { border-color: var(--teal-600); background: #eaf7f4; box-shadow: inset 0 0 0 1px var(--teal-600); }
.product-media-choice img { width: 60px; height: 60px; padding: 3px; border-radius: 7px; background: #f2f5f7; object-fit: contain; }
.product-media-choice span { min-width: 0; }
.product-media-choice strong, .product-media-choice small { display: block; overflow: hidden; text-overflow: ellipsis; }
.product-media-choice strong { color: var(--navy-900); font-size: .62rem; white-space: nowrap; }
.product-media-choice small { margin-top: 4px; color: var(--muted); font-size: .55rem; line-height: 1.35; }
.product-photo-library-actions { display: grid; gap: 8px; }
.product-photo-library-actions > span { color: var(--muted); font-size: .62rem; line-height: 1.4; overflow-wrap: anywhere; }
.product-photo-permission-notice { margin: 0; }
.category-cover-editor { gap: 14px; }
.category-cover-current { display: grid; grid-template-columns: minmax(120px,.65fr) minmax(0,1.35fr); gap: 12px; align-items: center; overflow: hidden; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: #f8fbfc; }
.category-cover-current > img, .category-cover-current > .product-photo-identity-card { width: 100%; aspect-ratio: 16/9; min-height: 100px; border-radius: 8px; object-fit: contain; }
.category-cover-current > img { padding: 6px; background: #fff; }
.category-cover-current > div:last-child { display: grid; gap: 5px; min-width: 0; }
.category-cover-current > div:last-child strong { color: var(--navy-900); font-size: .7rem; overflow-wrap: anywhere; }
.category-cover-current > div:last-child small { color: var(--muted); font-size: .62rem; line-height: 1.4; }
.category-cover-manage { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.category-cover-alt-grid { grid-template-columns: 1fr; }
.editor-sticky-actions {
  position: sticky;
  bottom: 0;
  z-index: 4;
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding: 14px 22px;
  border-top: 1px solid var(--line);
  background: rgba(255,255,255,.97);
  box-shadow: 0 -8px 22px rgba(7,29,45,.06);
  backdrop-filter: blur(12px);
}
.catalog-row { cursor: pointer; }
.catalog-row.is-selected { background: #eaf6f5; box-shadow: inset 3px 0 0 var(--teal-500); }
.catalog-family-caption, .catalog-sort-order { display: block; margin-top: 5px; color: var(--muted); font-size: .58rem; line-height: 1.35; }

.live-publish-panel { margin-bottom: 18px; }
.live-publish-list { display: grid; gap: 10px; }
.live-publish-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; align-items: start; padding: 15px 16px; border: 1px solid var(--line); border-left: 4px solid #8fa5b4; border-radius: 12px; background: #fff; }
.live-publish-card.is-working { border-left-color: var(--blue-500, #1976a8); background: #f6fbfe; }
.live-publish-card.is-success { border-left-color: #238761; background: #f5fbf8; }
.live-publish-card.is-error { border-left-color: #b75050; background: #fff8f7; }
.live-publish-card > div { min-width: 0; }
.live-publish-card strong { display: block; margin-top: 5px; color: var(--navy-900); font-size: .82rem; }
.live-publish-card p { margin: 5px 0 0; color: var(--muted); font-size: .67rem; line-height: 1.55; }
.live-publish-state { display: inline-flex; padding: 3px 8px; border-radius: 999px; background: #e9f0f4; color: #31566d; font-size: .58rem; font-weight: 780; }
.live-publish-card.is-working .live-publish-state { background: #dbeef8; color: #135b7d; }
.live-publish-card.is-success .live-publish-state { background: #dcefe7; color: #176747; }
.live-publish-card.is-error .live-publish-state { background: #f5dddd; color: #8d3131; }
.live-publish-card dl { display: grid; grid-template-columns: auto auto; gap: 3px 10px; margin: 0; font-size: .59rem; }
.live-publish-card dt { color: var(--muted); }
.live-publish-card dd { margin: 0; color: #314b5d; text-align: right; }
.row-action:focus-visible { outline-color: #007c75; }
.sidebar :focus-visible { outline-color: #69fff2; }
.source-chip { display: inline-flex; margin-top: 6px; padding: 3px 7px; border-radius: 999px; background: #eef3f5; color: #536b7a; font-size: .62rem; }
.managed-status { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 26px; margin-top: 6px; padding: 4px 8px; border-radius: 999px; background: #e6f4ef; color: #17654f; font-size: .66rem; font-weight: 760; }
.managed-status.is-draft { background: #fff1d6; color: #765413; }
.revision-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.revision-list li { padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: .7rem; }
.revision-list strong { display: block; color: var(--navy-900); }
.revision-list span { color: var(--muted); }

.page-object-list { display: grid; gap: 10px; }
.page-object-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; width: 100%; padding: 15px 16px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.page-object-card:is(:hover,:focus-visible) { border-color: #9ebdc5; background: #f7fbfb; }
.page-object-card h3 { margin: 0 0 4px; font-size: .88rem; }
.page-object-card p { margin: 0; color: var(--muted); font-size: .7rem; }
.layout-section-list { display: grid; gap: 8px; }
.layout-section-card { overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.layout-section-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; gap: 10px; align-items: center; padding: 11px 12px; }
.layout-section-row strong { font-size: .76rem; }
.layout-section-row small { display: block; margin-top: 3px; color: var(--muted); font-size: .64rem; }
.layout-section-row select { min-width: 104px; }
.layout-section-row button { min-width: 38px; min-height: 38px; }
.layout-section-row input[type="checkbox"] { width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; }
.layout-section-copy { border-top: 1px solid #e6edf1; background: #f8fbfc; }
.layout-section-copy summary { padding: 10px 12px; color: #385266; font-size: .68rem; font-weight: 720; cursor: pointer; }
.layout-section-copy .editor-grid { padding: 2px 12px 14px; }
.navigation-copy-grid { padding: 0 12px 14px; }
.navigation-reason { display: block; margin-top: 16px; }
.navigation-reason > span { display: block; margin-bottom: 6px; color: #385266; font-size: .7rem; font-weight: 720; }
.navigation-reason textarea { width: 100%; min-height: 76px; resize: vertical; }

.seo-summary-bar { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.seo-filter-grid { display: grid; grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(130px, .7fr)); gap: 10px; margin-bottom: 14px; }
.seo-filter-grid input, .seo-filter-grid select { margin: 0; }
.seo-url { display: block; max-width: 360px; margin-top: 4px; color: var(--muted); font-size: .66rem; overflow-wrap: anywhere; }
.seo-page-copy { display: grid; gap: 10px; margin: 0; }
.seo-page-copy div { padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbfc; }
.seo-page-copy dt { color: var(--muted); font-size: .66rem; font-weight: 760; text-transform: uppercase; letter-spacing: .04em; }
.seo-page-copy dd { margin: 5px 0 0; color: var(--navy-900); font-size: .76rem; line-height: 1.55; overflow-wrap: anywhere; }
.seo-issue-list { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.seo-issue-list li { display: flex; align-items: flex-start; gap: 9px; padding: 9px 11px; border: 1px solid #ecd9aa; border-radius: 8px; background: #fffaf0; font-size: .72rem; }
.seo-issue-list li.is-error { border-color: #efc1bd; background: #fff5f4; }
.seo-issue-list li.is-error strong { color: var(--danger); }
.seo-issue-list li.is-warning strong { color: var(--warning); }
.notice-success { border-color: #a8d9c6; background: #f1fbf6; color: #17654f; }
.seo-tabs { margin-top: 0; }
.seo-console-status { display: grid; grid-template-columns: auto minmax(260px,1fr) auto; gap: 16px; align-items: center; margin-bottom: 16px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg,#fff,#f4f8fa); box-shadow: var(--shadow-sm); }
.seo-console-status-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--navy-900); color: #fff; font-size: 1.1rem; font-weight: 850; }
.seo-console-status.is-ready { border-color: #9ed5c4; background: linear-gradient(145deg,#f0faf6,#fff); }
.seo-console-status.is-ready .seo-console-status-mark { background: #168464; }
.seo-console-status.is-running { border-color: #9ccad4; background: linear-gradient(145deg,#eef8fa,#fff); }
.seo-console-status.is-running .seo-console-status-mark { background: var(--teal-600); }
.seo-console-status.is-warning { border-color: #e5c47e; background: linear-gradient(145deg,#fff9eb,#fff); }
.seo-console-status.is-warning .seo-console-status-mark { background: #b27a12; }
.seo-console-status.is-missing { border-color: #d6dfe4; }
.seo-console-status > div:nth-child(2) > span { display: block; color: var(--muted); font-size: .6rem; font-weight: 820; letter-spacing: .09em; }
.seo-console-status > div:nth-child(2) > strong { display: block; margin-top: 4px; color: var(--navy-900); font-size: .96rem; }
.seo-console-status > div:nth-child(2) > p { max-width: 720px; margin: 5px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.seo-console-status .seo-console-error { color: var(--danger); }
.seo-console-status dl { display: grid; grid-template-columns: repeat(2,minmax(130px,auto)); gap: 9px 18px; margin: 0; }
.seo-console-status dl div { min-width: 0; }
.seo-console-status dt { color: var(--muted); font-size: .6rem; font-weight: 720; }
.seo-console-status dd { margin: 3px 0 0; color: var(--navy-800); font-size: .69rem; font-weight: 760; overflow-wrap: anywhere; }
.seo-console-status dd > span { display: block; }
.seo-performance-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-bottom: 12px; }
.seo-ingest-panel { margin-bottom: 18px; overflow: hidden; border-color: #bfd7dc; }
.seo-ingest-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; background: #f8fbfc; }
.seo-ingest-mode { min-width: 0; padding: 16px; border: 1px solid #d7e3e7; border-radius: 12px; background: #fff; }
.seo-ingest-mode.is-recommended { border-color: #8acbbd; background: linear-gradient(145deg,#f0faf7,#fff); }
.seo-ingest-mode.is-ready { box-shadow: inset 3px 0 #168464; }
.seo-ingest-mode.is-secondary { grid-column: 1 / -1; }
.seo-ingest-mode header { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 4px 9px; align-items: center; }
.seo-ingest-mode header > span { grid-row: span 2; align-self: start; padding: 4px 7px; border-radius: 999px; background: #e9f2f5; color: #3c6070; font-size: .56rem; font-weight: 820; }
.seo-ingest-mode.is-recommended header > span { background: #dff3ec; color: #12644e; }
.seo-ingest-mode header strong { color: var(--navy-900); font-size: .82rem; }
.seo-ingest-mode header small, .seo-ingest-mode > p, .seo-push-secret-result small { color: var(--muted); font-size: .66rem; line-height: 1.55; }
.seo-ingest-mode > p { margin: 11px 0; }
.seo-ingest-mode dl { display: grid; gap: 7px; margin: 0 0 12px; }
.seo-ingest-mode dl div { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 8px; }
.seo-ingest-mode dt { color: var(--muted); font-size: .62rem; font-weight: 740; }
.seo-ingest-mode dd { min-width: 0; margin: 0; font-size: .64rem; overflow-wrap: anywhere; }
.seo-ingest-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.seo-import-form { display: grid; grid-template-columns: minmax(140px,.45fr) minmax(220px,1fr) auto; gap: 10px; align-items: end; }
.seo-import-form label { display: grid; gap: 6px; color: var(--muted); font-size: .65rem; font-weight: 740; }
.seo-import-form input { width: 100%; min-width: 0; margin: 0; }
.seo-import-form input[type="file"] { padding: 8px; background: #f8fbfc; font-size: .65rem; }
.seo-import-representative-warning { margin: 0 0 12px; font-size: .64rem; line-height: 1.55; }
.seo-import-result { margin-top: 12px; padding: 12px; border: 1px solid #c8ded6; border-radius: 9px; background: #f3faf7; color: var(--navy-800); }
.seo-import-result[hidden] { display: none; }
.seo-import-result.is-error { border-color: #e4b7b7; background: #fff5f5; }
.seo-import-result > strong { display: block; font-size: .72rem; }
.seo-import-result > p { margin: 5px 0 0; font-size: .66rem; line-height: 1.55; }
.seo-import-result-warnings { margin-top: 9px; padding-top: 9px; border-top: 1px solid color-mix(in srgb,currentColor 18%,transparent); }
.seo-import-result-warnings > span { font-size: .6rem; font-weight: 800; letter-spacing: .08em; }
.seo-import-result-warnings ul { margin: 5px 0 0; padding-left: 18px; font-size: .62rem; line-height: 1.55; }
.seo-push-secret-result { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: end; margin-top: 12px; padding: 12px; border: 1px solid #e0b76c; border-radius: 9px; background: #fff9ea; }
.seo-push-secret-result[hidden] { display: none; }
.seo-push-secret-result strong, .seo-push-secret-result small { grid-column: 1 / -1; }
.seo-push-secret-result textarea { width: 100%; margin: 0; resize: none; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .72rem; }
.seo-ingest-history-panel { border-top: 1px solid var(--line); background: #fff; }
.seo-ingest-history-panel summary { padding: 13px 18px; color: var(--navy-800); cursor: pointer; font-size: .7rem; font-weight: 760; }
.seo-ingest-history { padding: 0 18px 14px; }
.seo-ingest-history-row { display: grid; grid-template-columns: minmax(140px,.8fr) minmax(110px,.5fr) minmax(180px,1fr); gap: 12px; padding: 10px 0; border-top: 1px solid #edf2f4; font-size: .67rem; }
.seo-ingest-history-row > span { min-width: 0; overflow-wrap: anywhere; }
.seo-ingest-history-row small { display: block; margin-top: 3px; color: var(--muted); font-size: .58rem; }
.seo-ingest-history-row.is-success > span:nth-child(2) { color: var(--success); }
.seo-ingest-history-row.is-failed > span:nth-child(2) { color: var(--danger); }
.seo-performance-filters { display: grid; grid-template-columns: repeat(4,minmax(130px,.7fr)) minmax(220px,1.2fr); gap: 12px; align-items: end; margin: 0 0 18px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.seo-performance-filters label { display: grid; gap: 6px; min-width: 0; color: var(--muted); font-size: .68rem; font-weight: 760; }
.seo-performance-filters label > span { padding-left: 2px; }
.seo-performance-filters input, .seo-performance-filters select { width: 100%; min-width: 0; margin: 0; }
.seo-performance-query { grid-column: span 2; }
.seo-performance-filter-actions { display: flex; gap: 8px; align-items: end; }
.seo-performance-filter-actions .button { min-height: 42px; }
.seo-performance-metrics { margin-bottom: 18px; }
.seo-performance-coverage { margin-bottom: 18px; }
.seo-performance-privacy { margin: 18px 0; font-size: .74rem; line-height: 1.6; }
.seo-breakdown-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.seo-breakdown-panel { min-width: 0; }
.seo-breakdown-list { display: grid; gap: 12px; }
.seo-breakdown-row { display: grid; grid-template-columns: minmax(62px,.65fr) minmax(110px,1.35fr) auto; gap: 10px; align-items: center; min-width: 0; font-size: .7rem; }
.seo-breakdown-row > span { overflow: hidden; color: var(--navy-800); font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.seo-breakdown-row > div { display: grid; gap: 5px; min-width: 0; }
.seo-breakdown-row > div small { color: var(--muted); font-size: .58rem; line-height: 1.3; white-space: nowrap; }
.seo-breakdown-row > strong { color: var(--navy-900); font-size: .7rem; font-variant-numeric: tabular-nums; text-align: right; }
.seo-breakdown-row > strong small { display: block; margin-top: 2px; color: var(--muted); font-size: .54rem; font-weight: 650; }
.seo-breakdown-meter .meter-value { fill: var(--blue-700); }
.seo-performance-trend-panel, .seo-performance-table-panel { margin-top: 18px; }
.seo-performance-trend-chart { min-height: 0; overflow-x: auto; overflow-y: hidden; padding: 8px 8px 0; border: 1px solid #dce7eb; border-radius: 12px; background: linear-gradient(180deg,#fbfdfd,#f4f8fa); scrollbar-color: #aac1cc transparent; }
.seo-performance-trend-plot { min-width: 100%; height: auto; display: block; }
.seo-performance-trend-plot text { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.seo-trend-grid-line { stroke: #d9e4e9; stroke-width: 1; vector-effect: non-scaling-stroke; }
.seo-trend-axis-label, .seo-trend-date-label { fill: #607384; font-size: 10px; font-variant-numeric: tabular-nums; }
.seo-trend-area { fill: url(#seo-performance-trend-area); }
.seo-trend-line { fill: none; stroke: var(--blue-700); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.seo-trend-point { fill: #fff; stroke: var(--blue-700); stroke-width: 2; vector-effect: non-scaling-stroke; }
.seo-trend-point.is-latest { fill: var(--blue-700); stroke: #fff; stroke-width: 3; }
.seo-performance-table td { max-width: 360px; vertical-align: middle; }
.seo-performance-table td > small, .seo-performance-table td > span { display: block; margin-top: 4px; color: var(--muted); font-size: .65rem; overflow-wrap: anywhere; }
.seo-performance-table td > strong a { color: var(--blue-700); text-decoration: none; }
.seo-performance-table td > strong a:hover { text-decoration: underline; }
.seo-local-signal { line-height: 1.45; }
.seo-opportunity-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.seo-opportunity-tag { display: inline-flex; padding: 4px 7px; border-radius: 999px; background: #eef3f6; color: #456072; font-size: .6rem; font-weight: 760; white-space: nowrap; }
.seo-opportunity-tag.is-position_4_20 { background: #e8f3fb; color: #1a628f; }
.seo-opportunity-tag.is-high_impressions_low_ctr { background: #fff1df; color: #8a5a12; }
.seo-opportunity-tag.is-declining { background: #fff0ed; color: #a4472f; }
.seo-opportunity-tag.is-cannibalization { background: #f1edff; color: #6250a2; }
.seo-performance-error, .seo-performance-empty { min-height: 190px; }

.auth-footer-link { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--line); text-align: center; font-size: .84rem; }
.auth-footer-link a { color: var(--blue-700); font-weight: 750; }
.form-status.is-success { color: var(--success); }
.activation-account { margin: -4px 0 0; padding: 11px 12px; border: 1px solid #b9d9d4; border-radius: 9px; background: #eff9f8; color: #225453; font-size: .82rem; font-weight: 720; }
.activation-account.is-error { border-color: #efc1bd; background: #fff5f4; color: var(--danger); }

.member-invite-panel { margin-bottom: 18px; border-color: #b8d8d6; }
.member-invite-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: end; }
.member-form-note { grid-column: 1 / -1; margin: 0; }
.member-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; }
.member-invite-form .form-status { grid-column: 1 / -1; }
.activation-result { display: grid; gap: 14px; margin-bottom: 18px; padding: 18px 20px; border: 1px solid #9fcfc3; border-radius: var(--radius); background: linear-gradient(145deg, #effaf6, #fff); box-shadow: var(--shadow-sm); }
.activation-result[hidden] { display: none; }
.activation-result strong { display: block; color: #115e4c; font-size: .98rem; }
.activation-result p { margin: 4px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.activation-result small { color: var(--muted); }
.activation-copy-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.activation-copy-row label { min-width: 0; }
.activation-copy-row input { margin-bottom: 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .76rem; }
.member-invitations-panel { margin-top: 18px; }
.member-list { display: grid; }
.member-list > .empty-state { margin: 20px; padding-block: 38px; }
.member-card { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(330px, 1.2fr) minmax(310px, auto); gap: 22px; align-items: center; padding: 18px 20px; border-bottom: 1px solid #e6edf1; }
.member-card:last-child { border-bottom: 0; }
.member-identity { min-width: 0; display: flex; gap: 12px; align-items: center; }
.member-avatar { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg, var(--navy-800), var(--teal-600)); color: #fff; font-size: .9rem; font-weight: 820; }
.member-identity h4 { margin: 0; font-size: .9rem; overflow-wrap: anywhere; }
.member-identity p { margin: 4px 0 0; color: var(--muted); font-size: .72rem; overflow-wrap: anywhere; }
.member-facts { min-width: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.member-facts div { min-width: 0; }
.member-facts span { display: block; color: var(--muted); font-size: .66rem; }
.member-facts strong { display: block; margin-top: 4px; font-size: .75rem; overflow-wrap: anywhere; }
.member-state-active { color: var(--success); }
.member-state-disabled { color: var(--danger); }
.member-state-pending { color: #175cd3; }
.member-controls { min-width: 0; display: grid; grid-template-columns: minmax(120px, 150px) minmax(0, 1fr); gap: 12px; align-items: end; }
.member-controls label { font-size: .7rem; }
.member-controls select { min-height: 40px; margin-top: 5px; padding-block: 7px; }
.member-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.member-actions .button { min-height: 38px; padding: 7px 10px; font-size: .72rem; }
.invitation-card { grid-template-columns: minmax(220px, .8fr) minmax(330px, 1.2fr) minmax(120px, auto); }
.invitation-card .member-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.permission-editor, .permission-readout { grid-column: 1 / -1; min-width: 0; border: 1px solid var(--line); border-radius: 11px; background: #f8fafb; }
.member-invite-form > .permission-editor { grid-column: 1 / -1; }
.permission-editor > summary, .permission-readout > summary { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 14px; color: var(--navy-800); cursor: pointer; list-style: none; }
.permission-editor > summary::-webkit-details-marker, .permission-readout > summary::-webkit-details-marker { display: none; }
.permission-editor > summary span:first-child { min-width: 0; }
.permission-editor > summary strong { display: block; font-size: .8rem; }
.permission-editor > summary small { display: block; margin-top: 3px; color: var(--muted); font-size: .67rem; font-weight: 600; }
.permission-summary-mark { color: var(--muted); transition: transform .16s ease; }
.permission-editor[open] .permission-summary-mark { transform: rotate(180deg); }
.permission-editor-body { padding: 2px 14px 14px; border-top: 1px solid var(--line); }
.permission-guidance { margin: 12px 0; padding: 10px 12px; border-left: 3px solid var(--teal-500); background: #edf7f7; color: #355665; font-size: .73rem; line-height: 1.55; }
.permission-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.permission-group { min-width: 0; margin: 0; padding: 10px; border: 1px solid #dfe7eb; border-radius: 9px; background: white; }
.permission-group legend { padding: 0 5px; color: var(--navy-900); font-size: .74rem; font-weight: 800; }
.permission-options { display: grid; gap: 7px; }
.permission-option { min-width: 0; display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 9px; align-items: start; padding: 8px; border-radius: 8px; color: var(--ink); cursor: pointer; }
.permission-option:hover { background: var(--surface-tint); }
.permission-option input { width: 18px; min-height: 18px; height: 18px; margin: 1px 0 0; padding: 0; border-radius: 4px; accent-color: var(--teal-600); }
.permission-option input:disabled { opacity: .72; }
.permission-check { display: none; }
.permission-copy { min-width: 0; }
.permission-copy strong { display: block; font-size: .74rem; }
.permission-copy small { display: block; margin-top: 3px; color: var(--muted); font-size: .64rem; font-weight: 520; line-height: 1.4; }
.permission-kind { align-self: start; padding: 3px 6px; border-radius: 999px; background: #edf2f5; color: #526b7a; font-size: .58rem; font-weight: 760; white-space: nowrap; }
.permission-editor-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.permission-editor-actions .button { min-height: 38px; font-size: .72rem; }
.permission-readout { padding: 0 14px; }
.permission-readout > summary { padding-inline: 0; font-size: .72rem; font-weight: 760; }
.permission-readout p { margin: 0; padding: 0 0 12px; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.permission-empty strong { display: block; margin-bottom: 8px; color: var(--navy-900); }
.permission-empty p { margin: 0; line-height: 1.6; }

.data-table td > small { display: block; margin-top: 4px; color: var(--muted); font-size: .65rem; }
.table-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.ai-knowledge-form, .ai-settings-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ai-knowledge-form label, .ai-settings-form label { display: grid; gap: 6px; min-width: 0; }
.ai-settings-form label:has(input[type="checkbox"]) { align-items: center; grid-template-columns: minmax(0,1fr) auto; padding: 12px 13px; border: 1px solid var(--line); border-radius: 9px; background: #f8fafb; }
.ai-settings-form input[type="checkbox"] { width: 20px; height: 20px; min-height: 0; margin: 0; accent-color: var(--teal-600); }
.ai-form-full { grid-column: 1 / -1; }
.ai-business-hours { min-width: 0; margin: 0; padding: 15px; border: 1px solid #cddce2; border-radius: 11px; background: linear-gradient(145deg,#f7fbfb,#fff); }
.ai-business-hours legend { padding: 0 6px; color: var(--navy-900); font-size: .78rem; font-weight: 820; }
.ai-business-hours > p { margin: 11px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.55; }
.ai-business-time { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ai-business-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 7px; margin-top: 12px; }
.ai-settings-form .ai-business-days label:has(input[type="checkbox"]) { display: flex; grid-template-columns: none; align-items: center; justify-content: center; gap: 6px; min-height: 39px; padding: 8px 5px; border: 1px solid #dce5e9; border-radius: 8px; background: #fff; color: var(--navy-800); font-size: .67rem; font-weight: 760; cursor: pointer; }
.ai-settings-form .ai-business-days label:has(input:checked) { border-color: #83c7c0; background: #eaf7f5; color: #155d56; }
.ai-settings-form .ai-business-days input[type="checkbox"] { flex: 0 0 auto; width: 16px; height: 16px; }
.ai-knowledge-form textarea { min-height: 220px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .78rem; line-height: 1.65; }
.ai-conversation-controls { padding-block: 16px 14px; border-top: 1px solid var(--line); }
.ai-conversation-filters { align-items: end; margin: 0; }
.ai-conversation-filters label { display: grid; gap: 6px; color: var(--muted); font-size: .7rem; font-weight: 760; }
.ai-conversation-filters .ai-conversation-search { min-width: min(420px,100%); flex: 1; }
.ai-conversation-filters .button { min-height: 42px; }
.ai-conversation-result-summary { margin: 10px 0 0; color: var(--muted); font-size: .7rem; }
.ai-conversation-table-wrap { border-inline: 0; border-radius: 0; box-shadow: none; }
.ai-conversation-table td:first-child { min-width: 300px; max-width: 470px; }
.ai-conversation-table td:nth-child(4) { min-width: 155px; max-width: 240px; }
.ai-conversation-table td:nth-child(6) { min-width: 180px; max-width: 310px; }
.ai-conversation-open { width: 100%; min-height: 36px; display: grid; gap: 5px; margin: -4px; padding: 4px; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.ai-conversation-open strong { line-height: 1.5; }
.ai-conversation-open small { color: var(--blue-700); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .62rem; overflow-wrap: anywhere; }
.ai-conversation-open:hover strong, .ai-conversation-open:focus-visible strong { color: var(--blue-700); text-decoration: underline; text-underline-offset: 3px; }
.ai-conversation-detail { border-top: 1px solid var(--line); background: linear-gradient(180deg,#fff,#fbfdfe); }
.ai-conversation-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ai-conversation-detail-heading span:first-child { color: var(--muted); font-size: .65rem; }
.ai-conversation-detail-heading h3 { margin: 4px 0 0; color: var(--navy-900); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .92rem; overflow-wrap: anywhere; }
.ai-conversation-meta-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.ai-conversation-meta-grid > div { min-width: 0; padding: 10px 12px; border: 1px solid #e1e9ed; border-radius: 9px; background: #f8fafb; }
.ai-conversation-meta-grid span { display: block; color: var(--muted); font-size: .63rem; }
.ai-conversation-meta-grid strong { display: block; margin-top: 4px; color: var(--navy-800); font-size: .72rem; overflow-wrap: anywhere; }
.ai-transcript-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 22px 0 10px; }
.ai-transcript-head h4 { margin: 0; color: var(--navy-900); font-size: .86rem; }
.ai-transcript-head span { color: var(--muted); font-size: .66rem; }
.ai-message-log { display: grid; gap: 12px; max-height: 620px; overflow-y: auto; padding: 4px 4px 18px; scroll-behavior: smooth; }
.ai-message-log article { width: fit-content; max-width: min(88%,760px); padding: 12px 14px; border: 1px solid #dfe7eb; border-radius: 4px 12px 12px 12px; background: #f8fafb; box-shadow: 0 4px 14px rgba(7,29,45,.035); }
.ai-message-log article.is-user { justify-self: end; border-color: #cbe2e0; border-radius: 12px 4px 12px 12px; background: #edf7f7; }
.ai-message-log article.is-human { border-color: #b8cfe6; background: #eef5fc; box-shadow: 0 4px 16px rgba(20,74,122,.06); }
.ai-message-log article.is-human > header strong { color: #175b91; }
.ai-message-log article.is-system { justify-self: center; width: min(92%,720px); max-width: none; border-style: dashed; border-radius: 10px; background: #f6f8f9; text-align: center; }
.ai-message-log article.is-system > header { justify-content: center; }
.ai-message-log article.is-system > header time { margin-left: 8px; }
.ai-message-log article > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ai-message-log article > header strong { color: var(--navy-800); font-size: .7rem; }
.ai-message-log article > header time { color: var(--muted); font-size: .61rem; white-space: nowrap; }
.ai-message-log article > p { margin: 7px 0; color: var(--ink); font-size: .8rem; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.ai-message-log article > footer { min-height: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.ai-message-sources { margin-top: 10px; padding-top: 9px; border-top: 1px solid #dde6ea; }
.ai-message-sources > span { display: block; color: var(--muted); font-size: .62rem; font-weight: 760; }
.ai-message-sources ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 0; padding: 0; list-style: none; }
.ai-message-sources li { max-width: 100%; }
.ai-message-sources a, .ai-message-sources li > span { display: inline-flex; max-width: 100%; padding: 5px 7px; border-radius: 7px; background: #eaf1f4; color: var(--blue-700); font-size: .64rem; line-height: 1.35; overflow-wrap: anywhere; }
.ai-redacted-mark { color: var(--muted); font-size: .63rem; font-weight: 700; }
.ai-redacted-mark::before { content: "●"; margin-right: 4px; color: var(--teal-600); }
.ai-handoff-card { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px; align-items: start; margin-top: 10px; padding: 13px; border: 1px solid #efd89d; border-radius: 10px; background: #fffaf0; }
.ai-handoff-card strong { display: block; color: var(--navy-800); font-size: .76rem; }
.ai-handoff-card p { margin: 5px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.ai-notification-card { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px; align-items: start; margin-top: 10px; padding: 13px; border: 1px solid #cbdde5; border-radius: 10px; background: #f6fafc; }
.ai-notification-card strong { display: block; color: var(--navy-800); font-size: .76rem; }
.ai-notification-card p { margin: 5px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.ai-notification-card p.is-error { color: var(--danger); }
.ai-conversation-state { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.ai-conversation-state label { display: grid; gap: 5px; min-width: min(260px,100%); color: var(--muted); font-size: .7rem; font-weight: 760; }
.ai-conversation-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; padding: 13px; border: 1px solid #dce6ea; border-radius: 10px; background: #f8fafb; }
.ai-human-reply { display: grid; gap: 10px; margin-top: 14px; padding: 15px; border: 1px solid #a9d2cc; border-radius: 11px; background: linear-gradient(145deg,#eff9f7,#fff); }
.ai-human-reply label { display: grid; gap: 7px; color: var(--navy-800); font-size: .73rem; font-weight: 800; }
.ai-human-reply textarea { min-height: 104px; resize: vertical; line-height: 1.55; }
.ai-human-reply > div { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 9px; }
.ai-human-reply > div > span { color: var(--muted); font-size: .66rem; }
.ai-reply-locked { margin-top: 14px; }
.ai-wecom-status-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.ai-wecom-status-grid > div { min-width: 0; padding: 11px 12px; border: 1px solid #e0e8ec; border-radius: 9px; background: #f8fafb; }
.ai-wecom-status-grid span:first-child { display: block; color: var(--muted); font-size: .63rem; }
.ai-wecom-status-grid strong { display: block; margin-top: 5px; color: var(--navy-800); font-size: .74rem; overflow-wrap: anywhere; }
.ai-wecom-status-grid strong > .status { display: inline-flex; margin-top: 0; }
.ai-wecom-error { padding-top: 0; }
.ai-wecom-error strong { color: var(--danger); font-size: .72rem; }
.ai-wecom-error p { margin: 5px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.55; overflow-wrap: anywhere; }

.toast { position: fixed; right: 24px; bottom: 24px; max-width: min(420px,calc(100% - 48px)); padding: 13px 16px; border: 1px solid #a5d8d4; border-radius: 10px; background: var(--navy-950); color: white; box-shadow: var(--shadow-lg); z-index: 100; font-size: .84rem; }

@media (hover:hover) and (pointer:fine) {
  .metric-card, .panel, .content-field { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
  .metric-card:hover, .panel:hover, .content-field:hover { transform: translateY(-2px); border-color: #c4d3dc; box-shadow: 0 12px 30px rgba(7,29,45,.08); }
}

@media (max-width: 1180px) {
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric-grid[data-card-count] { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric-grid[data-card-count="1"] { grid-template-columns: minmax(0,1fr); }
  .content-layout { grid-template-columns: 210px minmax(0,1fr); }
  .content-preview { display: none; }
  .media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-workbench { grid-template-columns: 1fr; }
  .catalog-editor-pane { position: static; max-height: none; }
  .catalog-summary-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catalog-summary-bar[data-catalog-summary] { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .seo-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .seo-console-status { grid-template-columns: auto minmax(0,1fr); }
  .seo-console-status dl { grid-column: 1 / -1; grid-template-columns: repeat(4,minmax(0,1fr)); }
  .seo-performance-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .seo-import-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .seo-import-form .button { grid-column: 1 / -1; }
  .seo-breakdown-grid { grid-template-columns: 1fr; }
  .product-photo-manage { grid-template-columns: 1fr; }
  .category-cover-manage { grid-template-columns: 1fr; }
  .product-sort-order { grid-template-columns: 1fr 1fr; }
  .media-slot-grid { grid-template-columns: 1fr; }
  .member-card, .invitation-card { grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); }
  .member-controls, .member-card > .member-actions { grid-column: 1 / -1; }
  .quality-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .explorer-layout { grid-template-columns: 1fr; }
  .explorer-builder-panel { position: static; }
  .saved-views-panel { grid-column: auto; }
}

@media (max-width: 900px) {
  .auth-body { background: linear-gradient(165deg,var(--navy-950) 0 36%,#eef5f7 36.2%); }
  .auth-layout { grid-template-columns: 1fr; gap: 44px; width: min(620px,calc(100% - 32px)); padding-block: 32px; }
  .auth-brand h1 { margin-top: 32px; font-size: clamp(2.2rem,9vw,4rem); }
  .auth-points { display: none; }
  .admin-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; inset: 0 auto 0 0; width: min(300px,86vw); transform: translateX(-102%); transition: transform .2s ease; box-shadow: var(--shadow-lg); }
  body.nav-open .sidebar { transform: translateX(0); }
  body.nav-open::after { content:""; position:fixed; inset:0; background:rgba(7,29,45,.5); z-index:19; }
  .mobile-nav-button { display: inline-grid; place-items: center; }
  .dashboard-grid, .inquiry-grid, .analytics-grid, .analytics-decision-grid { grid-template-columns: 1fr; }
  .inquiry-detail { position: static; }
  .topbar { padding-inline: 18px; }
  .topbar-actions .button-quiet { display: none; }
  #admin-main { padding: 24px 18px 42px; }
}

@media (max-width: 720px) {
  .live-publish-card { grid-template-columns: 1fr; gap: 12px; }
  .live-publish-card dl { grid-template-columns: auto 1fr; }
  .live-publish-card dd { text-align: left; }
  .page-intro { grid-template-columns: 1fr; gap: 16px; }
  .page-intro-actions, .topbar-actions { width: 100%; }
  .topbar { flex-wrap: wrap; }
  .topbar-actions { order: 3; }
  .topbar-actions .button { flex: 1; }
  .metric-grid { grid-template-columns: 1fr; }
  .metric-grid[data-card-count] { grid-template-columns: 1fr; }
  .content-layout { grid-template-columns: 1fr; }
  .content-groups { position: static; display: flex; gap: 6px; overflow-x: auto; }
  .content-groups button { min-width: max-content; }
  .toolbar > * { width: 100% !important; min-width: 0 !important; }
  .data-table-wrap { border: 0; background: transparent; box-shadow: none; overflow: visible; }
  .data-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  .data-table, .data-table tbody, .data-table tr, .data-table td { display: block; width: 100%; }
  .data-table tr { margin-bottom: 12px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow-sm); overflow: hidden; }
  .data-table td { display: grid; grid-template-columns: minmax(90px,.42fr) minmax(0,1fr); gap: 12px; border-top: 1px solid #e7edf1; }
  .data-table td::before { content: attr(data-label); color: var(--muted); font-size: .7rem; font-weight: 760; }
  .detail-list { grid-template-columns: 1fr; }
  .detail-list dd { margin-bottom: 8px; }
  .bar-row { grid-template-columns: minmax(90px,1fr) 1.5fr 42px; }
  .trend-summary { gap: 6px; }
  .trend-summary article { padding: 10px; }
  .trend-summary small { display: block; margin: 4px 0 0; }
  .trend-chart { min-height: 0; }
  .analytics-filter-scope { gap: 9px; margin-top: -6px; margin-bottom: 14px; padding: 11px 12px; font-size: .73rem; }
  .analytics-filter-scope::before { flex-basis: 20px; width: 20px; height: 20px; font-size: .62rem; }
  .pagination { justify-content: space-between; flex-wrap: wrap; }
  .pagination span { order: -1; width: 100%; text-align: center; }
  .funnel-step { grid-template-columns: minmax(0,1fr) 48px; }
  .funnel-measure { grid-column: 1 / -1; grid-row: 2; }
  .period-grid, .quality-grid, .explorer-primary-fields, .explorer-filter-grid { grid-template-columns: 1fr; }
  .explorer-primary-fields label:first-child { grid-column: auto; }
  .save-view-form { grid-template-columns: 1fr; }
  .saved-view-card { align-items: flex-start; flex-direction: column; }
  .media-form-grid, .media-grid { grid-template-columns: 1fr; }
  .media-slot-card { grid-template-columns: 1fr; }
  .media-slot-card > div:first-child { grid-column: auto; }
  .media-notes, .media-form-actions { grid-column: auto; }
  .catalog-summary-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-summary-bar[data-catalog-summary] { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .seo-filter-grid { grid-template-columns: 1fr; }
  .seo-console-status { grid-template-columns: 1fr; align-items: start; }
  .seo-console-status dl { grid-column: auto; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .seo-performance-actions { justify-content: stretch; }
  .seo-performance-actions .button { flex: 1; }
  .seo-ingest-grid, .seo-import-form { grid-template-columns: 1fr; }
  .seo-ingest-mode.is-secondary, .seo-import-form .button { grid-column: auto; }
  .seo-ingest-actions .button { flex: 1 1 180px; }
  .seo-push-secret-result { grid-template-columns: 1fr; }
  .seo-push-secret-result .button { width: 100%; }
  .seo-ingest-history-row { grid-template-columns: 1fr 1fr; }
  .seo-ingest-history-row > span:last-child { grid-column: 1 / -1; }
  .seo-performance-filters { grid-template-columns: 1fr; }
  .seo-performance-query { grid-column: auto; }
  .seo-performance-filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .seo-performance-filter-actions .button { width: 100%; }
  .seo-performance-trend-chart { padding-inline: 3px; }
  .seo-breakdown-row { grid-template-columns: minmax(66px,.6fr) minmax(100px,1.4fr) auto; }
  .product-photo-overview { grid-template-columns: 1fr; }
  .product-gallery-item { grid-template-columns: 1fr; }
  .product-gallery-legacy-reference { grid-template-columns: 1fr; }
  .product-gallery-item-media > img, .product-gallery-item-media > .product-photo-identity-card { height: auto; }
  .product-gallery-kind-picker, .product-gallery-item-body { grid-template-columns: 1fr; }
  .product-gallery-item-head, .product-gallery-item-actions { grid-column: auto; }
  .product-gallery-global-actions .button { flex: 1 1 180px; }
  .product-availability-options, .product-availability-action { grid-template-columns: 1fr; }
  .product-availability-summary { grid-template-columns: 1fr; }
  .product-sort-order { grid-template-columns: 1fr; }
  .category-cover-current { grid-template-columns: 1fr; }
  .product-media-picker { grid-template-columns: 1fr; }
  .editor-grid { grid-template-columns: 1fr; }
  .editor-grid .field-wide { grid-column: auto; }
  .field-inline { grid-template-columns: 1fr; }
  .catalog-editor-head { padding-inline: 16px; }
  .catalog-editor-body { padding: 16px 16px 104px; }
  .editor-sticky-actions { padding-inline: 16px; }
  [data-section-id] .layout-section-row { grid-template-columns: auto minmax(0, 1fr); }
  [data-section-id] .layout-section-row > select { grid-column: 1 / -1; width: 100%; min-width: 0; }
  [data-section-id] .layout-section-row > span:last-child { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }
  [data-navigation-key] .layout-section-row { grid-template-columns: auto minmax(0, 1fr) auto auto; }
  .button, .catalog-tabs button, .table-action, .row-action, .layout-section-row button { min-height: 44px; }
  .sidebar-foot button { min-height: 44px; display: inline-flex; align-items: center; }
  .member-invite-form, .member-card, .invitation-card { grid-template-columns: 1fr; }
  .member-controls, .member-card > .member-actions { grid-column: auto; }
  .member-controls { grid-template-columns: 1fr; }
  .member-actions { justify-content: flex-start; }
  .member-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .invitation-card .member-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .permission-groups { grid-template-columns: 1fr; }
  .activation-copy-row { grid-template-columns: 1fr; }
  .activation-copy-row .button { width: 100%; }
  .ai-knowledge-form, .ai-settings-form { grid-template-columns: 1fr; }
  .ai-form-full { grid-column: auto; }
  .ai-business-days { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .ai-wecom-status-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ai-conversation-meta-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ai-conversation-table td:first-child, .ai-conversation-table td:nth-child(4), .ai-conversation-table td:nth-child(6) { min-width: 0; max-width: none; }
}

@media (max-width: 430px) {
  .auth-layout { width: min(100% - 24px,620px); }
  .auth-card { padding: 24px 18px; }
  .topbar h1 { font-size: 1.25rem; }
  .topbar > div:first-of-type { flex: 1; }
  .topbar-actions { gap: 7px; }
  #admin-main { padding-inline: 12px; }
  .content-field, .metric-card, .panel-body { padding: 16px; }
  .editor-sticky-actions { flex-wrap: wrap; }
  .editor-sticky-actions .button { flex: 1 1 128px; }
  .data-table td, .data-table td > * { min-width: 0; overflow-wrap: anywhere; }
  .member-card { padding: 16px; gap: 16px; }
  .member-facts { grid-template-columns: 1fr; }
  .invitation-card .member-facts { grid-template-columns: 1fr; }
  .member-actions .button { flex: 1 1 100%; }
  .permission-editor-body { padding-inline: 10px; }
  .permission-option { grid-template-columns: 20px minmax(0, 1fr); }
  .permission-kind { grid-column: 2; width: fit-content; }
  .permission-editor-actions .button { flex: 1 1 100%; }
  .ai-conversation-meta-grid { grid-template-columns: 1fr; }
  .ai-business-time, .ai-wecom-status-grid { grid-template-columns: 1fr; }
  .ai-business-days { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ai-transcript-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .ai-message-log article { max-width: 96%; }
  .ai-message-log article > header { align-items: flex-start; flex-direction: column; gap: 3px; }
  .ai-conversation-state .button, .ai-conversation-actions .button, .ai-human-reply .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
/* Translation editing keeps source and translation readable, including RTL. */
.translation-rows { display: grid; gap: 18px; margin: 20px 0; }
.translation-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; padding: 16px; border: 1px solid var(--border, #dfe5ed); border-radius: 12px; }
.translation-row label { display: grid; gap: 6px; min-width: 0; }
.translation-row textarea { width: 100%; min-height: 100px; line-height: 1.65; resize: vertical; overflow-wrap: anywhere; font-family: Arial, "Segoe UI", sans-serif; }
.translation-row button { justify-self: start; }
[lang="ar"] { font-family: Arial, "Segoe UI", sans-serif; line-height: 1.8; }
@media (max-width: 720px) { .translation-row { grid-template-columns: minmax(0, 1fr); } }
