:root {
  --ink:light-dark(#18211b,#f0f1f0);
  --text:light-dark(#2f3932,#d2d5d2);
  --muted:light-dark(#68736b,#9da39e);
  --subtle:light-dark(#8a938c,#7f8580);
  --line:light-dark(#dce3dc,#363a36);
  --line-strong:light-dark(#cbd4cc,#4a4f4a);
  --line-soft:light-dark(#edf0ed,#2e322e);
  --surface:light-dark(#fff,#222422);
  --surface-subtle:light-dark(#f8faf7,#292c29);
  --surface-hover:light-dark(#fafbf9,#2d302d);
  --surface-translucent:light-dark(rgba(255,255,255,.94),rgba(34,36,34,.94));
  --canvas:light-dark(#f3f5f1,#181a18);
  --control-bg:light-dark(#fff,#272a27);
  --button-text:light-dark(#fff,#181a18);
  --focus-ring:color-mix(in srgb,var(--accent) 34%,transparent);
  --green:light-dark(#2f7c53,#77bb91);
  --green-soft:light-dark(#e8f3ec,#23352a);
  --amber:light-dark(#9a621b,#d4a15d);
  --amber-soft:light-dark(#fff4dd,#392f20);
  --red:light-dark(#ad4039,#df8078);
  --red-soft:light-dark(#fdebe9,#3d2725);
  --shadow:0 18px 55px light-dark(rgba(26,37,28,.08),rgba(0,0,0,.24));
  --shadow-raised:0 24px 70px light-dark(rgba(24,33,27,.16),rgba(0,0,0,.42));
  --font-xs:12px;
  --font-sm:14px;
  --font-md:16px;
  --font-lg:20px;
  --font-xl:24px;
  --font-2xl:32px;
  --font-display:clamp(36px,4vw,48px);
  --control-height:44px;
  --radius-sm:8px;
  --radius-control:12px;
  --radius-card:20px;
  --radius-dialog:22px;
}
html[data-theme="system"] { color-scheme:light dark; }
html[data-theme="light"] { color-scheme:light; }
html[data-theme="dark"] { color-scheme:dark; }
html[data-accent="marsh"] { --accent:light-dark(#62713f,#a7b978); --accent-soft:light-dark(#edf2e4,#303626); }
html[data-accent="amber"] { --accent:light-dark(#a86816,#dda85f); --accent-soft:light-dark(#fff1d6,#3a2f20); }
html[data-accent="honeysuckle"] { --accent:light-dark(#a33f59,#dc8297); --accent-soft:light-dark(#fae9ed,#3b272e); }
html[data-accent="gray"] { --accent:light-dark(#626b65,#afb5b0); --accent-soft:light-dark(#ecefec,#313431); }
* { box-sizing:border-box; }
html { min-height:100%; background:var(--canvas); }
body { margin:0; min-height:100vh; color:var(--text); background:var(--canvas); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:var(--font-sm); line-height:1.5; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
[hidden] { display:none!important; }
.ui-icon { display:block; width:1.15em; height:1.15em; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:var(--font-lg); font-weight:760; letter-spacing:-.03em; }
.brand-mark { display:grid; place-items:center; width:33px; height:33px; color:var(--button-text); background:var(--ink); border-radius:10px 10px 10px 3px; font-size:var(--font-md); font-weight:800; }
.eyebrow { margin:0 0 12px; color:var(--accent); font-size:var(--font-sm); font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.muted { color:var(--muted); font-size:var(--font-sm); }
.button { display:inline-flex; min-height:var(--control-height); align-items:center; justify-content:center; gap:9px; padding:0 18px; border:1px solid var(--ink); border-radius:var(--radius-control); color:var(--button-text); background:var(--ink); font-size:var(--font-sm); font-weight:720; cursor:pointer; transition:transform .16s,box-shadow .16s,background .16s,border-color .16s,color .16s; }
.button:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 8px 20px rgba(23,32,25,.15); }
.button:focus-visible,input:focus-visible,summary:focus-visible,.icon-button:focus-visible { outline:3px solid var(--focus-ring); outline-offset:2px; }
.button:disabled { opacity:.48; cursor:not-allowed; transform:none; box-shadow:none; }
.button--secondary { min-height:var(--control-height); padding:0 16px; border-color:var(--line-strong); color:var(--ink); background:var(--surface); font-size:var(--font-sm); box-shadow:none; }
.button--secondary:hover:not(:disabled) { border-color:var(--line-strong); background:var(--surface-subtle); }
.button--danger-quiet { min-height:var(--control-height); padding:0 16px; border-color:color-mix(in srgb,var(--red) 34%,var(--line)); color:var(--red); background:var(--red-soft); font-size:var(--font-sm); box-shadow:none; }
.button--danger-quiet:hover:not(:disabled) { border-color:var(--red); background:var(--red-soft); }
.button--ghost { color:var(--ink); border-color:transparent; background:transparent; }
.button--wide { width:100%; }
.spinner { width:17px; height:17px; border:2px solid color-mix(in srgb,var(--button-text) 38%,transparent); border-top-color:var(--button-text); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

.onboarding-shell { min-height:100vh; padding:28px clamp(24px,5vw,72px) 48px; background:radial-gradient(circle at 12% 20%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 29%),var(--canvas); }
.onboarding-header { display:flex; max-width:1280px; margin:0 auto 44px; align-items:center; justify-content:space-between; }
.setup-label { color:var(--muted); font-size:var(--font-sm); }
.onboarding-grid { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(540px,1.2fr); max-width:1180px; margin:0 auto; gap:clamp(50px,8vw,110px); align-items:start; }
.setup-intro { padding-top:48px; }
.setup-intro h1 { margin:0; max-width:560px; font:500 var(--font-display)/1.03 Georgia,"Times New Roman",serif; letter-spacing:-.04em; }
.setup-intro>p:not(.eyebrow) { max-width:460px; margin:28px 0 42px; color:var(--muted); font-size:var(--font-md); line-height:1.65; }
.step-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.step-list li { display:flex; align-items:center; gap:14px; padding:12px 14px; border-radius:14px; color:var(--subtle); transition:.2s; }
.step-list li>span { display:grid; width:32px; height:32px; place-items:center; flex:0 0 auto; border:1px solid var(--line); border-radius:50%; background:var(--surface); font-size:var(--font-sm); font-weight:800; }
.step-list b,.step-list small { display:block; }
.step-list b { margin-bottom:3px; font-size:var(--font-sm); }
.step-list small { font-size:var(--font-sm); }
.step-list .is-active { color:var(--ink); background:color-mix(in srgb,var(--surface) 70%,transparent); }
.step-list .is-active>span { color:var(--button-text); border-color:var(--accent); background:var(--accent); }
.step-list .is-complete>span { color:var(--green); border-color:#b7d4c2; background:var(--green-soft); }
.setup-card { position:relative; min-height:640px; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--surface); box-shadow:var(--shadow); }
.setup-progress { height:4px; background:var(--line-soft); }
.setup-progress span { display:block; width:33%; height:100%; background:var(--accent); transition:width .35s; }
.setup-card form { padding:clamp(32px,5vw,58px); }
.section-heading { display:flex; align-items:start; gap:16px; margin-bottom:35px; }
.section-number { display:grid; width:42px; height:42px; place-items:center; flex:0 0 auto; border-radius:12px; color:var(--accent); background:var(--accent-soft); font-size:var(--font-sm); font-weight:800; }
.section-heading p { margin:1px 0 3px; color:var(--muted); font-size:var(--font-sm); font-weight:700; text-transform:uppercase; letter-spacing:.09em; }
.section-heading h2 { margin:0; font:500 var(--font-2xl) Georgia,"Times New Roman",serif; letter-spacing:-.025em; }
.form-stack { display:grid; gap:20px; }
.field { display:grid; gap:8px; }
.field>span:first-child { font-size:var(--font-sm); font-weight:720; }
.field small { color:var(--muted); font-size:var(--font-xs); line-height:1.4; }
.field input { width:100%; height:var(--control-height); padding:0 14px; border:1px solid var(--line-strong); border-radius:var(--radius-control); color:var(--ink); background:var(--surface-subtle); outline:none; transition:.15s; }
.field input:hover { border-color:var(--line-strong); }
.field input:focus { border-color:var(--ink); background:var(--surface); box-shadow:0 0 0 3px var(--focus-ring); }
.field input::placeholder { color:var(--subtle); }
.input-with-action { position:relative; display:block; }
.input-with-action input { padding-right:85px; }
.input-with-action button { position:absolute; top:50%; right:10px; padding:6px 5px; border:0; color:var(--muted); background:transparent; font-size:var(--font-xs); font-weight:700; cursor:pointer; transform:translateY(-50%); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.expiry-preview { display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:11px; color:var(--muted); background:var(--canvas); font-size:var(--font-sm); }
.expiry-preview>.ui-icon { width:20px; height:20px; color:var(--accent); }
.expiry-preview b { color:var(--ink); }
.form-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:32px; }
.form-actions--end { justify-content:flex-end; }
.action-group { display:flex; align-items:center; gap:10px; }
.inline-error { margin-top:18px; padding:12px 14px; border:1px solid color-mix(in srgb,var(--red) 34%,var(--line)); border-radius:11px; color:var(--red); background:var(--red-soft); font-size:var(--font-sm); line-height:1.45; }
.inline-error>strong { display:block; }
.inline-error details { margin-top:10px; padding-top:9px; border-top:1px solid rgba(177,59,53,.18); }
.inline-error summary { color:var(--red); cursor:pointer; font-size:var(--font-xs); font-weight:750; }
.inline-error pre { max-height:190px; margin:9px 0 0; overflow:auto; padding:10px; border-radius:8px; color:var(--text); background:var(--surface); font:var(--font-xs)/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; word-break:break-word; }
.request-id { margin-top:7px; color:var(--red); font:var(--font-xs) ui-monospace,SFMono-Regular,Consolas,monospace; }
.connection-panel { margin-top:22px; overflow:hidden; border:1px solid color-mix(in srgb,var(--green) 28%,var(--line)); border-radius:14px; }
.connection-success { display:flex; align-items:center; gap:12px; padding:15px; color:var(--green); background:var(--green-soft); }
.connection-success>span { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; color:#fff; background:var(--green); font-weight:800; }
.connection-success>span .ui-icon { width:17px; height:17px; }
.connection-success b,.connection-success small { display:block; }
.connection-success small { margin-top:2px; color:var(--green); }
.connection-panel details { background:var(--surface); }
.connection-panel summary { display:flex; padding:14px 15px; justify-content:space-between; cursor:pointer; font-size:var(--font-sm); }
.connection-panel summary b { color:var(--green); }
.access-overview { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); background:var(--surface); }
.access-overview div { padding:13px 15px; }
.access-overview div+div { border-left:1px solid var(--line); }
.access-overview span,.access-overview b { display:block; }
.access-overview span { color:var(--muted); font-size:var(--font-xs); text-transform:uppercase; letter-spacing:.06em; }
.access-overview b { margin-top:4px; font-size:var(--font-sm); }
.role-list { display:grid; margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.role-list>li { padding:0 15px; border-bottom:1px solid var(--line-soft); }
.role-list>li:last-child { border:0; }
.role-list details { padding:0; }
.role-list summary { padding:12px 0; }
.role-methods { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0 0 13px; list-style:none; }
.role-methods code { display:inline-block; padding:4px 7px; border:1px solid var(--line); border-radius:6px; color:var(--text); background:var(--surface-subtle); font-size:var(--font-xs); }
.method-list { display:grid; margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.method-list li { display:flex; align-items:flex-start; gap:11px; padding:12px 15px; border-bottom:1px solid var(--line-soft); }
.method-list li:last-child { border:0; }
.method-list b,.method-list code,.method-list small { display:block; }
.method-list b { font-size:var(--font-sm); }
.method-list code { margin:3px 0; color:var(--muted); font-size:var(--font-xs); }
.method-list small { color:var(--muted); font-size:var(--font-xs); }
.method-state { display:grid; width:22px; height:22px; place-items:center; flex:0 0 auto; border-radius:50%; color:#fff; font-size:var(--font-xs); font-weight:900; }
.method-state .ui-icon { width:13px; height:13px; stroke-width:2.5; }
.method-state.is-ok { background:var(--green); }
.method-state.is-error { background:var(--red); }
.finish-state { padding:40px 0 20px; text-align:center; }
.finish-icon { display:grid; width:70px; height:70px; margin:0 auto 24px; place-items:center; border-radius:22px 22px 22px 7px; color:#fff; background:var(--green); box-shadow:0 12px 30px rgba(47,124,83,.2); font-size:var(--font-2xl); }
.finish-icon .ui-icon { width:31px; height:31px; stroke-width:2.4; }
.finish-state h2 { margin:0 0 14px; font:500 var(--font-2xl) Georgia,"Times New Roman",serif; letter-spacing:-.03em; }
.finish-state>p:not(.eyebrow) { max-width:400px; margin:0 auto; color:var(--muted); line-height:1.6; }
.finish-summary { display:grid; grid-template-columns:repeat(3,1fr); max-width:560px; margin:30px auto 0; overflow:hidden; border:1px solid var(--line); border-radius:14px; }
.finish-summary div { padding:16px; }
.finish-summary div+div { border-left:1px solid var(--line); }
.finish-summary span,.finish-summary b { display:block; }
.finish-summary span { color:var(--muted); font-size:var(--font-xs); }
.finish-summary b { margin-top:5px; font-size:var(--font-lg); }

.auth-shell { display:grid; min-height:100vh; place-items:center; padding:24px; background:radial-gradient(circle at 50% 10%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 34%),var(--canvas); }
.auth-card { width:min(430px,100%); padding:43px; border:1px solid var(--line); border-radius:24px; background:var(--surface); box-shadow:var(--shadow); }
.auth-card .brand { margin-bottom:48px; }
.auth-card h1 { margin:0; font:500 var(--font-display) Georgia,"Times New Roman",serif; letter-spacing:-.04em; }
.auth-lead { margin:10px 0 30px; color:var(--muted); }
.app-header { position:sticky; z-index:40; top:0; border-bottom:1px solid var(--line); background:var(--surface-translucent); backdrop-filter:blur(18px); }
.app-header__inner { display:flex; max-width:1320px; min-height:72px; margin:0 auto; padding:0 24px; align-items:center; gap:36px; }
.main-nav { display:flex; align-self:stretch; align-items:center; gap:26px; font-size:var(--font-sm); font-weight:680; }
.main-nav>a { display:flex; height:100%; align-items:center; color:var(--muted); border-bottom:2px solid transparent; }
.main-nav .is-active { color:var(--ink); border-bottom-color:var(--accent); }
.nav-icon { display:none; }
.account-area { display:flex; margin-left:auto; align-items:center; gap:10px; }
.account-area:empty { display:none; }
.api-badge { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border-radius:999px; font-size:var(--font-xs); font-weight:700; }
.api-badge i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.api-badge--success { color:var(--green); background:var(--green-soft); }
.api-badge--warning { color:var(--amber); background:var(--amber-soft); }
.api-badge--danger { color:var(--red); background:var(--red-soft); }
.user-badge { display:grid; min-width:40px; height:40px; max-width:140px; padding:0 12px; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--canvas); font-size:var(--font-xs); font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.icon-button { display:grid; width:40px; height:40px; place-items:center; border:1px solid transparent; border-radius:var(--radius-control); color:var(--muted); background:transparent; cursor:pointer; }
.icon-button:hover { color:var(--ink); border-color:var(--line); background:var(--canvas); }
.dashboard-shell { max-width:1320px; margin:0 auto; padding:54px 24px 80px; }
.catalog-shell { padding-top:32px; }
.catalog-controls { display:flex; margin-bottom:14px; align-items:center; justify-content:space-between; gap:18px; }
.catalog-view-controls { display:flex; min-width:0; align-items:center; gap:16px; }
.catalog-filter { display:flex; align-items:center; gap:4px; padding:4px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface-subtle); scrollbar-width:none; }
.catalog-filter::-webkit-scrollbar { display:none; }
.catalog-filter button { display:flex; min-height:36px; align-items:center; gap:7px; padding:0 12px; border:0; border-radius:9px; color:var(--muted); background:transparent; font-size:var(--font-xs); font-weight:720; cursor:pointer; }
.catalog-filter button span { display:grid; min-width:20px; height:20px; padding:0 5px; place-items:center; border-radius:999px; color:var(--muted); background:color-mix(in srgb,var(--surface) 70%,transparent); font-size:var(--font-xs); }
.catalog-filter button.is-active { color:var(--ink); background:var(--surface); box-shadow:0 2px 7px light-dark(rgba(23,32,25,.08),rgba(0,0,0,.18)); }
.catalog-filter button.is-active span { color:var(--accent); }
.catalog-controls__actions { display:flex; min-width:0; align-items:center; justify-content:flex-end; gap:10px; }
.page-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:28px; }
.page-heading h1 { margin:0; font:500 var(--font-display) Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.page-heading h1 span { display:inline-grid; min-width:35px; height:35px; margin-left:8px; padding:0 9px; place-items:center; vertical-align:top; border-radius:999px; color:var(--accent); background:var(--accent-soft); font:800 var(--font-sm) Inter,sans-serif; letter-spacing:0; }
.page-heading>div>p:last-child { margin:9px 0 0; color:var(--muted); font-size:var(--font-sm); }
.search-field { display:flex; width:min(430px,40vw); height:var(--control-height); align-items:center; gap:9px; padding:0 13px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface); box-shadow:0 4px 20px light-dark(rgba(23,32,25,.04),rgba(0,0,0,.14)); }
.search-field>.ui-icon { width:18px; height:18px; color:var(--muted); }
.search-field input { min-width:0; flex:1; border:0; color:var(--ink); background:transparent; outline:none; font-size:var(--font-sm); }
.search-field input::-webkit-search-cancel-button { width:14px; height:14px; margin-left:8px; appearance:none; -webkit-appearance:none; background:#778079; cursor:pointer; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 3l10 10M13 3L3 13' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/14px 14px no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 3l10 10M13 3L3 13' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/14px 14px no-repeat; }
.search-field input::-webkit-search-cancel-button:hover { background:var(--ink); }
.search-field kbd { padding:2px 6px; border:1px solid var(--line); border-radius:5px; color:var(--muted); background:var(--canvas); font:var(--font-xs) ui-monospace,monospace; }
.sort-field { display:flex; height:var(--control-height); align-items:center; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface); box-shadow:0 4px 20px light-dark(rgba(23,32,25,.04),rgba(0,0,0,.14)); }
.sort-field:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring); }
.sort-field select { height:100%; padding:0 12px; border:0; color:var(--ink); background:transparent; outline:0; cursor:pointer; font:600 var(--font-xs) Inter,ui-sans-serif,sans-serif; }
.catalog-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 12px 42px light-dark(rgba(25,35,27,.055),rgba(0,0,0,.18)); }
.product-row { display:grid; grid-template-columns:74px minmax(0,1fr) auto; min-height:94px; padding:12px 18px; align-items:center; gap:18px; border-bottom:1px solid var(--line-soft); transition:background .15s; }
.product-row:last-child { border-bottom:0; }
.product-row:hover { background:var(--surface-hover); }
.product-image { display:block; width:70px; height:70px; object-fit:cover; border:1px solid var(--line-soft); border-radius:12px; background:var(--canvas); }
.product-image--empty { display:grid; place-items:center; color:var(--subtle); }
.product-image-link { display:block; border-radius:12px; }
.product-image-link:focus-visible,.product-copy h2 a:focus-visible,.breadcrumb a:focus-visible { outline:3px solid var(--focus-ring); outline-offset:3px; }
.product-copy { min-width:0; }
.product-copy h2 { margin:0 0 8px; overflow:hidden; font-size:var(--font-sm); line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.product-copy h2 a:hover { color:var(--accent); }
.product-meta { display:flex; flex-wrap:wrap; gap:5px 15px; color:var(--muted); font-size:var(--font-xs); }
.product-updated { color:var(--muted); }
.product-archive-state { padding:3px 6px; border-radius:6px; color:var(--amber); background:var(--amber-soft); font-weight:720; }
.product-counterfeit-line { margin-top:6px; line-height:1; }
.product-counterfeit-state { display:inline-flex; min-height:28px; align-items:center; padding:0 10px; border:1px solid color-mix(in srgb,var(--red) 34%,var(--line)); border-radius:999px; color:var(--red); background:var(--red-soft); font-size:var(--font-xs); font-weight:760; line-height:1.25; }
.product-action { padding-left:15px; }
html[data-catalog-view="cards"] .catalog-card { overflow:visible; border:0; background:transparent; box-shadow:none; }
html[data-catalog-view="cards"] .product-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:16px; }
html[data-catalog-view="cards"] .product-row { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr) auto; min-height:420px; overflow:hidden; padding:12px; align-items:start; gap:14px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 12px 36px light-dark(rgba(25,35,27,.05),rgba(0,0,0,.18)); }
html[data-catalog-view="cards"] .product-row:last-child { border-bottom:1px solid var(--line); }
html[data-catalog-view="cards"] .product-image-link { width:100%; overflow:hidden; border-radius:14px; background:var(--canvas); }
html[data-catalog-view="cards"] .product-image { width:100%; height:230px; border:0; border-radius:0; }
html[data-catalog-view="cards"] .product-copy { padding:0 3px; }
html[data-catalog-view="cards"] .product-copy h2 { display:-webkit-box; margin-bottom:10px; overflow:hidden; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
html[data-catalog-view="cards"] .product-meta { flex-direction:column; gap:3px; }
html[data-catalog-view="cards"] .product-action { padding:0 3px 3px; }
html[data-catalog-view="cards"] .product-action .button { width:100%; }
.search-empty,.empty-state { display:grid; min-height:220px; place-items:center; align-content:center; color:var(--muted); text-align:center; }
.search-empty b,.search-empty span,.empty-state h2,.empty-state p { display:block; margin:0; }
.search-empty b,.empty-state h2 { margin-bottom:7px; color:var(--ink); }
.empty-state__icon { display:grid; width:50px; height:50px; margin-bottom:14px; place-items:center; border-radius:15px; color:var(--accent); background:var(--accent-soft); font-size:var(--font-xl); }
.empty-state p { max-width:360px; line-height:1.5; }
.center-card { width:min(520px,calc(100% - 48px)); margin:15vh auto; padding:40px; border-radius:22px; background:var(--surface); box-shadow:var(--shadow); text-align:center; }
.center-card h1 { font:500 var(--font-display) Georgia,serif; }

.settings-grid { display:grid; gap:22px; }
.settings-card,.detail-card,.product-visual-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 12px 42px light-dark(rgba(25,35,27,.045),rgba(0,0,0,.18)); }
.settings-card { padding:26px; }
.settings-card--unified { width:100%; max-width:980px; padding:32px; }
.interface-settings { display:grid; gap:26px; margin-top:26px; }
.interface-setting-group { min-width:0; margin:0; padding:0; border:0; }
.interface-setting-group>legend { margin-bottom:11px; color:var(--ink); font-size:var(--font-xs); font-weight:760; }
.interface-choice-grid { display:grid; gap:10px; }
.interface-choice-grid--themes { grid-template-columns:repeat(3,1fr); }
.interface-choice-grid--accents { grid-template-columns:repeat(4,1fr); }
.interface-choice-grid--views { grid-template-columns:repeat(2,minmax(0,220px)); }
.interface-choice,.accent-choice,.view-choice { min-width:0; cursor:pointer; }
.interface-choice>span,.accent-choice>span,.view-choice>span { display:grid; height:100%; min-height:82px; padding:12px; border:1px solid var(--line); border-radius:var(--radius-control); color:var(--text); background:var(--surface-subtle); transition:border-color .15s,background .15s,box-shadow .15s; }
.interface-choice>span { grid-template-columns:46px minmax(0,1fr); grid-template-rows:auto auto; column-gap:12px; align-content:center; }
.interface-choice b,.accent-choice b,.view-choice b { min-width:0; color:var(--ink); font-size:var(--font-xs); line-height:1.35; }
.interface-choice small,.view-choice small { margin-top:3px; color:var(--muted); font-size:var(--font-xs); line-height:1.3; }
.interface-choice input:checked+span,.accent-choice input:checked+span,.view-choice input:checked+span { border-color:var(--accent); background:var(--accent-soft); box-shadow:0 0 0 1px var(--accent); }
.interface-choice input:focus-visible+span,.accent-choice input:focus-visible+span,.view-choice input:focus-visible+span { outline:3px solid var(--focus-ring); outline-offset:2px; }
.theme-preview { display:block; width:46px; height:46px; grid-row:1/3; overflow:hidden; border:1px solid var(--line-strong); border-radius:10px; background:#f4f5f3; }
.theme-preview::before { display:block; height:11px; border-bottom:1px solid #d7dbd7; background:#fff; content:""; }
.theme-preview::after { display:block; width:23px; height:4px; margin:8px; border-radius:4px; background:#7c847e; box-shadow:0 8px 0 #d4d8d4; content:""; }
.theme-preview--dark { border-color:#4b4e4b; background:#222422; }
.theme-preview--dark::before { border-color:#3b3e3b; background:#2b2d2b; }
.theme-preview--dark::after { background:#b5b9b5; box-shadow:0 8px 0 #4d514d; }
.theme-preview--system { background:linear-gradient(90deg,#f4f5f3 0 50%,#222422 50%); }
.theme-preview--system::before { background:linear-gradient(90deg,#fff 0 50%,#2b2d2b 50%); }
.accent-choice>span { grid-template-columns:24px minmax(0,1fr); min-height:52px; align-items:center; gap:9px; }
.accent-swatch { width:22px; height:22px; border:3px solid color-mix(in srgb,currentColor 18%,var(--surface)); border-radius:50%; background:currentColor; }
.accent-swatch--marsh { color:#73824f; }
.accent-swatch--amber { color:#bd7a25; }
.accent-swatch--honeysuckle { color:#ad4961; }
.accent-swatch--gray { color:#737b76; }
.view-choice>span { grid-template-columns:62px minmax(0,1fr); grid-template-rows:auto auto; column-gap:12px; align-content:center; }
.view-preview { display:grid; width:62px; height:45px; grid-row:1/3; gap:3px; padding:5px; border:1px solid var(--line-strong); border-radius:9px; background:var(--surface); }
.view-preview u { display:block; border-radius:3px; background:var(--line-strong); text-decoration:none; }
.view-preview--list { grid-template-rows:repeat(3,1fr); }
.view-preview--cards { grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); }
.interface-settings-error { margin-top:18px; }
.card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.card-heading .eyebrow { margin-bottom:7px; }
.card-heading h2 { margin:0; font:500 var(--font-xl) Georgia,"Times New Roman",serif; letter-spacing:-.025em; }
.key-overview { display:grid; gap:24px; margin:0; }
.key-overview dt,.key-overview dd { margin:0; }
.key-overview dt { margin-bottom:7px; color:var(--muted); font-size:var(--font-xs); font-weight:680; }
.key-overview dd { overflow-wrap:anywhere; font-size:var(--font-md); font-weight:760; }
.key-overview__field { padding:0; border:0; }
.key-overview__field--action { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.key-refresh-button { min-height:var(--control-height); flex:0 0 auto; padding:0 16px; }
.key-overview__dates { display:grid; grid-template-columns:1fr 1fr; gap:42px; padding:0; border:0; }
.key-overview__dates>div+div { padding:0; border:0; }
.key-overview__dates dd small { display:inline-block; margin-left:7px; padding:4px 7px; border-radius:999px; color:var(--green); background:var(--green-soft); font-size:var(--font-xs); font-weight:750; vertical-align:middle; }
.masked-key { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.06em; }
.access-counts { display:flex; gap:10px; }
.access-counts span { display:flex; min-width:78px; align-items:baseline; justify-content:center; gap:5px; padding:8px 11px; border:1px solid var(--line); border-radius:10px; color:var(--muted); background:var(--surface); font-size:var(--font-xs); white-space:nowrap; }
.access-counts b { color:var(--ink); font-size:var(--font-sm); }
.access-details { margin:25px -26px -26px; border-top:1px solid var(--line); }
.access-details>summary { display:flex; padding:16px 26px; align-items:center; justify-content:space-between; cursor:pointer; color:var(--muted); font-size:var(--font-sm); font-weight:700; }
.access-details>summary b { color:var(--accent); }
.access-details .role-list { border-top:1px solid var(--line); }
.settings-access-section { margin:42px -32px -32px; padding:26px 32px 0; border:0; background:var(--surface-subtle); }
.access-heading { align-items:center; }
.access-heading h2 { margin:0; font:700 var(--font-lg)/1.25 Inter,ui-sans-serif,sans-serif; letter-spacing:-.02em; }
.access-details--inline { margin:24px -30px 0; }
.settings-role-list { margin:24px -32px 0; padding:0 32px; border-top:0; background:var(--surface); }
.settings-role-list>li { padding:0; }
.settings-role-list summary { display:grid; grid-template-columns:minmax(0,1fr) auto 18px; gap:14px; align-items:center; padding:16px 0; cursor:pointer; list-style:none; }
.settings-role-list summary::-webkit-details-marker { display:none; }
.settings-role-list summary:focus-visible { outline:0; border-radius:7px; background:var(--accent-soft); }
.role-name { min-width:0; font-size:var(--font-sm); font-weight:740; line-height:1.35; }
.role-method-count { flex:0 0 auto; padding:5px 8px; border-radius:8px; color:var(--muted); background:var(--canvas); font-size:var(--font-xs); font-weight:700; white-space:nowrap; }
.role-chevron { width:16px; height:16px; justify-self:center; color:var(--muted); transition:transform .16s ease; }
.settings-role-list details[open] .role-chevron { transform:rotate(180deg); }
.settings-role-list .role-methods { padding-bottom:16px; }
.access-empty { padding:22px 26px!important; color:var(--muted); font-size:var(--font-sm); line-height:1.5; }
.settings-error { margin:-10px 0 22px; }
.catalog-sync-card { width:100%; max-width:980px; padding:28px 32px; }
.catalog-sync-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.catalog-sync-card__head h2 { margin:0; font-size:var(--font-lg); letter-spacing:-.02em; }
.catalog-sync-card__head p { margin:7px 0 0; color:var(--muted); font-size:var(--font-xs); line-height:1.45; }
.catalog-sync-settings { display:grid; grid-template-columns:minmax(190px,.7fr) minmax(140px,.45fr) auto; gap:12px; margin-top:24px; align-items:end; }
.catalog-sync-settings label { display:grid; gap:7px; color:var(--muted); font-size:var(--font-xs); font-weight:700; }
.catalog-sync-settings select,.catalog-sync-settings input { width:100%; height:var(--control-height); padding:0 12px; border:1px solid var(--line-strong); border-radius:var(--radius-control); color:var(--ink); background:var(--surface-subtle); outline:0; font-size:var(--font-sm); font-weight:650; }
.catalog-sync-settings select:focus,.catalog-sync-settings input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring); }
.catalog-sync-days.is-disabled { opacity:.45; }
.number-with-suffix { position:relative; display:block; }
.number-with-suffix input { padding-right:48px; }
.number-with-suffix small { position:absolute; top:50%; right:11px; color:var(--muted); font-size:var(--font-xs); transform:translateY(-50%); }
.catalog-sync-save { min-height:var(--control-height); }
.catalog-sync-facts { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:24px 0 0; padding:18px 0; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.catalog-sync-facts>div+div { padding-left:28px; border-left:1px solid var(--line-soft); }
.catalog-sync-facts dt,.catalog-sync-facts dd { margin:0; }
.catalog-sync-facts dt { color:var(--muted); font-size:var(--font-xs); }
.catalog-sync-facts dd { margin-top:5px; font-size:var(--font-sm); font-weight:740; }
.catalog-sync-state { display:flex; align-items:center; gap:9px; margin-top:17px; color:var(--muted); font-size:var(--font-xs); font-weight:650; }
.catalog-sync-state i { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:var(--subtle); }
.catalog-sync-card[data-sync-status="running"] .catalog-sync-state i,.catalog-sync-card[data-sync-status="queued"] .catalog-sync-state i { background:var(--amber); box-shadow:0 0 0 4px var(--amber-soft); }
.catalog-sync-card[data-sync-status="succeeded"] .catalog-sync-state i { background:var(--green); box-shadow:0 0 0 4px var(--green-soft); }
.catalog-sync-card[data-sync-status="failed"] .catalog-sync-state { color:var(--red); }
.catalog-sync-card[data-sync-status="failed"] .catalog-sync-state i { background:var(--red); box-shadow:0 0 0 4px var(--red-soft); }
.catalog-sync-error { margin-top:15px; }
.catalog-sync-error:empty { display:none; }
.sync-error-details { margin-top:15px; padding:13px 14px; border:1px solid color-mix(in srgb,var(--red) 34%,var(--line)); border-radius:11px; color:var(--red); background:var(--red-soft); font-size:var(--font-xs); }
.sync-error-details summary { cursor:pointer; font-weight:740; }
.sync-error-details pre { max-height:180px; overflow:auto; white-space:pre-wrap; word-break:break-word; }
.image-cache-settings { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:20px; padding-top:20px; border-top:1px solid var(--line-soft); }
.image-cache-settings h3 { margin:0; font-size:var(--font-sm); }
.image-cache-settings p { margin:6px 0 0; color:var(--ink); font-size:var(--font-xs); font-weight:700; }
.image-cache-settings small { display:block; margin-top:5px; color:var(--muted); font-size:var(--font-xs); line-height:1.45; }
.image-cache-result { margin-top:12px; }
.account-settings-card { display:flex; width:100%; max-width:980px; align-items:center; justify-content:space-between; gap:24px; padding:23px 26px; }
.account-settings-card__copy h2 { margin:0; color:var(--ink); font-size:var(--font-md); letter-spacing:-.01em; }
.account-settings-card__copy p { margin:4px 0 0; color:var(--muted); font-size:var(--font-xs); }
.account-settings-card__copy strong { color:var(--text); }
.account-logout-button { flex:0 0 auto; }

.crawler-page { padding-top:36px; }
.crawler-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:20px; align-items:start; }
.crawler-side { display:grid; gap:20px; }
.crawler-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.crawler-actions .button { white-space:nowrap; }
.crawler-actions-menu { position:relative; }
.crawler-actions-menu>summary { min-width:88px; list-style:none; }
.crawler-actions-menu>summary::-webkit-details-marker { display:none; }
.crawler-actions-chevron { width:16px; height:16px; margin-left:5px; color:var(--muted); transition:transform .15s ease; }
.crawler-actions-menu[open] .crawler-actions-chevron { transform:rotate(180deg); }
.crawler-actions-menu>div { position:absolute; z-index:35; top:calc(100% + 8px); right:0; display:grid; width:220px; padding:6px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface); box-shadow:var(--shadow-raised); }
.crawler-actions-menu>div button { width:100%; min-height:40px; padding:0 11px; border:0; border-radius:8px; color:var(--text); background:transparent; cursor:pointer; text-align:left; font-size:var(--font-sm); font-weight:650; }
.crawler-actions-menu>div button:hover { background:var(--surface-subtle); }
.crawler-actions-menu>div .is-danger { color:var(--red); }
.crawler-actions-menu>div .is-danger:hover { background:var(--red-soft); }
.crawler-main-card,.crawler-results { width:100%; padding:28px 30px; }
.crawler-main-card { overflow:visible; }
.crawler-process-card { position:relative; z-index:5; overflow:visible; padding:22px 24px; }
.crawler-process-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.crawler-process-card .crawler-actions { display:grid; grid-template-columns:minmax(0,1fr); justify-content:stretch; width:100%; margin-top:14px; }
.crawler-process-card .crawler-actions>.button,
.crawler-process-card .crawler-actions-menu { width:100%; }
.crawler-process-card .crawler-actions>.button,
.crawler-process-card .crawler-actions-menu>summary { box-sizing:border-box; width:100%; min-height:38px; padding:8px 13px; }
.crawler-process-card .crawler-actions-menu>summary { min-width:0; }
.crawler-process-card .crawler-actions-menu>div { box-sizing:border-box; width:100%; }
.crawler-actions-menu>div button[data-crawler-log-open] { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.crawler-actions-menu>div button[data-crawler-log-open] span { color:var(--muted); font-size:var(--font-xs); font-weight:600; white-space:nowrap; }
.crawler-runtime { display:inline-flex; align-items:center; gap:9px; font-size:var(--font-sm); }
.crawler-runtime i { width:8px; height:8px; border-radius:50%; background:var(--subtle); }
.crawler-health { color:var(--muted); font-size:var(--font-xs); white-space:nowrap; }
.crawler-process-facts { display:grid; grid-template-columns:1fr; gap:10px; margin:18px 0 0; padding:15px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.crawler-process-facts div { display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.crawler-process-facts dt,.crawler-process-facts dd { margin:0; }
.crawler-process-facts dt { color:var(--muted); font-size:var(--font-xs); }
.crawler-process-facts dd { overflow:hidden; font-size:var(--font-xs); font-weight:730; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.crawler-page[data-crawler-runtime="active"] .crawler-runtime { color:var(--green); }
.crawler-page[data-crawler-runtime="active"] .crawler-runtime i { background:var(--green); box-shadow:0 0 0 4px var(--green-soft); }
.crawler-page[data-crawler-runtime="idle"] .crawler-runtime { color:var(--amber); }
.crawler-page[data-crawler-runtime="idle"] .crawler-runtime i { background:var(--amber); box-shadow:0 0 0 4px var(--amber-soft); }
.crawler-page[data-crawler-runtime="offline"] .crawler-runtime { color:var(--red); }
.crawler-page[data-crawler-runtime="offline"] .crawler-runtime i { background:var(--red); box-shadow:0 0 0 4px var(--red-soft); }
.crawler-warning { margin:0 0 20px; padding:13px 15px; border:1px solid color-mix(in srgb,var(--amber) 34%,var(--line)); border-radius:var(--radius-control); color:var(--amber); background:var(--amber-soft); font-size:var(--font-sm); line-height:1.5; }
.crawler-current,.crawler-console,.crawler-manual { margin-top:28px; padding-top:26px; border-top:1px solid var(--line); }
.crawler-manual { margin-top:0; padding-top:0; border-top:0; }
.crawler-section-heading h2 { font:700 var(--font-lg)/1.25 Inter,ui-sans-serif,sans-serif; }
.crawler-section-heading p { margin:6px 0 0; color:var(--muted); font-size:var(--font-xs); }
.crawler-current dl { display:grid; grid-template-columns:1fr; gap:0; margin:18px 0 0; padding:16px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface-subtle); }
.crawler-current dl>div+div { padding-left:20px; border-left:1px solid var(--line); }
.crawler-current dt,.crawler-current dd { margin:0; }
.crawler-current dt { color:var(--muted); font-size:var(--font-xs); }
.crawler-current dd { margin-top:5px; overflow-wrap:anywhere; font-size:var(--font-sm); font-weight:720; line-height:1.45; }
.crawler-current a { color:var(--accent); }
.crawler-console__actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.crawler-console__screen { position:relative; width:100%; margin-top:16px; overflow:hidden; aspect-ratio:1440/1000; border:1px solid var(--line-strong); border-radius:14px; background:var(--canvas); }
.crawler-console__screen iframe { display:block; width:100%; height:100%; border:0; background:#fff; }
.crawler-console__loading { position:absolute; inset:0; display:grid; place-items:center; color:var(--muted); background:var(--surface-subtle); font-size:var(--font-xs); pointer-events:none; }
.crawler-manual { display:block; }
.crawler-manual h2 { margin:0; font-size:var(--font-lg); letter-spacing:-.02em; }
.crawler-manual p { margin:7px 0 0; color:var(--muted); font-size:var(--font-xs); line-height:1.45; }
.crawler-product-picker { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; }
.crawler-product-picker:focus-within { z-index:30; }
.crawler-product-search input,.crawler-settings input { width:100%; height:var(--control-height); padding:0 12px; border:1px solid var(--line-strong); border-radius:var(--radius-control); color:var(--ink); background:var(--surface-subtle); outline:0; font-size:var(--font-sm); }
.crawler-product-search input:focus,.crawler-settings input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring); }
.crawler-product-options { position:absolute; z-index:20; top:50px; right:0; left:0; max-height:270px; overflow:auto; padding:6px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface); box-shadow:var(--shadow-raised); }
.crawler-product-options button { display:grid; width:100%; padding:9px 10px; border:0; border-radius:8px; color:var(--ink); background:transparent; cursor:pointer; text-align:left; }
.crawler-product-options button:hover,.crawler-product-options button:focus-visible { background:var(--surface-subtle); outline:0; }
.crawler-product-options b { overflow:hidden; font-size:var(--font-xs); text-overflow:ellipsis; white-space:nowrap; }
.crawler-product-options small { margin-top:3px; color:var(--muted); font-size:var(--font-xs); }
.crawler-product-options__empty { padding:12px; color:var(--muted); font-size:var(--font-xs); text-align:center; }
.crawler-dialog.crawler-settings-dialog { width:min(700px,calc(100% - 32px)); }
.crawler-settings { display:grid; gap:24px; padding:24px 26px 26px; }
.crawler-settings-section { display:grid; gap:14px; }
.crawler-settings-section__head h3 { margin:0; font-size:var(--font-sm); font-weight:780; letter-spacing:-.01em; }
.crawler-settings-section__head p { margin:4px 0 0; color:var(--muted); font-size:var(--font-xs); line-height:1.45; }
.crawler-setting-control { display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:22px; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface-subtle); }
.crawler-setting-control>span:first-child { min-width:0; }
.crawler-setting-control b,.crawler-setting-control small { display:block; }
.crawler-setting-control b { font-size:var(--font-xs); line-height:1.35; }
.crawler-setting-control>span:first-child small { margin-top:3px; color:var(--muted); font-size:var(--font-xs); line-height:1.4; }
.crawler-input-suffix { display:flex; flex:0 0 auto; align-items:center; gap:8px; }
.crawler-input-suffix input { width:92px; }
.crawler-input-suffix small { color:var(--muted); font-size:var(--font-xs); }
.crawler-delay-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.crawler-range-control { min-width:0; margin:0; padding:13px 14px 14px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface-subtle); }
.crawler-range-control legend { padding:0 5px; color:var(--ink); font-size:var(--font-xs); font-weight:730; }
.crawler-range-control>div { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.crawler-range-control label { display:grid; gap:5px; color:var(--muted); font-size:var(--font-xs); font-weight:650; }
.crawler-settings input { height:var(--control-height); padding:0 10px; border:1px solid var(--line-strong); border-radius:var(--radius-control); color:var(--ink); background:var(--control-bg); outline:0; font-size:var(--font-sm); font-weight:650; }
.crawler-settings input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring); }
.crawler-settings-actions { display:flex; justify-content:flex-end; padding-top:2px; }
.crawler-settings-actions .button { min-width:190px; }
.crawler-preferences-card { padding:0; }
.crawler-preferences-card>.catalog-sync-card__head { padding:28px 32px 22px; border-bottom:1px solid var(--line-soft); }
.crawler-settings--page { gap:0; margin:0; padding:0; }
.crawler-settings--page .crawler-settings-section { grid-template-columns:180px minmax(0,1fr); gap:28px; padding:24px 32px; }
.crawler-settings--page .crawler-settings-section+.crawler-settings-section { border-top:1px solid var(--line-soft); }
.crawler-settings--page .crawler-settings-section__head { padding-top:5px; }
.crawler-settings--page .crawler-setting-control,.crawler-settings--page .crawler-range-control { background:var(--surface); }
.crawler-settings--page .crawler-settings-actions { margin:0; padding:20px 32px 28px; border-top:1px solid var(--line-soft); }
.crawler-preferences-card>[data-settings-crawler-error] { margin:0 32px 28px; }
.crawler-results { padding:24px 24px 0; overflow:hidden; }
.crawler-results-button { display:grid; width:40px; height:40px; place-items:center; align-self:center; padding:0; border:1px solid var(--line); border-radius:var(--radius-control); color:var(--ink); background:var(--surface); cursor:pointer; font-size:var(--font-md); transition:border-color .15s,background .15s,transform .15s; }
.crawler-results-button:hover { border-color:var(--line-strong); background:var(--canvas); transform:translateX(1px); }
.crawler-results-button:focus-visible { outline:3px solid var(--focus-ring); outline-offset:2px; }
.crawler-results-button .ui-icon { width:18px; height:18px; }
.crawler-results__count { align-self:center; padding:5px 8px; border-radius:8px; color:var(--muted); background:var(--canvas); font-size:var(--font-xs); font-weight:700; }
.crawler-results ol { display:grid; margin:20px -24px 0; padding:0; border-top:1px solid var(--line); list-style:none; }
.crawler-results li { padding:15px 24px; }
.crawler-results li+li { border-top:1px solid var(--line); }
.crawler-results li>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; }
.crawler-results h3 { margin:0; overflow:hidden; font-size:var(--font-sm); text-overflow:ellipsis; white-space:nowrap; }
.crawler-results h3 a:hover { color:var(--accent); }
.crawler-results li>div>p { grid-column:1/-1; margin:0; color:var(--muted); font-size:var(--font-xs); }
.crawler-results li>div>.crawler-result-summary { margin-top:3px; color:var(--ink); font-weight:650; }
.crawler-result-badge { display:inline-flex; min-height:26px; align-items:center; padding:0 9px; border-radius:999px; color:var(--muted); background:var(--line-soft); font-size:var(--font-xs); font-weight:780; }
.crawler-result-badge--succeeded { color:var(--green); background:var(--green-soft); }
.crawler-result-badge--found { color:var(--red); background:var(--red-soft); }
.crawler-result-badge--warning,.crawler-result-badge--attention { color:var(--amber); background:var(--amber-soft); }
.crawler-result-badge--failed { color:var(--red); background:var(--red-soft); }
.crawler-result-error { margin:9px 0 0; color:var(--red); font-size:var(--font-xs); line-height:1.5; }
.crawler-results__empty { color:var(--muted); font-size:var(--font-xs); text-align:center; }
.crawler-dialog { width:min(620px,calc(100% - 32px)); max-height:min(820px,calc(100vh - 32px)); padding:0; overflow:auto; border:0; border-radius:var(--radius-dialog); color:var(--ink); background:var(--surface); box-shadow:var(--shadow-raised); }
.crawler-dialog::backdrop { background:rgba(19,27,21,.46); backdrop-filter:blur(3px); }
.crawler-dialog__head { position:sticky; z-index:2; top:0; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:21px 26px; border-bottom:1px solid var(--line); background:var(--surface-translucent); }
.crawler-dialog__head h2 { margin:0; font-size:var(--font-lg); letter-spacing:-.025em; }
.crawler-dialog__head p { margin:6px 0 0; color:var(--muted); font-size:var(--font-xs); }
.crawler-dialog__head button { display:grid; width:40px; height:40px; place-items:center; flex:0 0 auto; padding:0; border:1px solid var(--line); border-radius:var(--radius-control); color:var(--muted); background:var(--surface); cursor:pointer; font-size:var(--font-lg); }
.crawler-dialog__head button:hover { color:var(--ink); background:var(--surface-subtle); }
.crawler-results-dialog { width:min(900px,calc(100% - 32px)); }
.crawler-results-toolbar { position:sticky; z-index:1; top:83px; display:grid; gap:12px; padding:16px 26px; border-bottom:1px solid var(--line); background:var(--surface-translucent); }
.crawler-results-search { display:flex; height:var(--control-height); align-items:center; gap:8px; padding:0 12px; border:1px solid var(--line-strong); border-radius:var(--radius-control); background:var(--surface-subtle); }
.crawler-results-search>.ui-icon { width:17px; height:17px; color:var(--muted); }
.crawler-results-search input { min-width:0; flex:1; border:0; outline:0; color:var(--ink); background:transparent; font-size:var(--font-sm); }
.crawler-results-filters { display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; }
.crawler-results-filters::-webkit-scrollbar { display:none; }
.crawler-results-filters button { display:flex; min-height:34px; align-items:center; gap:7px; padding:0 11px; border:1px solid transparent; border-radius:999px; color:var(--muted); background:var(--canvas); cursor:pointer; font-size:var(--font-xs); font-weight:720; white-space:nowrap; }
.crawler-results-filters button span { color:var(--subtle); }
.crawler-results-filters button.is-active { color:var(--ink); border-color:var(--line-strong); background:var(--surface); }
.crawler-results-filters button.is-active span { color:var(--accent); }
.crawler-results-dialog__list { display:grid; margin:0; padding:0; list-style:none; }
.crawler-results-dialog__list li { padding:17px 26px; border-left:3px solid transparent; }
.crawler-results-dialog__list li[data-result-status="found"] { border-left-color:var(--red); background:color-mix(in srgb,var(--red-soft) 44%,var(--surface)); }
.crawler-results-dialog__list li[data-result-status="error"] { border-left-color:var(--amber); background:color-mix(in srgb,var(--amber-soft) 44%,var(--surface)); }
.crawler-results-dialog__list li+li { border-top:1px solid var(--line); }
.crawler-results-dialog__list li>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; }
.crawler-results-dialog__list h3 { margin:0; overflow:hidden; font-size:var(--font-sm); text-overflow:ellipsis; white-space:nowrap; }
.crawler-results-dialog__list h3 a:hover { color:var(--accent); }
.crawler-results-dialog__list li>div>p { grid-column:1/-1; margin:0; color:var(--muted); font-size:var(--font-xs); }
.crawler-results-dialog__list li>div>.crawler-result-summary { margin-top:3px; color:var(--ink); font-weight:650; }
.crawler-log-dialog { display:none; width:100vw; max-width:none; height:100vh; max-height:none; margin:0; padding:0; overflow:hidden; border:0; border-radius:0; background:#172019; }
.crawler-log-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr); }
.crawler-log-dialog::backdrop { background:rgba(19,27,21,.46); backdrop-filter:blur(3px); }
.crawler-log-dialog__head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 24px; color:#fff; border-bottom:1px solid #2b352d; }
.crawler-log-dialog__head h2 { margin:0; font-size:var(--font-lg); }
.crawler-log-dialog__head p { margin:5px 0 0; color:#9eaaa1; font-size:var(--font-xs); }
.crawler-log-dialog__head button { display:grid; width:40px; height:40px; place-items:center; padding:0; border:1px solid #415047; border-radius:var(--radius-control); color:#fff; background:transparent; cursor:pointer; font-size:var(--font-lg); }
.crawler-log-dialog pre { min-height:0; max-height:none; margin:0; overflow:auto; padding:22px 24px 28px; color:#dfe8e0; font:var(--font-xs)/1.65 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre; word-break:normal; tab-size:2; }
.crawler-results-filter-empty { margin:0; padding:34px 26px; color:var(--muted); text-align:center; }
.crawler-confirm-dialog { width:min(500px,calc(100% - 32px)); }
.crawler-confirm-dialog__body { padding:24px 26px 26px; }
.crawler-confirm-dialog__body>p { margin:0; color:var(--muted); line-height:1.6; }
.crawler-confirm-dialog__actions { display:flex; justify-content:flex-end; gap:9px; margin-top:24px; }
.crawler-console.is-expanded { position:fixed; z-index:90; inset:0; display:block; margin:0; padding:0; border:0; color:#fff; background:#111713; }
.crawler-console.is-expanded .catalog-sync-card__head { position:absolute; z-index:3; top:12px; right:12px; width:auto; padding:0; pointer-events:none; }
.crawler-console.is-expanded .catalog-sync-card__head>div:first-child { display:none; }
.crawler-console.is-expanded .crawler-console__actions { display:flex; pointer-events:auto; }
.crawler-console.is-expanded [data-crawler-console-reconnect] { display:none; }
.crawler-console.is-expanded .crawler-console__screen { position:absolute; inset:0; width:100%; height:100%; margin:0; aspect-ratio:auto; border:0; border-radius:0; }
.crawler-console.is-expanded .button--secondary { color:#fff; border-color:rgba(255,255,255,.24); background:rgba(17,23,19,.88); box-shadow:0 4px 18px rgba(0,0,0,.2); backdrop-filter:blur(8px); }
.has-expanded-crawler-console { overflow:hidden; }
@media (max-width:1050px) { .crawler-layout{grid-template-columns:1fr}.crawler-side{grid-template-columns:1fr 1fr} }
@media (max-width:760px) { .crawler-actions{justify-content:stretch}.crawler-actions>.button{flex:1}.crawler-actions-menu{margin-left:auto}.crawler-status-head,.crawler-console .catalog-sync-card__head{align-items:stretch;flex-direction:column}.crawler-connection{justify-content:flex-start}.crawler-current dl{grid-template-columns:1fr}.crawler-current dl>div+div{margin-top:13px;padding:13px 0 0;border-top:1px solid var(--line);border-left:0}.crawler-console__actions{justify-content:flex-start}.crawler-side{grid-template-columns:1fr}.crawler-results li>div{grid-template-columns:1fr}.crawler-result-badge{justify-self:start} }
@media (max-width:620px) { .crawler-page{padding-top:28px}.crawler-main-card,.crawler-results{padding:20px}.crawler-actions-menu>div{position:fixed;right:14px;left:14px;bottom:82px;top:auto;width:auto}.crawler-product-picker{grid-template-columns:1fr}.crawler-console__actions{display:grid;grid-template-columns:1fr 1fr}.crawler-console__actions .button:first-child{grid-column:1/-1}.crawler-console__screen{height:auto;min-height:0;aspect-ratio:1440/1000}.crawler-settings{gap:20px;padding:20px 18px 92px}.crawler-delay-grid{grid-template-columns:1fr}.crawler-setting-control{align-items:flex-start;flex-direction:column;gap:10px}.crawler-input-suffix{width:100%}.crawler-input-suffix input{min-width:0;flex:1}.crawler-settings-actions{position:sticky;z-index:2;bottom:0;margin:0 -18px -92px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.96)}.crawler-settings-actions .button{width:100%}.crawler-results ol{margin-right:-20px;margin-left:-20px}.crawler-results li{padding-right:20px;padding-left:20px}.crawler-dialog{width:calc(100% - 20px);max-height:calc(100vh - 20px)}.crawler-log-dialog{width:100vw;max-height:none}.crawler-dialog__head,.crawler-log-dialog__head,.crawler-log-dialog pre{padding-right:18px;padding-left:18px}.crawler-results-toolbar{top:82px;padding-right:18px;padding-left:18px}.crawler-results-dialog__list li{padding-right:18px;padding-left:15px}.crawler-confirm-dialog__actions{align-items:stretch;flex-direction:column-reverse}.crawler-confirm-dialog__actions .button{width:100%}.crawler-console.is-expanded{padding:0}.crawler-console.is-expanded .crawler-console__actions{grid-template-columns:1fr}.crawler-console.is-expanded .crawler-console__screen{min-height:0} }
.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; }

.files-shell { padding-top:32px; }
.files-controls { display:flex; margin-bottom:14px; align-items:center; justify-content:space-between; gap:14px; }
.files-search { width:min(520px,55vw); }
.files-page-error { margin:0 0 14px; }
.files-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 12px 42px light-dark(rgba(25,35,27,.055),rgba(0,0,0,.18)); }
.files-library-dropzone { display:flex; min-height:92px; margin:14px; padding:17px 18px; align-items:center; gap:14px; border:1.5px dashed var(--line-strong); border-radius:14px; color:var(--muted); background:var(--surface-subtle); cursor:pointer; transition:.15s; }
.files-library-dropzone:hover,.files-library-dropzone.is-dragging { border-color:var(--accent); background:var(--accent-soft); }
.files-library-dropzone.is-uploading { pointer-events:none; border-style:solid; opacity:.72; }
.files-library-dropzone input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.files-library-dropzone__icon { display:grid; width:42px; height:42px; place-items:center; flex:0 0 auto; border-radius:12px; color:var(--accent); background:var(--accent-soft); font-size:var(--font-lg); font-weight:800; }
.files-library-dropzone__copy { min-width:0; flex:1; }
.files-library-dropzone__copy b,.files-library-dropzone__copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.files-library-dropzone__copy b { color:var(--ink); font-size:var(--font-sm); }
.files-library-dropzone__copy small { margin-top:5px; font-size:var(--font-xs); }
.files-library-dropzone>.button { pointer-events:none; }
.file-row { display:grid; grid-template-columns:64px minmax(0,1fr) auto; min-height:116px; padding:18px 20px; align-items:start; gap:16px; border-top:1px solid var(--line-soft); }
.file-row:last-of-type { border-bottom:0; }
.file-row:hover { background:var(--surface-hover); }
.file-row[data-open-file-editor] { cursor:pointer; outline:0; }
.file-row[data-open-file-editor]:focus-visible { box-shadow:inset 0 0 0 2px var(--accent); }
.file-row a,.file-row button { cursor:pointer; }
.file-type-badge { display:grid; width:46px; height:46px; place-items:center; flex:0 0 auto; border:1px solid var(--line); border-radius:12px; color:var(--text); background:var(--surface-subtle); font-size:var(--font-xs); font-weight:820; letter-spacing:.04em; }
.file-preview,.product-file-preview { display:block; overflow:hidden; padding:0; border:1px solid var(--line); border-radius:12px; background:var(--surface-subtle); cursor:zoom-in; }
.file-preview { width:62px; height:62px; }
.file-preview img,.product-file-preview img { width:100%; height:100%; object-fit:cover; }
.file-type-badge.file-preview { width:62px; height:62px; }
.file-row__main { min-width:0; }
.file-row__main h2 { margin:1px 0 6px; overflow:hidden; font-size:var(--font-sm); line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.file-row__meta { display:flex; flex-wrap:wrap; gap:4px 14px; color:var(--muted); font-size:var(--font-xs); }
.file-row__main>p { display:-webkit-box; max-width:780px; margin:10px 0 0; overflow:hidden; color:var(--text); font-size:var(--font-xs); line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.file-product-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.file-product-links a,.file-product-more,.file-unlinked { max-width:260px; overflow:hidden; padding:5px 8px; border-radius:8px; color:var(--text); background:var(--surface-subtle); font-size:var(--font-xs); font-weight:680; text-overflow:ellipsis; white-space:nowrap; }
.file-product-links a:hover { color:var(--accent); }
.file-product-more { color:var(--muted); }
.file-unlinked { color:var(--amber); background:var(--amber-soft); }
.file-row__actions { display:flex; align-items:center; gap:7px; }
.file-icon-action { display:grid; width:36px; height:36px; place-items:center; padding:0; border:1px solid var(--line); border-radius:10px; color:var(--muted); background:var(--surface); cursor:pointer; font-size:var(--font-md); }
.file-icon-action .ui-icon { width:17px; height:17px; }
.file-icon-action:hover { color:var(--ink); border-color:var(--line-strong); }
.file-icon-action--danger:hover { color:var(--red); border-color:var(--red); background:var(--red-soft); }
.files-empty { display:grid; min-height:320px; place-items:center; align-content:center; color:var(--muted); text-align:center; }
.files-empty b,.files-empty span { display:block; }
.files-empty b { margin:13px 0 6px; color:var(--ink); font-size:var(--font-md); }
.files-empty span:last-child { font-size:var(--font-xs); }
.files-empty__icon { display:grid; width:54px; height:54px; place-items:center; border-radius:16px; color:var(--accent); background:var(--accent-soft); font-size:var(--font-xl); }

.file-dialog { width:min(650px,calc(100% - 28px)); max-height:calc(100vh - 32px); overflow:auto; padding:0; border:0; border-radius:var(--radius-dialog); background:var(--surface); box-shadow:var(--shadow-raised); }
.file-dialog::backdrop { background:rgba(19,27,21,.46); backdrop-filter:blur(3px); }
.file-dialog__surface { padding:27px; }
.file-dialog__head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.file-dialog__head h2 { margin:0; font-size:var(--font-xl); letter-spacing:-.03em; }
.file-dialog__head p { max-width:470px; margin:6px 0 0; overflow:hidden; color:var(--muted); font-size:var(--font-xs); text-overflow:ellipsis; white-space:nowrap; }
.file-dialog__close { display:grid; width:40px; height:40px; place-items:center; flex:0 0 auto; padding:0; border:1px solid var(--line); border-radius:var(--radius-control); color:var(--muted); background:var(--surface); cursor:pointer; font-size:var(--font-lg); line-height:1; }
.file-dialog__close:hover { color:var(--ink); background:var(--canvas); }
.file-dialog__error { margin:0 0 16px; }
.edit-file-preview { position:relative; display:block; width:100%; height:230px; margin:0 0 18px; overflow:hidden; padding:0; border:1px solid var(--line); border-radius:14px; background:var(--surface-subtle); cursor:zoom-in; }
.edit-file-preview[hidden] { display:none; }
.edit-file-preview img { width:100%; height:100%; object-fit:contain; }
.edit-file-preview span { position:absolute; right:10px; bottom:10px; padding:6px 9px; border-radius:8px; color:#fff; background:rgba(19,27,21,.68); font-size:var(--font-xs); font-weight:730; }
.file-dropzone { display:grid; min-height:132px; place-items:center; align-content:center; padding:20px; border:1.5px dashed var(--line-strong); border-radius:14px; color:var(--muted); background:var(--surface-subtle); cursor:pointer; text-align:center; transition:.15s; }
.file-dropzone:hover,.file-dropzone.is-dragging { border-color:var(--accent); background:var(--accent-soft); }
.file-dropzone input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.file-dropzone__icon { display:grid; width:34px; height:34px; margin-bottom:9px; place-items:center; border-radius:10px; color:var(--accent); background:var(--accent-soft); font-size:var(--font-md); font-weight:800; }
.file-dropzone b { max-width:100%; overflow:hidden; color:var(--ink); font-size:var(--font-sm); text-overflow:ellipsis; white-space:nowrap; }
.file-dropzone small { margin-top:5px; font-size:var(--font-xs); }
.file-upload-queue { display:grid; gap:1px; margin-top:10px; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:var(--surface-subtle); }
.file-upload-queue>div { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:14px; padding:8px 10px; color:var(--text); font-size:var(--font-xs); }
.file-upload-queue>div+div { border-top:1px solid var(--line-soft); }
.file-upload-queue span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-upload-queue small { flex:0 0 auto; color:var(--muted); font-size:var(--font-xs); }
.file-upload-queue>.file-upload-queue__more { justify-content:center; color:var(--muted); font-weight:700; }
.file-field { display:grid; gap:7px; margin-top:16px; }
.file-field>span,.association-picker__label { color:var(--text); font-size:var(--font-xs); font-weight:720; }
.file-field input,.file-field textarea,.association-search { width:100%; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:var(--control-bg); outline:0; }
.file-field input { height:var(--control-height); padding:0 12px; }
.file-field textarea { resize:vertical; padding:11px 12px; line-height:1.5; }
.file-field input:focus,.file-field textarea:focus,.association-search:focus-within { border-color:var(--accent); background:var(--control-bg); box-shadow:0 0 0 3px var(--focus-ring); }
.association-picker { position:relative; display:grid; gap:8px; margin-top:17px; }
.association-selected { display:flex; min-height:34px; flex-wrap:wrap; gap:6px; align-items:center; }
.association-selected__empty { color:var(--subtle); font-size:var(--font-xs); }
.association-chip { display:flex; max-width:100%; align-items:center; gap:6px; padding:5px 5px 5px 9px; border-radius:9px; color:var(--text); background:var(--surface-subtle); font-size:var(--font-xs); font-weight:680; }
.association-chip>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.association-chip button { display:grid; width:18px; height:18px; place-items:center; flex:0 0 auto; padding:0; border:0; border-radius:6px; color:var(--muted); background:var(--surface); cursor:pointer; }
.association-chip button:hover { color:var(--red); }
.association-search { display:flex; height:var(--control-height); align-items:center; gap:8px; padding:0 11px; }
.association-search>.ui-icon { width:17px; height:17px; color:var(--muted); }
.association-search input { min-width:0; flex:1; border:0; color:var(--ink); background:transparent; outline:0; font-size:var(--font-xs); }
.association-results { position:absolute; z-index:5; top:calc(100% + 5px); right:0; left:0; max-height:220px; overflow:auto; padding:5px; border:1px solid var(--line); border-radius:11px; background:var(--surface); box-shadow:var(--shadow-raised); }
.association-results button,.association-results__empty { display:block; width:100%; padding:9px 10px; border:0; border-radius:8px; color:var(--ink); background:transparent; cursor:pointer; font-size:var(--font-xs); line-height:1.35; text-align:left; }
.association-results button:hover { background:var(--canvas); }
.association-results__empty { color:var(--muted); cursor:default; }
.file-dialog__actions { display:flex; justify-content:flex-end; gap:9px; margin-top:24px; padding-top:18px; border-top:1px solid var(--line-soft); }

.api-badge--critical { color:var(--red); background:var(--red-soft); }
body[data-page="product"] { background:var(--canvas); }
.product-detail-shell { --product-blue:var(--accent); --product-blue-soft:var(--accent-soft); --product-green:var(--green); max-width:1440px; padding-top:32px; }
.breadcrumb { display:flex; min-width:0; margin-bottom:18px; align-items:center; gap:8px; color:var(--muted); font-size:var(--font-xs); white-space:nowrap; }
.breadcrumb a { color:var(--text); font-weight:680; }
.breadcrumb a:hover { color:var(--product-blue); }
.breadcrumb span:last-child { overflow:hidden; text-overflow:ellipsis; }
.product-page-head { margin-bottom:24px; }
.product-page-head h1 { max-width:960px; margin:0; font:650 clamp(28px,3vw,40px)/1.12 Inter,ui-sans-serif,sans-serif; letter-spacing:-.035em; }
.product-page-counterfeit-alert { display:inline-flex; min-height:32px; margin:12px 0 0; align-items:center; gap:7px; padding:0 11px; border:1px solid color-mix(in srgb,var(--red) 34%,var(--line)); border-radius:999px; color:var(--red); background:var(--red-soft); font-size:var(--font-xs); font-weight:720; }
.product-page-counterfeit-alert strong { font-size:var(--font-sm); }
.product-page-counterfeit-alert .ui-icon { width:14px; height:14px; }
.product-page-counterfeit-alert:hover { border-color:var(--red); background:var(--red-soft); }
.product-page-meta { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:10px; color:var(--muted); font-size:var(--font-xs); }
.product-primary { display:grid; grid-template-columns:minmax(420px,1.25fr) minmax(270px,.72fr) minmax(290px,.7fr); grid-template-areas:"gallery summary buybox"; gap:20px; align-items:start; }
.product-gallery-card { grid-area:gallery; display:grid; grid-template-columns:62px minmax(0,1fr); gap:14px; padding:14px; border:1px solid var(--line); border-radius:22px; background:var(--surface); }
.product-thumb-list { display:flex; flex-direction:column; gap:8px; }
.product-thumb { display:grid; width:62px; height:74px; overflow:hidden; place-items:center; padding:3px; border:2px solid transparent; border-radius:11px; background:var(--surface-subtle); cursor:pointer; }
.product-thumb:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); }
.product-thumb.is-active { border-color:var(--product-blue); background:var(--surface); }
.product-thumb:focus-visible { outline:3px solid var(--focus-ring); outline-offset:2px; }
.product-button:focus-visible,.description-disclosure summary:focus-visible,.product-tech-details summary:focus-visible { outline:3px solid var(--focus-ring); outline-offset:2px; }
.product-thumb img { display:block; width:100%; height:100%; object-fit:cover; border-radius:6px; }
.product-main-image { display:grid; min-width:0; height:590px; overflow:hidden; place-items:center; border-radius:14px; background:var(--surface-subtle); }
.product-main-image img { display:block; width:100%; height:100%; object-fit:contain; }
.product-main-image-empty { color:var(--subtle); font-size:var(--font-sm); }
.product-summary { grid-area:summary; padding:8px 4px; }
.product-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.product-section-head h2,.product-content-card h2 { margin:0; font-size:var(--font-lg); letter-spacing:-.025em; }
.product-section-head span { color:var(--muted); font-size:var(--font-xs); }
.product-specs { display:grid; margin:17px 0 0; }
.product-specs>div { display:grid; grid-template-columns:minmax(90px,.8fr) minmax(110px,1fr); gap:10px; padding:9px 0; border-bottom:1px solid var(--line-soft); }
.product-specs dt,.product-specs dd,.product-tech-details dt,.product-tech-details dd,.product-price-details dt,.product-price-details dd { margin:0; }
.product-specs dt { color:var(--muted); font-size:var(--font-xs); line-height:1.4; }
.product-specs dd { overflow-wrap:anywhere; font-size:var(--font-xs); font-weight:650; line-height:1.4; }
.detail-empty { padding:16px; border-radius:12px; color:var(--muted); background:var(--surface); font-size:var(--font-xs); }
.product-tech-details { margin-top:14px; }
.product-tech-details>summary { display:flex; width:max-content; align-items:center; gap:8px; color:var(--ink); cursor:pointer; font-size:var(--font-xs); font-weight:700; list-style:none; }
.product-tech-details>summary:hover { color:var(--accent); }
.product-tech-details>summary::-webkit-details-marker { display:none; }
.product-tech-chevron { width:15px; height:15px; transition:transform .16s ease; }
.product-tech-details[open] .product-tech-chevron { transform:rotate(180deg); }
.product-tech-details dl { display:grid; margin:12px 0 0; padding:14px 16px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.product-tech-details dl>div { display:grid; grid-template-columns:minmax(120px,1fr) minmax(0,1.15fr); gap:14px; padding:7px 0; }
.product-tech-details dl>div+div { border-top:1px solid var(--line-soft); }
.product-tech-details dl>.product-tech-details__dates { margin-top:7px; padding-top:14px; border-top:1px solid var(--line); }
.product-tech-details dt { color:var(--muted); font-size:var(--font-xs); line-height:1.4; }
.product-tech-details dd { overflow-wrap:anywhere; text-align:right; font-size:var(--font-xs); font-weight:680; line-height:1.4; }
.product-tech-details__synced dd { color:var(--product-green); }
.product-buybox { grid-area:buybox; padding:22px; border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:var(--shadow); }
.product-price-main { display:flex; align-items:baseline; gap:10px; color:var(--product-green); }
.product-price-main>span { font-size:var(--font-2xl); font-weight:820; letter-spacing:-.045em; }
.product-price-main del { color:var(--subtle); font-size:var(--font-sm); font-weight:550; }
.product-price-caption { margin:5px 0 0; color:var(--muted); font-size:var(--font-xs); line-height:1.4; }
.product-price-details { display:grid; margin:18px 0 0; padding:12px 0; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.product-price-details>div { display:flex; justify-content:space-between; gap:15px; padding:4px 0; }
.product-price-details dt { color:var(--muted); font-size:var(--font-xs); }
.product-price-details dd { font-size:var(--font-xs); font-weight:750; }
.product-stock-state { display:flex; align-items:center; gap:10px; margin:16px 0; }
.product-stock-state>i { width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:var(--product-green); box-shadow:0 0 0 4px rgba(16,168,75,.1); }
.product-stock-state b,.product-stock-state span { display:block; }
.product-stock-state b { font-size:var(--font-xs); }
.product-stock-state span { margin-top:3px; color:var(--muted); font-size:var(--font-xs); }
.product-buybox-actions { display:grid; gap:8px; }
.product-button { display:flex; min-height:var(--control-height); align-items:center; justify-content:center; gap:8px; padding:0 16px; border:1px solid transparent; border-radius:var(--radius-control); font-size:var(--font-sm); font-weight:720; cursor:pointer; }
.product-button--primary { color:var(--button-text); background:var(--product-blue); }
.product-button--primary:hover { background:color-mix(in srgb,var(--product-blue) 86%,var(--ink)); }
.product-button--secondary { color:var(--ink); border-color:var(--line-strong); background:var(--surface); }
.product-button--secondary:hover { border-color:var(--line-strong); background:var(--surface-subtle); }
.product-button:disabled { opacity:.65; cursor:wait; }
.product-button .spinner { border-color:rgba(24,33,27,.22); border-top-color:var(--ink); }
.product-button--primary .spinner { border-color:color-mix(in srgb,var(--button-text) 35%,transparent); border-top-color:var(--button-text); }
.product-checks { display:grid; gap:7px; margin-top:16px; padding-top:15px; border-top:1px solid var(--line-soft); color:var(--muted); font-size:var(--font-xs); }
.product-checks span { display:flex; align-items:center; gap:7px; }
.product-checks i { display:grid; width:16px; height:16px; place-items:center; border-radius:50%; color:var(--product-green); background:var(--green-soft); font-style:normal; font-size:var(--font-xs); font-weight:900; }
.product-refresh-error { margin:0 0 20px; }
.product-lower-grid { display:grid; grid-template-columns:1fr; gap:18px; margin-top:24px; }
.product-content-card { padding:26px; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.description-preview { max-width:900px; margin:17px 0 0; color:var(--text); font-size:var(--font-sm); line-height:1.65; }
.description-disclosure { margin-top:12px; }
.description-disclosure>summary { display:flex; width:max-content; align-items:center; gap:7px; color:var(--ink); cursor:pointer; font-size:var(--font-xs); font-weight:740; list-style:none; }
.description-disclosure>summary:hover { color:var(--accent); }
.description-disclosure>summary::-webkit-details-marker { display:none; }
.description-chevron { width:15px; height:15px; transition:transform .18s ease; }
.description-disclosure[open] .description-chevron { transform:rotate(180deg); }
.description-close-label { display:none; }
.description-disclosure[open] .description-open-label { display:none; }
.description-disclosure[open] .description-close-label { display:inline; }
.description-full { max-width:900px; margin:17px 0 0; padding-top:17px; border-top:1px solid var(--line-soft); color:var(--text); font-size:var(--font-sm); line-height:1.7; white-space:pre-wrap; }
.product-files-card { padding:0; }
.product-files-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:21px 24px; border-bottom:1px solid var(--line-soft); }
.product-files-head>div { display:flex; align-items:center; gap:9px; }
.product-files-head h2 { font-size:var(--font-lg); }
.product-files-head span { display:grid; min-width:24px; height:24px; padding:0 7px; place-items:center; border-radius:999px; color:var(--accent); background:var(--accent-soft); font-size:var(--font-xs); font-weight:800; }
.product-files-error { margin:16px 20px 0; }
.product-files-list { display:grid; }
.product-file-row { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:14px; padding:15px 24px; align-items:center; border-bottom:1px solid var(--line-soft); }
.product-file-preview { width:56px; height:56px; }
.file-type-badge.product-file-preview { width:56px; height:56px; }
.product-file-row:last-child { border-bottom:0; }
.product-file-row__copy { min-width:0; }
.product-file-row__copy b,.product-file-row__copy span { display:block; }
.product-file-row__copy b { overflow:hidden; font-size:var(--font-xs); text-overflow:ellipsis; white-space:nowrap; }
.product-file-row__copy span { margin-top:4px; color:var(--muted); font-size:var(--font-xs); }
.product-file-row__copy p { display:-webkit-box; max-width:760px; margin:7px 0 0; overflow:hidden; color:var(--text); font-size:var(--font-xs); line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.product-file-row__actions { display:flex; align-items:center; gap:11px; }
.product-file-row__actions a,.product-file-row__actions button { padding:0; border:0; color:var(--ink); background:transparent; cursor:pointer; font-size:var(--font-xs); font-weight:720; }
.product-file-row__actions a:hover,.product-file-row__actions button:hover { color:var(--accent); }
.product-file-row__actions button:last-child { color:var(--muted); }
.product-file-row__actions button:last-child:hover { color:var(--red); }
.product-files-empty { padding:30px 24px; color:var(--muted); font-size:var(--font-xs); }
.product-crawler-card { scroll-margin-top:94px; }
.product-crawler-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.product-crawler-head p { margin:6px 0 0; color:var(--muted); font-size:var(--font-xs); }
.product-crawler-summary { display:flex; min-height:58px; margin-top:18px; align-items:center; justify-content:space-between; gap:18px; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface-subtle); }
.product-crawler-summary strong,.product-crawler-summary span { display:block; }
.product-crawler-summary strong { color:var(--ink); font-size:var(--font-sm); }
.product-crawler-summary span { color:var(--muted); font-size:var(--font-xs); white-space:nowrap; }
.product-crawler-summary--found { border-color:#efcbc7; background:var(--red-soft); }
.product-crawler-summary--found strong { color:var(--red); }
.product-crawler-summary--clean { border-color:#cfe2d6; background:var(--green-soft); }
.product-crawler-summary--clean strong { color:var(--green); }
.product-crawler-summary--warning { border-color:#ecd6ae; background:var(--amber-soft); }
.product-crawler-summary--warning strong { color:var(--amber); }
.product-crawler-summary--error { border-color:#efcbc7; background:var(--red-soft); }
.product-crawler-summary--error strong { color:var(--red); }
.product-crawler-findings { display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none; }
.product-crawler-findings li { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px; border:1px solid var(--line); border-radius:var(--radius-control); }
.product-crawler-findings strong,.product-crawler-findings span { display:block; }
.product-crawler-findings strong { font-size:var(--font-sm); }
.product-crawler-findings span { margin-top:4px; color:var(--muted); font-size:var(--font-xs); }
.product-crawler-link { display:inline-flex; min-height:34px; align-items:center; gap:7px; padding:0 11px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--surface); font-size:var(--font-xs); font-weight:720; white-space:nowrap; }
.product-crawler-link .ui-icon { width:14px; height:14px; }
.product-crawler-link:hover { border-color:var(--line-strong); background:var(--surface-subtle); }
.product-crawler-link--ozon { color:var(--product-blue); border-color:color-mix(in srgb,var(--product-blue) 28%,var(--line)); background:var(--product-blue-soft); }
.product-crawler-link--ozon:hover { border-color:var(--product-blue); background:var(--product-blue-soft); }
.product-crawler-finding-actions { display:flex; flex:0 0 auto; align-items:center; gap:12px; }
.product-crawler-evidence { display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; }
.product-crawler-empty { margin:16px 0 0; color:var(--muted); font-size:var(--font-sm); }
.product-crawler-retained,.product-crawler-error,.product-crawler-unavailable { margin:12px 0 0; padding:11px 13px; border-radius:var(--radius-control); font-size:var(--font-sm); line-height:1.5; }
.product-crawler-retained { color:var(--amber); background:var(--amber-soft); }
.product-crawler-error { color:var(--red); background:var(--red-soft); }
.product-crawler-unavailable { color:var(--muted); background:var(--surface-subtle); }

.product-main-image-button { display:block; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.product-main-image-button img { width:100%; height:100%; object-fit:contain; }
.image-lightbox { width:100vw; max-width:none; height:100vh; max-height:none; margin:0; padding:0; overflow:hidden; border:0; color:#fff; background:rgba(12,16,13,.93); }
.image-lightbox::backdrop { background:rgba(12,16,13,.93); backdrop-filter:blur(5px); }
.image-lightbox[open] { display:grid; place-items:center; }
.image-lightbox figure { display:grid; width:100%; height:100%; margin:0; padding:42px 58px 30px; place-items:center; grid-template-rows:minmax(0,1fr) auto; gap:15px; }
.image-lightbox img { display:block; max-width:100%; max-height:calc(100vh - 100px); object-fit:contain; border-radius:5px; box-shadow:0 22px 70px rgba(0,0,0,.42); }
.image-lightbox figcaption { max-width:min(760px,80vw); overflow:hidden; color:rgba(255,255,255,.72); font-size:var(--font-xs); text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.image-lightbox__close { position:fixed; z-index:2; top:18px; right:20px; display:grid; width:40px; height:40px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:#fff; background:rgba(0,0,0,.28); cursor:pointer; }
.image-lightbox__close .ui-icon { width:20px; height:20px; }
.image-lightbox__close:hover { background:rgba(255,255,255,.12); }

.reports-shell { display:grid; gap:22px; }
.reports-create-card,.reports-library { width:100%; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 12px 42px light-dark(rgba(25,35,27,.045),rgba(0,0,0,.18)); }
.reports-create-card { padding:28px 32px; }
.reports-create-copy h1,.reports-library__head h2 { margin:0; color:var(--ink); font-size:var(--font-lg); letter-spacing:-.02em; }
.reports-create-copy p { margin:6px 0 0; color:var(--muted); font-size:var(--font-xs); }
.reports-create-form { display:grid; grid-template-columns:minmax(230px,1fr) 170px 130px auto auto; gap:12px; margin-top:24px; align-items:end; }
.report-field { display:grid; gap:7px; min-width:0; color:var(--muted); font-size:var(--font-xs); font-weight:700; }
.report-field>span small { font-weight:500; }
.report-field input,.report-field select,.report-export-form select { width:100%; height:var(--control-height); padding:0 12px; border:1px solid var(--line-strong); border-radius:var(--radius-control); color:var(--ink); background:var(--control-bg); outline:0; }
.report-field input:focus,.report-field select:focus,.report-export-form select:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring); }
.report-zip { display:flex; min-height:var(--control-height); align-items:center; gap:8px; color:var(--ink); cursor:pointer; font-size:var(--font-xs); font-weight:700; white-space:nowrap; }
.report-zip input { width:17px; height:17px; accent-color:var(--accent); }
.reports-library__head { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:20px; padding:0 28px; border-bottom:1px solid var(--line-soft); }
.reports-library__head>span { padding:5px 9px; border-radius:8px; color:var(--muted); background:var(--canvas); font-size:var(--font-xs); font-weight:750; }
.report-list-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px; padding:20px 28px; align-items:center; }
.report-list-item+.report-list-item { border-top:1px solid var(--line-soft); }
.report-list-item h3 { margin:6px 0 0; overflow:hidden; color:var(--ink); font-size:var(--font-md); text-overflow:ellipsis; white-space:nowrap; }
.report-list-item h3 a:hover { color:var(--accent); }
.report-list-item__main>p { margin:3px 0 0; color:var(--muted); font-size:var(--font-xs); }
.report-list-meta { display:flex; flex-wrap:wrap; gap:5px 13px; margin-top:10px; color:var(--muted); font-size:var(--font-xs); }
.report-state { display:inline-flex; width:max-content; align-items:center; gap:7px; margin:0; color:var(--muted); font-size:var(--font-xs); font-weight:760; }
.report-state::before { width:7px; height:7px; border-radius:50%; background:var(--subtle); content:""; }
.report-state--ready { color:var(--green); }.report-state--ready::before { background:var(--green); box-shadow:0 0 0 4px var(--green-soft); }
.report-state--queued,.report-state--running { color:var(--amber); }.report-state--queued::before,.report-state--running::before { background:var(--amber); box-shadow:0 0 0 4px var(--amber-soft); }
.report-state--failed { color:var(--red); }.report-state--failed::before { background:var(--red); box-shadow:0 0 0 4px var(--red-soft); }
.report-list-progress { display:block; width:min(360px,100%); height:4px; margin-top:12px; overflow:hidden; border-radius:5px; background:var(--line-soft); }
.report-list-progress span { display:block; height:100%; border-radius:inherit; background:var(--accent); }
.report-list-actions { display:flex; align-items:center; gap:8px; }
.report-list-error { margin-top:9px; color:var(--red); font-size:var(--font-xs); }.report-list-error pre { max-width:650px; overflow:auto; white-space:pre-wrap; }
.reports-empty { display:grid; min-height:220px; padding:30px; place-items:center; align-content:center; text-align:center; }.reports-empty h3 { margin:0; color:var(--ink); }.reports-empty p { max-width:440px; margin:7px 0 0; color:var(--muted); }
.report-delete-dialog { width:min(460px,calc(100% - 32px)); }
.report-detail-shell { padding-top:34px; }.report-back { margin-bottom:20px; color:var(--muted); font-size:var(--font-xs); font-weight:700; }.report-back a { display:inline-flex; align-items:center; gap:7px; }.report-back a:hover { color:var(--accent); }
.report-detail-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }.report-detail-head h1 { max-width:760px; margin:8px 0 0; color:var(--ink); font:500 var(--font-2xl)/1.1 Georgia,"Times New Roman",serif; letter-spacing:-.035em; }.report-detail-head>div>p:last-child { margin:9px 0 0; color:var(--muted); }
.report-export-form { display:flex; align-items:flex-end; gap:9px; }.report-export-form>label:first-child { display:grid; gap:5px; color:var(--muted); font-size:var(--font-xs); font-weight:700; }.report-export-form select { width:110px; }
.report-progress { margin-top:24px; padding:17px 20px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface); }.report-progress>div { display:flex; align-items:center; justify-content:space-between; gap:14px; color:var(--muted); font-size:var(--font-xs); }.report-progress>div b { color:var(--ink); }.report-progress>i { display:block; height:5px; margin-top:11px; overflow:hidden; border-radius:6px; background:var(--line-soft); }.report-progress>i span { display:block; height:100%; border-radius:inherit; background:var(--accent); transition:width .2s; }
.report-export-list { display:grid; gap:8px; margin-top:18px; }.report-export-list:empty { display:none; }.report-export-item { display:flex; min-height:62px; align-items:center; justify-content:space-between; gap:20px; padding:10px 14px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface); }.report-export-item strong,.report-export-item span { display:block; }.report-export-item strong { color:var(--ink); }.report-export-item span { margin-top:2px; color:var(--muted); font-size:var(--font-xs); }.report-export-item details { margin-top:5px; color:var(--red); font-size:var(--font-xs); }.report-export-item pre { max-width:650px; white-space:pre-wrap; }
.report-snapshot { margin-top:26px; }.report-snapshot-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:14px; }.report-snapshot-toolbar>span { color:var(--muted); font-size:var(--font-xs); font-weight:700; }.report-product-list { display:grid; gap:14px; }
.report-product { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 10px 32px light-dark(rgba(25,35,27,.04),rgba(0,0,0,.16)); }.report-product>header { display:grid; grid-template-columns:112px minmax(0,1fr); gap:20px; padding:20px 22px; align-items:center; }.report-product-cover { display:grid; width:112px; height:112px; place-items:center; overflow:hidden; border-radius:14px; color:var(--muted); background:var(--canvas); font-size:var(--font-xs); text-align:center; }.report-product-cover img { width:100%; height:100%; object-fit:contain; }.report-product h3 { margin:0; color:var(--ink); font-size:var(--font-lg); line-height:1.3; }.report-product header p { margin:6px 0 0; color:var(--muted); font-size:var(--font-xs); }.report-product header a { display:inline-flex; margin-top:9px; align-items:center; gap:6px; color:var(--accent); font-size:var(--font-xs); font-weight:750; }.report-product header a .ui-icon { width:13px; height:13px; }
.report-shared-evidence { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0 22px 20px; }.report-shared-evidence figure { min-width:0; margin:0; }.report-shared-evidence figcaption { margin-top:5px; color:var(--muted); font-size:var(--font-xs); }.report-evidence-button { display:block; width:100%; height:100%; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--canvas); cursor:zoom-in; }.report-evidence-button img { display:block; width:100%; max-height:520px; object-fit:contain; }
.report-findings { border-top:1px solid var(--line-soft); background:var(--surface-subtle); }.report-finding { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(360px,1.28fr); gap:24px; padding:22px; }.report-finding+.report-finding { border-top:1px solid var(--line); }.report-finding-badge { display:inline-flex; padding:4px 8px; border-radius:7px; color:var(--red); background:var(--red-soft); font-size:var(--font-xs); font-weight:800; }.report-finding h4 { margin:9px 0 0; color:var(--ink); font-size:var(--font-md); }.report-finding dl { display:grid; grid-template-columns:1fr 1fr; gap:9px 18px; margin:16px 0 0; }.report-finding dt,.report-finding dd { margin:0; }.report-finding dt { color:var(--muted); font-size:var(--font-xs); }.report-finding dd { overflow-wrap:anywhere; color:var(--ink); font-weight:700; }.report-finding-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }.report-finding-links a { display:inline-flex; align-items:center; gap:6px; color:var(--accent); font-size:var(--font-xs); font-weight:750; }.report-finding-links .ui-icon { width:13px; height:13px; }.report-finding__copy ul { margin:12px 0 0; padding-left:18px; color:var(--amber); font-size:var(--font-xs); }.report-evidence-missing { display:grid; min-height:220px; place-items:center; border:1px dashed var(--line-strong); border-radius:12px; color:var(--muted); background:var(--canvas); }

@media (max-width:1180px) { .settings-grid{grid-template-columns:1fr}.product-primary{grid-template-columns:minmax(0,1fr) minmax(290px,.52fr);grid-template-areas:"gallery buybox" "summary buybox"}.product-summary{padding:4px}.product-main-image{height:520px} }
@media (max-width:900px) { body:not([data-page="login"]):not([data-page="onboarding"]){padding-bottom:calc(82px + env(safe-area-inset-bottom))}.app-header{background:#fff;backdrop-filter:none}.onboarding-grid{grid-template-columns:1fr;gap:28px}.setup-intro{padding-top:0}.setup-intro h1{font-size:var(--font-display)}.setup-intro>p:not(.eyebrow){margin:18px 0 24px}.step-list{grid-template-columns:repeat(3,1fr)}.step-list li{padding:8px}.step-list li div,.api-badge:not(.api-badge--critical){display:none}.api-badge--critical{display:inline-flex}.main-nav{position:fixed;z-index:70;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;display:grid;height:62px;align-self:auto;grid-template-columns:repeat(5,1fr);gap:3px;padding:5px;border:1px solid rgba(203,212,204,.9);border-radius:17px;background:rgba(255,255,255,.96);box-shadow:0 16px 45px rgba(24,33,27,.2);backdrop-filter:blur(18px)}.main-nav>a{height:auto;justify-content:center;border:0;border-radius:12px;color:var(--muted)}.main-nav .nav-icon{display:block;width:23px;height:23px}.main-nav .nav-label{display:none}.main-nav .is-active{color:var(--accent);border:0;background:var(--accent-soft)}.page-heading{align-items:stretch;flex-direction:column}.search-field{width:100%} }
@media (max-width:760px) { .catalog-controls{align-items:stretch;flex-direction:column}.catalog-view-controls{align-items:stretch;flex-direction:column;gap:9px}.catalog-filter{width:100%;overflow-x:auto}.catalog-filter button{flex:1;justify-content:center}.catalog-controls__actions{width:100%;align-items:stretch;flex-direction:column}.catalog-controls__actions .search-field,.sort-field{width:100%}.sort-field select{width:100%}.catalog-sync-settings{grid-template-columns:1fr 1fr}.catalog-sync-save{grid-column:1/-1}.catalog-sync-card__head{align-items:stretch;flex-direction:column}.catalog-sync-card__head .button{width:100%}.files-controls{align-items:stretch;flex-direction:column}.files-search,.files-controls .button{width:100%}.file-row{grid-template-columns:62px minmax(0,1fr)}.file-row__actions{grid-column:1/-1;justify-content:flex-end}.product-file-row{grid-template-columns:56px minmax(0,1fr)}.product-file-row__actions{grid-column:2;flex-wrap:wrap}.product-files-head{align-items:stretch;flex-direction:column}.product-files-head .product-button{width:100%} }
@media (max-width:760px) {
  .crawler-results>.catalog-sync-card__head { align-items:center; flex-direction:row; }
  .crawler-results>.catalog-sync-card__head>div { min-width:0; flex:1; }
  .crawler-results>.catalog-sync-card__head .crawler-results-button { width:40px; flex:0 0 40px; align-self:center; }
}
@media (max-width:760px) { .product-crawler-head{align-items:stretch;flex-direction:column}.product-crawler-head .product-button{width:100%} }
@media (max-width:900px) { .reports-create-form{grid-template-columns:1fr 1fr}.report-field--title{grid-column:1/-1}.reports-create-form>.button{width:100%}.report-detail-head{align-items:stretch;flex-direction:column}.report-export-form{width:100%}.report-export-form>label:first-child{flex:1}.report-export-form select{width:100%} }
@media (max-width:760px) { .report-list-item{grid-template-columns:1fr;padding:18px 20px}.report-list-actions{flex-wrap:wrap}.report-finding{grid-template-columns:1fr}.report-shared-evidence{grid-template-columns:1fr} }
@media (max-width:760px) {
  .crawler-preferences-card { padding:0; }
  .crawler-preferences-card>.catalog-sync-card__head { padding:22px 20px 20px; }
  .crawler-settings--page .crawler-settings-section { grid-template-columns:1fr; gap:14px; padding:20px; }
  .crawler-settings--page .crawler-settings-section__head { padding-top:0; }
  .crawler-settings--page .crawler-settings-actions { padding:18px 20px 20px; }
  .crawler-settings--page .crawler-settings-actions .button { width:100%; }
  .crawler-preferences-card>[data-settings-crawler-error] { margin:0 20px 20px; }
}
@media (max-width:760px) { .product-detail-shell{padding-top:24px}.product-page-head h1{font-size:var(--font-xl)}.product-primary{grid-template-columns:1fr;grid-template-areas:"gallery" "buybox" "summary"}.product-gallery-card{grid-template-columns:1fr;padding:10px}.product-main-image{grid-row:1;height:clamp(330px,88vw,450px)}.product-thumb-list{grid-row:2;overflow-x:auto;flex-direction:row;padding:2px 1px}.product-thumb{width:54px;height:62px;flex:0 0 auto}.product-buybox{position:static;padding:20px}.product-summary{padding:18px 4px 4px}.product-lower-grid{grid-template-columns:1fr}.product-content-card{padding:21px}.product-price-main>span{font-size:var(--font-2xl)} }
@media (max-width:620px) { .onboarding-shell{padding:20px 14px 30px}.onboarding-header{margin-bottom:28px}.setup-label{display:none}.setup-intro h1{font-size:var(--font-2xl)}.setup-card form{padding:28px 20px}.setup-card{min-height:0;border-radius:18px}.field-grid,.finish-summary,.access-overview{grid-template-columns:1fr}.finish-summary div+div,.access-overview div+div{border-top:1px solid var(--line);border-left:0}.form-actions,.action-group{width:100%;align-items:stretch;flex-direction:column-reverse}.form-actions .button,.action-group .button{width:100%}.auth-card{padding:32px 24px}.app-header__inner{padding:0 14px;gap:10px}.account-area{gap:5px}.api-badge--critical{max-width:180px;padding:6px 8px;font-size:var(--font-xs);line-height:1.15}.user-badge{display:none}.dashboard-shell{padding:36px 14px 60px}.product-detail-shell{padding-top:22px}.product-row{grid-template-columns:62px 1fr;padding:12px;gap:12px}.product-image{width:58px;height:58px}.product-copy h2{white-space:normal}.product-meta{flex-direction:column;gap:2px}.product-action{grid-column:1/-1;padding:0}.product-action .button{width:100%}.settings-heading .button{width:100%}.settings-card{padding:20px}.settings-facts>div{grid-template-columns:1fr;gap:5px}.access-details{margin:22px -20px -20px}.access-details>summary{padding:15px 20px}.access-counts{flex-direction:column}.product-page-head{margin-bottom:18px}.product-page-head h1{font-size:var(--font-xl)}.product-main-image{height:400px}.product-gallery-card{border-radius:17px}.product-buybox,.product-content-card{border-radius:17px}.product-specs>div{grid-template-columns:minmax(100px,.85fr) minmax(0,1fr)} }
@media (max-width:620px) { .key-overview{gap:21px}.key-overview__dates{grid-template-columns:1fr;gap:19px}.key-overview__dates>div+div{margin:0;padding:0;border:0}.settings-access-section{margin:34px -20px -20px;padding:22px 20px 0}.access-details--inline{margin:20px -20px 0}.settings-role-list{margin:18px -20px 0;padding:0 20px}.access-heading{align-items:flex-start;gap:14px}.access-counts{gap:6px}.access-counts span{min-width:auto;padding:7px 8px}.key-overview__dates dd small{display:block;width:max-content;margin:7px 0 0}.catalog-sync-card{padding:20px}.catalog-sync-settings,.catalog-sync-facts{grid-template-columns:1fr}.catalog-sync-facts{gap:17px}.catalog-sync-facts>div+div{padding:17px 0 0;border-top:1px solid #edf0ed;border-left:0}.image-cache-settings{align-items:stretch;flex-direction:column}.image-cache-settings .button{width:100%}.file-dialog__surface{padding:21px 17px}.file-dialog__actions{align-items:stretch;flex-direction:column-reverse}.file-dialog__actions .button{width:100%}.files-library-dropzone{align-items:flex-start;flex-wrap:wrap}.files-library-dropzone__copy{min-width:calc(100% - 58px)}.files-library-dropzone__copy small{overflow:visible;white-space:normal}.files-library-dropzone>.button{width:100%}.file-row{padding:14px}.product-files-head,.product-file-row{padding-right:18px;padding-left:18px} }
@media (max-width:620px) { .product-crawler-summary{align-items:flex-start;flex-direction:column;gap:3px}.product-crawler-summary span{white-space:normal}.product-crawler-findings li{align-items:flex-start;flex-direction:column}.product-crawler-finding-actions{width:100%;flex-wrap:wrap}.product-crawler-link{justify-content:center;flex:1}.product-crawler-evidence{display:grid;grid-template-columns:1fr 1fr}.product-crawler-evidence .product-crawler-link{width:100%} }
@media (max-width:620px) { .image-lightbox figure{padding:54px 12px 18px}.image-lightbox img{max-height:calc(100vh - 92px)}.image-lightbox__close{top:10px;right:10px} }
@media (max-width:900px) {
  .app-header { background:var(--surface); }
  .main-nav { grid-template-columns:repeat(5,1fr); border-color:var(--line); background:var(--surface-translucent); box-shadow:0 16px 45px light-dark(rgba(24,33,27,.2),rgba(0,0,0,.42)); }
}
@media (max-width:620px) {
  .interface-choice-grid--themes,.interface-choice-grid--views { grid-template-columns:1fr; }
  .interface-choice-grid--accents { grid-template-columns:1fr 1fr; }
  .crawler-settings:not(.crawler-settings--page) .crawler-settings-actions { background:var(--surface-translucent); }
  .crawler-settings--page .crawler-settings-actions { position:static; margin:0; background:transparent; }
  html[data-catalog-view="cards"] .product-list { grid-template-columns:1fr; }
  html[data-catalog-view="cards"] .product-row { min-height:390px; padding:10px; gap:12px; }
  html[data-catalog-view="cards"] .product-image { height:min(76vw,300px); }
  .catalog-sync-facts>div+div { border-top-color:var(--line-soft); }
  .reports-create-card { padding:22px 20px; }
  .reports-create-form { grid-template-columns:1fr; }
  .report-field--title { grid-column:auto; }
  .reports-library__head { padding:0 20px; }
  .report-list-actions .button { flex:1; }
  .report-export-form { display:grid; grid-template-columns:1fr auto; }
  .report-export-form .button { grid-column:1/-1; width:100%; }
  .report-snapshot-toolbar { align-items:stretch; flex-direction:column; gap:9px; }
  .report-snapshot-toolbar>span { padding:0 2px; }
  .report-product>header { grid-template-columns:78px minmax(0,1fr); gap:14px; padding:16px; }
  .report-product-cover { width:78px; height:78px; }
  .report-product h3 { font-size:var(--font-md); }
  .report-shared-evidence,.report-finding { padding:16px; }
  .report-finding dl { grid-template-columns:1fr; }
  .account-settings-card { align-items:stretch; flex-direction:column; gap:17px; padding:20px; }
  .account-logout-button { width:100%; }
}

/* Mobile application shell */
@media (max-width:900px) {
  input,select,textarea { font-size:16px!important; }
  .main-nav {
    bottom:calc(8px + env(safe-area-inset-bottom));
    height:62px;
    padding:6px 8px;
    transition:opacity .15s ease,transform .15s ease;
    will-change:transform;
  }
  .main-nav>a {
    width:48px;
    height:48px;
    justify-self:center;
    border-radius:12px;
  }
  .main-nav .is-active { border-radius:12px; }
  .has-mobile-keyboard .main-nav {
    opacity:0;
    pointer-events:none;
    transform:translateY(calc(100% + 24px));
  }
}

@media (max-width:620px) {
  .crawler-page { padding-top:16px; }
  .crawler-main-card,.crawler-results { padding:16px; }
  .crawler-current,.crawler-console { margin-top:20px; padding-top:20px; }
  .crawler-current dl { margin-top:13px; padding:12px; }
  .crawler-console .catalog-sync-card__head { gap:12px; }
  .crawler-console__actions { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7px; }
  .crawler-console__actions .button { min-width:0; padding:0 10px; white-space:nowrap; }
  .crawler-console__actions .button span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

  .crawler-actions-menu { margin-left:0; }
  .crawler-actions-menu>div,
  .crawler-process-card .crawler-actions-menu>div {
    position:absolute;
    top:calc(100% + 7px);
    right:0;
    bottom:auto;
    left:0;
    width:100%;
    max-width:100%;
  }

  .crawler-preferences-card { overflow:hidden; padding:0; }
  .crawler-preferences-card>.catalog-sync-card__head { padding:17px 16px 15px; }
  .crawler-settings.crawler-settings--page {
    min-height:0;
    gap:0;
    padding:0;
  }
  .crawler-settings--page .crawler-settings-section {
    grid-template-columns:1fr;
    gap:14px;
    padding:18px 16px;
  }
  .crawler-settings--page .crawler-settings-section__head p { margin-top:2px; }
  .crawler-settings--page .crawler-setting-control {
    min-height:0;
    align-items:stretch;
    flex-direction:column;
    gap:12px;
    padding:12px;
  }
  .crawler-settings--page .crawler-input-suffix { width:100%; }
  .crawler-settings--page .crawler-input-suffix input { width:auto; min-width:0; flex:1; }
  .crawler-settings--page .crawler-range-control { padding:11px 12px 13px; }
  .crawler-settings--page .crawler-range-control>div { gap:9px; }
  .crawler-settings--page .crawler-settings-actions { padding:14px 16px 17px; }
  .crawler-preferences-card>[data-settings-crawler-error] { margin:0 16px 16px; }

  .file-dialog,
  .crawler-dialog,
  .crawler-log-dialog,
  .report-delete-dialog {
    inset:0;
    width:100vw;
    max-width:none;
    height:100vh;
    height:100dvh;
    max-height:none;
    margin:0;
    border:0;
    border-radius:0;
  }
  .crawler-dialog.crawler-settings-dialog {
    width:100vw;
    max-width:none;
    max-height:none;
  }
  .file-dialog { overflow:auto; }
  .file-dialog__surface {
    display:flex;
    min-height:100vh;
    min-height:100dvh;
    flex-direction:column;
    padding:calc(14px + env(safe-area-inset-top)) 16px calc(14px + env(safe-area-inset-bottom));
  }
  .file-dialog__head { position:sticky; z-index:4; top:0; margin:calc(-14px - env(safe-area-inset-top)) -16px 16px; padding:calc(14px + env(safe-area-inset-top)) 16px 12px; border-bottom:1px solid var(--line-soft); background:var(--surface-translucent); }
  .file-dialog__head h2 { font-size:var(--font-lg); }
  .file-dialog__actions { position:sticky; z-index:3; bottom:0; margin:auto -16px calc(-14px - env(safe-area-inset-bottom)); padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:var(--surface-translucent); }

  .crawler-dialog__head { padding:calc(14px + env(safe-area-inset-top)) 16px 13px; }
  .crawler-settings {
    gap:13px;
    min-height:calc(100dvh - 70px);
    padding:14px 14px 0;
  }
  .crawler-setting-control { min-height:58px; padding:9px 10px; }
  .crawler-range-control { padding:9px 10px 11px; }
  .crawler-settings-actions {
    position:sticky;
    bottom:0;
    margin:auto -14px 0;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom));
    background:var(--surface-translucent);
  }
  .crawler-results-toolbar { top:calc(69px + env(safe-area-inset-top)); padding:12px 16px; }
  .crawler-confirm-dialog__body { padding:18px 16px calc(18px + env(safe-area-inset-bottom)); }
  .crawler-log-dialog__head { padding:calc(14px + env(safe-area-inset-top)) 16px 13px; }
  .crawler-log-dialog pre { padding:16px 16px calc(18px + env(safe-area-inset-bottom)); }

  .report-delete-dialog { padding:0; color:var(--ink); background:var(--surface); }
  .report-delete-dialog::backdrop { background:rgba(19,27,21,.46); }
  .report-delete-dialog form { display:flex; min-height:100%; flex-direction:column; justify-content:center; padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom)); }
  .report-delete-dialog h2 { margin:0; }
  .report-delete-dialog p { color:var(--muted); }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important} }
