:root {
  --bg:#f4f6f5; --text:#243c35; --muted:#819087; --card:#fff;
  --ring:#e4eae6; --primary:#246d57; --primary-contrast:#fff;
  --shadow:none; --radius:10px; --surface-muted:#f5f8f6;
  --surface-hover:#edf5f0; --link:#246d57;
  --overlay:rgba(27,52,43,.55); --backdrop:rgba(27,52,43,.45);
}
[data-theme="dark"] {
  --bg:#15221d; --text:#dce9e1; --muted:#9aae9f; --card:#1d2d25;
  --ring:#34483b; --primary:#6faa8d; --primary-contrast:#122219;
  --shadow:none; --surface-muted:#24382c; --surface-hover:#2c4535;
  --link:#91c9ab; --overlay:rgba(5,16,10,.7); --backdrop:rgba(5,16,10,.7);
}
body { font:14px/1.5 'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif; }
button,input,select { font:inherit; }
button:focus-visible,a:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.input:focus,.select:focus { outline:none; border-color:#75ab8b; box-shadow:0 0 0 3px rgba(75,133,97,.09); }
.workspace-sidebar { width:220px; position:fixed; inset:0 auto 0 0; padding:28px 16px; background:var(--card); border-right:1px solid var(--ring); display:flex; flex-direction:column; z-index:40; }
.workspace-brand { display:flex; align-items:center; gap:11px; color:var(--primary); white-space:nowrap; padding:0 8px 32px; }
.workspace-brand:hover { text-decoration:none; }
.workspace-brand>svg { flex-shrink:0; }
.workspace-brand>span { color:var(--text); font-size:23px; font-weight:750; letter-spacing:-1px; }
.workspace-brand>span>span { color:var(--primary); font-weight:400; }
.workspace-label { font-size:9px; letter-spacing:1.5px; color:var(--muted); padding:0 12px; margin-bottom:14px; }
.workspace-sidebar nav { display:flex; flex-direction:column; gap:7px; }
.workspace-sidebar nav a { display:flex; align-items:center; gap:11px; padding:12px; border-radius:7px; font-size:12px; color:var(--muted); }
.workspace-sidebar nav a svg { width:19px; height:19px; flex-shrink:0; }
.workspace-sidebar nav a:hover { background:var(--surface-muted); text-decoration:none; color:var(--primary); }
.workspace-sidebar nav a.active { background:var(--surface-hover); color:var(--primary); font-weight:650; }
.workspace-logout { margin-top:auto; border-top:1px solid var(--ring); padding:16px 10px 0; }
.workspace-logout button { padding:6px 0; background:none; border:0; color:var(--muted); font-size:11px; cursor:pointer; }
.workspace-body { margin-left:220px; min-width:0; }
.workspace-topbar { height:70px; border-bottom:1px solid var(--ring); background:var(--card); padding:0 48px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.workspace-topbar>strong { font-size:12px; font-weight:500; }
.workspace-topbar-actions .actions { gap:10px; }
.container { max-width:none; padding:38px 48px; }
.catalog-page-heading { margin-bottom:25px; }
.catalog-page-heading h1 { margin:0; font-size:28px; letter-spacing:-.7px; line-height:1.2; }
.btn { padding:10px 15px; border:1px solid var(--primary); border-radius:6px; font-size:12px; font-weight:600; gap:8px; line-height:1.4; transition:background .15s; }
.btn:hover { text-decoration:none; filter:brightness(.96); }
.btn.secondary { background:var(--card); border-color:var(--ring); color:var(--text); font-weight:500; }
.btn.danger { background:#fff4f2; border-color:#efb7ae; color:#a54436; }
.card { box-shadow:none; border-radius:10px; }
.filters { padding:22px 24px; margin-bottom:20px; }
label.block { text-transform:none; letter-spacing:0; font-size:10px; font-weight:500; margin:0 0 7px; }
.input,.select { border-radius:6px; font-size:12px; height:39px; }
.grid-6 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.filter-section-title { font-size:14px; color:var(--text); text-transform:none; letter-spacing:0; margin-bottom:4px; }
.filter-summary { margin-bottom:20px; }
.filter-summary .muted { font-size:11px; }
.category-tabs { gap:7px; margin:0; }
.category-tab { border-radius:6px; padding:8px 12px; font-size:11px; font-weight:500; }
.category-tab.active { background:var(--surface-hover); color:var(--primary); border-color:var(--primary); }
.locale-toggle,.view-toggle { border-radius:6px; }
.locale-toggle-btn,.view-toggle-btn { font-size:11px; padding:7px 10px; font-weight:500; }
.import-dropzone { margin:0; background:var(--surface-muted); border:1px dashed #b7cfbd; padding:20px; border-radius:7px; font-family:inherit; }
.import-dropzone strong { font-size:12px; color:var(--primary); font-weight:600; }
.import-dropzone .muted,#catalogCsvFilename { font-size:10px; }
#catalogImportForm .grid>div>div>strong { font-size:14px; }
.items-view-list { gap:16px; }
.item { padding:22px; }
.item-inner { gap:26px; }
.item-content { min-width:0; }
.imgWrap { width:260px; flex-shrink:0; }
.thumb { width:260px; min-width:0; object-fit:contain; border:1px solid var(--ring); background:#fff; border-radius:7px; }
.item h2 { font-size:15px; text-align:left; margin-bottom:12px; }
.specs-vertical { margin:0; gap:10px; }
.specs-vertical div { gap:14px; }
.specs-vertical dt { min-width:115px; font-size:10px; text-transform:none; letter-spacing:0; }
.specs-vertical dd { font-size:12px; font-weight:500; }
.spref-panel { background:var(--surface-muted); font-family:inherit; padding:12px; border:1px solid var(--ring); border-radius:7px; }
.spref-panel summary { cursor:pointer; font-size:12px; color:var(--primary); font-weight:600; }
.spref-table { font-size:11px; }
.spref-table th { font-size:10px; font-weight:500; color:var(--muted); padding:9px 10px; }
.spref-table td { padding:8px 10px; border-top:1px solid var(--ring); }
.spref-table td:first-child { font-family:Consolas,monospace; color:var(--primary); overflow-wrap:anywhere; }
.e3d-command { font-family:Consolas,monospace; font-size:11px; line-height:1.6; color:var(--primary); border:1px solid var(--ring); padding:12px; border-radius:6px; overflow-wrap:anywhere; }
.items-view-grid { grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:18px; }
.item-tile-image { object-fit:contain; background:#fff; border-radius:0; padding:12px; }
.item-tile-title { font-size:13px; text-align:left; padding:12px 16px; border-top:1px solid var(--ring); background:var(--card); }
.items-view-grid .item.is-expanded .item-body { top:50%; bottom:auto; transform:translate(-50%,-50%); width:min(1200px,calc(100vw - 48px)); max-height:88vh; padding:30px; border-radius:12px; animation:none; }
.item-close { border-radius:6px; font-size:21px; width:30px; height:30px; }
.flash { font-size:12px; padding:12px 16px; border-radius:7px; }
nav[role="navigation"] { font-size:11px; }
.auth-shell { min-height:100vh; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:30px; }
.auth-brand { padding-bottom:24px; }
.auth-shell .container { width:100%; max-width:420px; padding:0; }
.auth-shell .toolbar { flex-direction:column-reverse; margin-bottom:22px; gap:20px; }
.auth-shell .title { font-size:22px; letter-spacing:-.5px; margin:0; font-weight:650; }
.auth-shell .filters { padding:25px; }
.auth-shell .input { height:42px; }
@media(max-width:1150px) {
 .workspace-sidebar { width:194px; padding-left:12px; padding-right:12px; }
 .workspace-brand { gap:8px; padding-left:5px; }
 .workspace-brand>span { font-size:21px; }
 .workspace-body { margin-left:194px; }
 .workspace-topbar { padding:0 24px; }
 .container { padding:28px 24px; }
 .grid-6 { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .imgWrap,.thumb { width:220px; }
}
@media(max-width:760px) {
 .workspace-sidebar { width:70px; padding:24px 10px; }
 .workspace-brand { padding:0 10px 28px; }
 .workspace-brand>span,.workspace-label,.workspace-sidebar nav a span { display:none; }
 .workspace-sidebar nav a { padding:12px 15px; }
 .workspace-sidebar nav a svg { width:20px; height:20px; }
 .workspace-logout { padding-left:0; padding-right:0; }
 .workspace-logout button { font-size:9px; overflow-wrap:anywhere; }
 .workspace-body { margin-left:70px; }
 .workspace-topbar { padding:0 16px; }
 .workspace-topbar-actions .actions { gap:6px; }
 .workspace-topbar-actions .btn { font-size:10px; padding:7px 9px!important; }
 .container { padding:24px 16px; }
 .catalog-page-heading h1 { font-size:24px; }
 .filters,.item { padding:18px; }
 .filter-summary { align-items:flex-start; }
 .filter-summary>.actions { flex-wrap:wrap; }
 .grid-6 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .item-inner { flex-direction:column; }
 .imgWrap,.thumb { width:100%; max-width:320px; }
 .specs-vertical dt { min-width:100px; }
 .items-view-grid .item.is-expanded .item-body { width:calc(100vw - 20px); padding:22px; border-radius:10px; }
}
@media(max-width:460px) { .grid-6 { grid-template-columns:1fr; } .workspace-topbar { gap:8px; } .workspace-topbar>strong { font-size:11px; } }

.catalog-import-section { margin-bottom:20px; }
.catalog-import-section>summary { padding:17px 24px; color:var(--primary); font-size:12px; font-weight:600; cursor:pointer; }
.catalog-import-section[open]>summary { border-bottom:1px solid var(--ring); }
.catalog-import-section .filters { margin-bottom:0; }
