:root {
  color-scheme: light;
  --wine:#6f1d2b; --wine-dark:#51131e; --ink:#20242b; --muted:#697282;
  --line:#dfe3e8; --page:#f5f6f8; --panel:#fff; --soft:#f9fafb;
  --gold:#d6a928; --gold-soft:#fff2cc; --green:#207a4b;
  --green-soft:#eaf7ef; --red:#b42318; --red-soft:#fff0ee;
  --blue:#285f9e; --blue-soft:#edf5ff; --shadow:0 10px 30px rgba(27,34,44,.08);
  --sidebar:184px;
}
* { box-sizing:border-box; }
body {
  margin:0; background:var(--page); color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  zoom:1.25;
}
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:inherit; }
.app { min-height:100vh; display:grid; grid-template-columns:var(--sidebar) minmax(0,1fr); }
.sidebar {
  position:sticky; top:0; height:100vh; padding:14px 10px; color:#fff;
  background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.11),transparent 26%),
    linear-gradient(180deg,var(--wine) 0%,var(--wine-dark) 100%);
}
.brand { display:flex; align-items:center; gap:9px; padding:0 6px 14px; border-bottom:1px solid rgba(255,255,255,.14); }
.brand-mark { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; color:var(--wine); background:#fff; font-weight:800; }
.brand strong { display:block; font-size:15px; }
.brand small { display:block; color:rgba(255,255,255,.68); font-size:11px; }
.nav { display:grid; gap:2px; margin-top:13px; }
.nav a { display:flex; align-items:center; gap:8px; padding:8px 9px; border-radius:7px; color:rgba(255,255,255,.78); text-decoration:none; font-size:12px; }
.nav a:hover,.nav a.active { color:#fff; background:rgba(255,255,255,.13); }
.nav-icon { width:17px; text-align:center; font-size:13px; font-weight:700; }
.sidebar-status { position:absolute; right:10px; bottom:10px; left:10px; padding:8px 9px; border:1px solid rgba(255,255,255,.14); border-radius:8px; background:rgba(0,0,0,.12); font-size:10px; line-height:1.5; }
.status-dot { display:inline-block; width:8px; height:8px; margin-right:6px; border-radius:50%; background:#5bd18b; box-shadow:0 0 0 3px rgba(91,209,139,.16); }
.mobile-nav,.mobile-more-sheet,.mobile-sheet-backdrop { display:none; }
.workspace { min-width:0; }
.topbar { position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:7px 16px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.95); backdrop-filter:blur(10px); }
.topbar-account-only { justify-content:flex-end; }
.source-control { display:flex; align-items:center; gap:10px; margin:0; }
.source-control label { color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.source-control select { min-width:190px; padding:6px 30px 6px 9px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font-weight:650; }
.account { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:12px; }
.account a { text-decoration:none; }
.account a:hover { color:var(--wine); }
.avatar { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; color:#fff; background:var(--wine); font-weight:700; }
.page-main { width:min(1720px,100%); margin:0 auto; padding:14px 16px 20px; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:12px; }
.page-heading h1 { margin:0 0 3px; font-size:21px; }
.subtitle { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.heading-meta { color:var(--muted); font-size:10px; text-align:right; line-height:1.5; }
.panel { margin-bottom:12px; border:1px solid var(--line); border-radius:12px; background:var(--panel); box-shadow:var(--shadow); }
.panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:12px 14px; border-bottom:1px solid var(--line); }
.panel-header h2,.panel-header h3 { margin:0; font-size:14px; }
.panel-header p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.panel-body { padding:14px; }
.panel-flush { padding:0; }
.grid-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.cards { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:7px; margin-bottom:10px; }
.card { display:grid; min-height:55px; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center; column-gap:10px; padding:7px 10px; border:1px solid var(--line); border-radius:11px; background:var(--panel); }
.card-label { color:var(--muted); font-size:10px; font-weight:700; }
.card-value { grid-column:2; grid-row:1/3; font-size:20px; font-weight:750; }
.card-note { color:var(--muted); font-size:9px; }
.card.good .card-value { color:var(--green); }
.card.warn .card-value { color:#9a6900; }
.command-bar { display:flex; align-items:center; gap:7px; flex-wrap:wrap; padding:8px 10px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.97); }
.command-bar.sticky { position:sticky; top:52px; z-index:40; border-radius:12px 12px 0 0; }
.search-field { position:relative; flex:1 1 280px; max-width:480px; }
.search-field::before { position:absolute; top:6px; left:10px; content:"⌕"; color:var(--muted); font-size:18px; }
.search-field input { width:100%; padding-left:30px; }
.field,.select,.button { min-height:32px; padding:6px 9px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font-size:12px; }
.field:focus,.select:focus { outline:0; border-color:var(--wine); box-shadow:0 0 0 3px rgba(111,29,43,.10); }
.field-full { width:100%; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:5px; font-weight:650; text-decoration:none; }
.button:hover { border-color:#b9c0c9; background:var(--soft); }
.button.primary { color:#fff; border-color:var(--wine); background:var(--wine); }
.button.primary:hover { background:var(--wine-dark); }
.button.success { color:#fff; border-color:var(--green); background:var(--green); }
.button.danger-outline { color:var(--red); border-color:#efb1b1; background:#fff; }
.button.danger-outline:hover { border-color:var(--red); background:var(--red-soft); }
.button:disabled { cursor:default; opacity:.48; }
.push { margin-left:auto; }
.form-row { margin-bottom:12px; }
.form-row label,.form-label { display:block; margin-bottom:5px; font-size:11px; font-weight:700; }
.form-help,.muted { color:var(--muted); font-size:10px; line-height:1.5; }
.form-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:14px; }
.callout { margin-bottom:12px; padding:10px 12px; border:1px solid #d9e2ef; border-left:5px solid var(--blue); border-radius:8px; color:#445064; background:#f6f9fd; font-size:11px; line-height:1.55; }
.callout.success { border-color:#b9dfc8; border-left-color:var(--green); color:#165c38; background:#f3fbf6; }
.callout.error { border-color:#f0b7b2; border-left-color:var(--red); color:#8a1f11; background:#fff1f0; }
.callout.warning { border-color:#ead28a; border-left-color:var(--gold); color:#694b00; background:#fff9e5; }
.badge { display:inline-flex; align-items:center; gap:4px; padding:3px 7px; border-radius:999px; color:var(--blue); background:var(--blue-soft); font-size:10px; font-weight:700; white-space:nowrap; }
.badge.good { color:var(--green); background:var(--green-soft); }
.badge.warn { color:#8a6200; background:#fff5d8; }
.badge.danger { color:var(--red); background:var(--red-soft); }
.path-preview,.mono { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.path-preview { padding:9px 10px; border:1px solid var(--line); border-radius:7px; color:#4d5664; background:var(--soft); font-size:11px; word-break:break-all; }
.table-wrap { overflow:auto; max-height:calc(100vh - 220px); }
.table-wrap.unbounded { max-height:none; }
table { width:100%; border-collapse:collapse; font-size:11px; }
th,td { padding:8px 9px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); vertical-align:middle; text-align:left; }
th { position:sticky; top:0; z-index:15; color:#596272; background:#f3f5f7; font-size:10px; letter-spacing:.035em; text-transform:uppercase; white-space:nowrap; }
tbody tr:nth-child(even) { background:#fafbfc; }
tbody tr { transition:background-color .14s ease,box-shadow .14s ease; }
tbody tr:hover,tbody tr:focus-within { background:var(--gold-soft); box-shadow:inset 5px 0 0 var(--gold); }
.hidden-row { display:none!important; }
.empty-state { display:none; padding:28px; color:var(--muted); text-align:center; }
.empty-state.visible { display:block; }
.table-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 10px; color:var(--muted); background:var(--soft); font-size:11px; }
.pagination { display:flex; align-items:center; gap:5px; }
.page-link { display:grid; min-width:29px; height:28px; padding:0 7px; place-items:center; border:1px solid var(--line); border-radius:6px; background:#fff; text-decoration:none; }
.page-link.active { color:#fff; border-color:var(--wine); background:var(--wine); }
.workflow { display:grid; gap:9px; counter-reset:workflow; margin:0; padding:0; list-style:none; }
.workflow li { position:relative; min-height:30px; padding:4px 0 4px 38px; color:var(--muted); font-size:11px; line-height:1.45; }
.workflow li::before { counter-increment:workflow; content:counter(workflow); position:absolute; top:0; left:0; display:grid; width:27px; height:27px; place-items:center; border-radius:50%; color:#fff; background:var(--wine); font-weight:750; }
.stat-line { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid var(--line); font-size:11px; }
.stat-line:last-child { border-bottom:0; }
.feed-actions { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(420px,1.3fr); gap:18px; }
.selection-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:7px; padding:7px 10px; border-bottom:1px solid var(--line); background:var(--soft); }
.selection-scope { display:inline-flex; align-items:center; gap:7px; }
.all-pages-scope { margin-left:3px; padding-left:10px; border-left:1px solid var(--line); }
.scope-label { color:var(--muted); font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.feed-table-wrap { max-height:calc(100vh - 245px); }
.feed-table { min-width:1550px; }
.feed-table .checkbox-cell { width:38px; min-width:38px; text-align:center; }
.feed-table .feed-name { min-width:260px; max-width:420px; }
.feed-row { cursor:pointer; }
.feed-row.selected-row { background:var(--green-soft); box-shadow:inset 4px 0 0 var(--green); }
.check-label { display:inline-flex; align-items:center; gap:5px; min-height:32px; color:var(--muted); font-size:11px; white-space:nowrap; }
.switch-label { display:inline-flex; align-items:center; gap:6px; min-height:32px; color:var(--muted); font-size:11px; white-space:nowrap; cursor:pointer; }
.switch-label input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.switch-track { position:relative; width:32px; height:18px; border-radius:999px; background:#c7cdd5; transition:background .16s ease; }
.switch-track::after { content:""; position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.22); transition:transform .16s ease; }
.switch-label input:checked + .switch-track { background:var(--wine); }
.switch-label input:checked + .switch-track::after { transform:translateX(14px); }
.switch-label input:focus-visible + .switch-track { outline:2px solid var(--blue); outline-offset:2px; }
.studio-tabs { display:flex; align-items:center; gap:4px; margin-bottom:12px; padding:5px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:var(--shadow); }
.feed-channel-tabs { display:inline-flex; gap:4px; margin:0 0 12px; padding:4px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:var(--shadow); }
.feed-channel-tab { padding:8px 16px; border-radius:8px; color:var(--muted); font-size:12px; font-weight:800; text-decoration:none; }
.feed-channel-tab:hover { color:var(--wine); background:var(--soft); }
.feed-channel-tab.active { color:#fff; background:var(--wine); }
.published-feeds-panel { overflow:hidden; }
.published-feed-links { display:grid; grid-template-columns:repeat(3,minmax(250px,1fr)); gap:1px; background:var(--line); }
.published-feed-link { min-width:0; padding:10px 12px; background:#fff; }
.published-feed-link.active { background:#fff9fa; box-shadow:inset 4px 0 0 var(--wine); }
.published-feed-status { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px; font-size:11px; }
.feed-url-row { display:flex; align-items:center; gap:5px; }
.feed-url-row .field { min-width:0; flex:1; font-size:9px; }
.feed-url-row .button { flex:0 0 auto; min-height:30px; padding-inline:8px; font-size:10px; }
.published-feed-link small { display:block; margin-top:6px; color:var(--muted); font-size:9px; }
.published-feed-note { padding:7px 12px; border-top:1px solid var(--line); color:#765400; background:#fff9e5; font-size:9px; }
.feed-token-warning { margin:0; }
.google-feed-preview-image { width:72px; height:96px; margin:10px 0 2px; border:1px solid var(--line); border-radius:8px; background:#fff; object-fit:contain; }
.studio-tab { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:7px 12px; border-radius:8px; color:var(--muted); font-size:11px; font-weight:750; text-decoration:none; }
.studio-tab:hover { color:var(--wine); background:var(--soft); }
.studio-tab.active { color:#fff; background:var(--wine); }
.studio-actions { display:flex; align-items:center; gap:6px; margin-left:auto; }
.studio-actions form { margin:0; }
.tab-count { display:grid; min-width:18px; height:18px; padding:0 4px; place-items:center; border-radius:999px; color:#765400; background:#fff1ba; font-size:9px; }
.tab-count.danger { color:#fff; background:var(--red); }
.inline-upload { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.inline-upload input[type="file"] { flex:0 1 390px; }
.category-filter { flex:0 1 245px; max-width:280px; }
.brand-search-field { flex:0 1 245px; }
.brand-search-field .field { width:100%; }
.margin-input-filter { display:inline-flex; align-items:center; gap:5px; min-height:32px; margin:0; padding:3px 7px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.margin-input-label { margin-right:2px; color:var(--muted); font-size:10px; font-weight:750; }
.margin-input-filter label { display:inline-flex; align-items:center; gap:3px; color:var(--muted); font-size:10px; }
.margin-input-filter .field { width:64px; min-height:24px; padding:3px 5px; border:0; border-radius:5px; background:var(--soft); text-align:right; }
.margin-input-filter .field:focus { box-shadow:0 0 0 2px rgba(111,29,43,.10); }
.margin-input-divider { color:var(--muted); font-size:10px; }
.import-preview-panel { border-color:#b9d1ec; }
.import-stats { display:grid; grid-template-columns:repeat(6,minmax(95px,1fr)); gap:1px; padding:10px 14px; border-bottom:1px solid var(--line); background:var(--line); }
.import-stats div { display:flex; flex-direction:column; gap:3px; padding:9px 10px; background:#fff; }
.import-stats span { color:var(--muted); font-size:9px; }
.import-stats strong { font-size:17px; }
.import-stats .good strong { color:var(--green); }
.import-stats .danger strong { color:var(--red); }
.import-preview-table { max-height:280px; }
.row-issue { display:block; max-width:360px; margin-top:3px; color:var(--muted); font-size:9px; }
.import-apply { padding:12px 14px; border-top:1px solid var(--line); }
.import-modes { display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:8px; }
.import-modes label { display:flex; align-items:flex-start; gap:8px; padding:10px; border:1px solid var(--line); border-radius:9px; cursor:pointer; }
.import-modes label:has(input:checked) { border-color:var(--wine); background:#fff8f8; box-shadow:0 0 0 2px rgba(111,29,43,.08); }
.import-modes input { margin-top:2px; }
.import-modes strong,.import-modes small { display:block; }
.import-modes strong { font-size:11px; }
.import-modes small { margin-top:3px; color:var(--muted); font-size:9px; line-height:1.4; }
.compact-feed-table { min-width:1280px; }
.compact-feed-table td:first-child { width:38px; }
.compact-feed-table td:nth-child(2) { min-width:310px; }
.compact-feed-table td:nth-child(8) { min-width:175px; }
.table-subline { display:block; margin-top:3px; color:var(--muted); font-size:9px; font-weight:400; }
.price-editor { display:flex; align-items:center; gap:5px; }
.price-editor span { color:var(--muted); font-size:9px; }
.price-editor .field { width:92px; min-height:29px; }
.override-badge { margin-top:4px; }
.margin-cell { white-space:nowrap; font-weight:750; }
.margin-cell.positive { color:var(--green); }
.margin-cell.negative { color:var(--red); }
.snapshot-details { overflow:hidden; }
.snapshot-details summary { padding:11px 14px; color:var(--muted); font-size:10px; font-weight:700; cursor:pointer; }
.snapshot-summary { display:flex; align-items:center; gap:18px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.snapshot-summary form { margin-left:auto; }
.review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.review-list { max-height:calc(100vh - 260px); overflow:auto; }
.review-item { display:grid; grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) auto; align-items:center; gap:12px; padding:10px 14px; border-bottom:1px solid var(--line); font-size:10px; }
.review-item strong,.review-item small { display:block; }
.review-item small { margin-top:3px; color:var(--muted); }
.review-item > span { color:var(--red); }
.studio-next { display:flex; justify-content:flex-end; gap:7px; }
.preview-grid { display:grid; grid-template-columns:repeat(3,minmax(250px,1fr)); gap:10px; padding:12px; }
.feed-preview-card { min-width:0; overflow:hidden; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--soft); }
.preview-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.preview-card-head strong,.preview-card-head small { display:block; }
.preview-card-head strong { font-size:12px; line-height:1.4; }
.preview-card-head small { margin-top:4px; color:var(--muted); font-size:9px; }
.preview-price { margin:12px 0; color:var(--wine); font-size:17px; font-weight:800; }
.feed-preview-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 18px; margin:0 0 10px; }
.feed-preview-card dl div { display:flex; min-width:0; gap:5px; }
.feed-preview-card dt { color:var(--muted); font-size:9px; }
.feed-preview-card dd { min-width:0; margin:0; overflow-wrap:anywhere; font-size:9px; font-weight:700; }
.preview-link { display:block; overflow:hidden; color:var(--blue); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.login-page { min-height:100vh; display:grid; grid-template-columns:minmax(300px,42%) minmax(360px,1fr); background:#fff; }
.login-brand { display:flex; flex-direction:column; justify-content:space-between; padding:34px; color:#fff; background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.12),transparent 30%),linear-gradient(150deg,var(--wine),var(--wine-dark)); }
.login-logo { display:flex; align-items:center; gap:11px; }
.login-logo .brand-mark { width:42px; height:42px; font-size:18px; }
.login-copy h1 { max-width:520px; margin:0 0 12px; font-size:34px; line-height:1.1; }
.login-copy p { max-width:480px; margin:0; color:rgba(255,255,255,.72); line-height:1.6; }
.login-form-side { display:grid; place-items:center; padding:28px; background:var(--page); }
.login-box { width:min(390px,100%); padding:26px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow); }
.login-box h2 { margin:0 0 4px; font-size:21px; }
.login-box .subtitle { margin-bottom:20px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.assistant-launcher { position:fixed; right:22px; bottom:22px; z-index:80; display:flex; align-items:center; gap:8px; min-height:43px; padding:6px 14px 6px 7px; border:0; border-radius:999px; color:#fff; background:var(--wine); box-shadow:0 12px 30px rgba(81,19,30,.28); font-size:12px; font-weight:750; cursor:grab; touch-action:none; user-select:none; }
.assistant-launcher:hover { background:var(--wine-dark); }
.assistant-launcher.dragging { cursor:grabbing; }
.assistant-launcher span:first-child { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; color:var(--wine); background:#fff; font-size:14px; }
.assistant-panel { position:fixed; right:22px; bottom:76px; z-index:90; display:none; width:min(390px,calc(100vw - 28px)); height:min(590px,calc(100vh - 100px)); grid-template-rows:auto 1fr auto; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:0 20px 60px rgba(27,34,44,.22); }
.assistant-panel.open { display:grid; }
.assistant-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; color:#fff; background:linear-gradient(135deg,var(--wine),var(--wine-dark)); }
.assistant-header strong,.assistant-header small { display:block; }
.assistant-header strong { font-size:14px; }
.assistant-header small { margin-top:2px; color:rgba(255,255,255,.7); font-size:10px; }
.assistant-header-actions { display:flex; align-items:center; gap:3px; }
.assistant-header-actions button { min-height:28px; padding:4px 7px; border:0; border-radius:6px; color:rgba(255,255,255,.8); background:transparent; font-size:11px; }
.assistant-header-actions button:hover { color:#fff; background:rgba(255,255,255,.12); }
#assistant-close { font-size:21px; line-height:1; }
.assistant-messages { display:flex; flex-direction:column; gap:9px; overflow-y:auto; padding:14px; background:var(--soft); }
.assistant-message { align-self:flex-start; max-width:88%; padding:9px 11px; border:1px solid var(--line); border-radius:11px 11px 11px 3px; background:#fff; font-size:12px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.assistant-message-user { align-self:flex-end; color:#fff; border-color:var(--wine); border-radius:11px 11px 3px 11px; background:var(--wine); }
.assistant-message-error { color:var(--red); border-color:#f0b7b2; background:var(--red-soft); }
.assistant-message-pending { color:var(--muted); font-style:italic; }
.assistant-actions { display:flex; align-self:flex-start; gap:6px; flex-wrap:wrap; }
.assistant-action { min-height:30px; padding:5px 9px; border:1px solid var(--wine); border-radius:8px; color:var(--wine); background:#fff; font-size:11px; font-weight:700; }
.assistant-action:hover { color:#fff; background:var(--wine); }
.assistant-form { padding:11px; border-top:1px solid var(--line); background:#fff; }
.assistant-form textarea { width:100%; min-height:58px; max-height:130px; resize:vertical; padding:8px 9px; border:1px solid var(--line); border-radius:9px; color:var(--ink); font-size:12px; line-height:1.45; }
.assistant-form textarea:focus { outline:0; border-color:var(--wine); box-shadow:0 0 0 3px rgba(111,29,43,.10); }
.assistant-form-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:7px; }
.assistant-form-footer small { color:var(--muted); font-size:9px; }
@media (prefers-reduced-motion:reduce) { tbody tr { transition:none; } }
@media (max-width:1000px) {
  :root { --sidebar:62px; }
  .brand-copy,.nav-label,.sidebar-status { display:none; }
  .brand,.nav a { justify-content:center; }
  .grid-two { grid-template-columns:1fr; }
  .feed-actions { grid-template-columns:1fr; }
  .review-grid,.preview-grid { grid-template-columns:1fr; }
  .published-feed-links { grid-template-columns:1fr; }
  .import-stats { grid-template-columns:repeat(3,1fr); }
  .import-modes { grid-template-columns:1fr; }
  .cards { grid-template-columns:repeat(2,minmax(130px,1fr)); }
}
@media (max-width:680px) {
  body { zoom:1; padding-bottom:calc(70px + env(safe-area-inset-bottom)); overflow-x:hidden; }
  body.mobile-overlay-open,body.assistant-open { overflow:hidden; }
  .app { display:block; } .sidebar { display:none; }
  .page-main { padding:12px 12px 20px; } .topbar { padding-inline:12px; }
  .source-control label,.account span,.account a { display:none; }
  .source-control select { min-width:160px; }
  .page-heading { display:block; } .heading-meta { margin-top:6px; text-align:left; }
  .login-page { display:block; background:var(--page); }
  .login-brand { min-height:220px; padding:24px; }
  .login-copy h1 { font-size:27px; }
  .mobile-nav { position:fixed; right:0; bottom:0; left:0; z-index:70; display:grid; grid-template-columns:repeat(4,1fr); min-height:64px; padding:5px 6px calc(5px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:rgba(255,255,255,.97); box-shadow:0 -8px 26px rgba(27,34,44,.10); backdrop-filter:blur(12px); }
  .mobile-nav-item { display:flex; min-width:0; min-height:54px; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:4px 2px; border:0; border-radius:9px; color:var(--muted); background:transparent; font-size:10px; font-weight:700; line-height:1.1; text-decoration:none; }
  .mobile-nav-item.active { color:var(--wine); background:#fff5f6; }
  .mobile-nav-icon { min-height:19px; font-size:17px; font-weight:800; line-height:1; }
  .mobile-sheet-backdrop { position:fixed; inset:0; z-index:82; border:0; background:rgba(24,29,36,.42); }
  .mobile-sheet-backdrop.open { display:block; }
  .mobile-more-sheet { position:fixed; right:0; bottom:0; left:0; z-index:83; max-height:min(78vh,620px); overflow:hidden auto; padding-bottom:env(safe-area-inset-bottom); border-radius:18px 18px 0 0; background:#fff; box-shadow:0 -22px 60px rgba(17,24,39,.25); transform:translateY(105%); transition:transform .2s ease; }
  .mobile-more-sheet.open { display:block; transform:translateY(0); }
  .mobile-sheet-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 16px 11px; border-bottom:1px solid var(--line); }
  .mobile-sheet-header strong,.mobile-sheet-header small { display:block; }
  .mobile-sheet-header strong { font-size:17px; }
  .mobile-sheet-header small { margin-top:2px; color:var(--muted); font-size:11px; }
  .mobile-sheet-close { display:grid; width:44px; height:44px; place-items:center; border:0; border-radius:12px; color:var(--wine); background:#fff3f4; font-size:26px; line-height:1; }
  .mobile-sheet-close:focus-visible { outline:2px solid var(--wine); outline-offset:2px; }
  .mobile-more-links { display:grid; gap:6px; padding:10px 12px 16px; }
  .mobile-more-links a { display:grid; min-height:58px; grid-template-columns:38px 1fr; align-items:center; gap:9px; padding:8px 10px; border-radius:11px; color:var(--ink); text-decoration:none; }
  .mobile-more-links a.active { color:var(--wine); background:#fff3f4; }
  .mobile-more-links a > span:first-child { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; color:var(--wine); background:#fff3f4; font-weight:800; }
  .mobile-more-links strong,.mobile-more-links small { display:block; }
  .mobile-more-links strong { font-size:13px; }
  .mobile-more-links small { margin-top:2px; color:var(--muted); font-size:10px; }
  .assistant-launcher { right:12px!important; bottom:calc(76px + env(safe-area-inset-bottom))!important; left:auto!important; top:auto!important; min-height:46px; }
  .assistant-panel { inset:0!important; width:100%!important; height:100dvh!important; max-height:none!important; border:0; border-radius:0; }
  .assistant-header { min-height:64px; padding:12px 14px; padding-top:max(12px,env(safe-area-inset-top)); }
  .assistant-header-actions button { min-width:44px; min-height:44px; }
  .assistant-messages { padding:16px 12px; }
  .assistant-message { max-width:92%; padding:11px 12px; font-size:14px; }
  .assistant-form { padding:10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .assistant-form textarea { min-height:64px; font-size:16px; }
  .assistant-form-footer .button { min-width:76px; min-height:44px; }
}
