/* Meble – theme tokens and shared dialog / button / cut list rules copied from ../app.css (the app ships alone, e.g. on SEOHOST). */
:root{
  color-scheme:light;
  --bg:#f6f5f1; --surface:#faf9f6; --panel:#f9f8f5; --card:#ffffff; --field:#ffffff;
  --text:#25262a; --dim-sel:#b8690b; --text-strong:#111214; --muted:#76736b; --faint:#8b887f;
  --line:#e6e3da; --line-strong:#ddd9ce;
  --hover:#f1efe8; --active-bg:#fff3c2; --active-text:#4d3b00;
  --sel-bg:#fff4c7; --sel-line:#ecd06a;
  --accent:#ffd400; --accent-hover:#f0c700; --accent-soft:#fff6cf; --accent-text:#7a5d00;
  --accent-line:#d9ad00; --on-accent:#111214;
  --focus:#e0b400; --danger:#9c5252;
  --stage-a:#f8f7f3; --stage-b:#dedbd1; --workspace:#e9e7e0;
  --overlay:#ffffffed; --overlay-soft:#ffffffe0;
  --dim-bg:#fffffff0; --dim-line:#819bad; --dim-text:#284560;
  --shadow:#2a241322; --thumb-a:#f7f6f2; --thumb-b:#e1ded5; --thumb-icon:#a19d92;
  font:13px system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#131416; --surface:#17181b; --panel:#1a1b1e; --card:#202124; --field:#25262a;
  --text:#dcdcd8; --dim-sel:#e8a13a; --text-strong:#f1f0ec; --muted:#97948c; --faint:#7d7a73;
  --line:#2c2d31; --line-strong:#37383d;
  --hover:#2a2b2f; --active-bg:#3a3418; --active-text:#ffe27a;
  --sel-bg:#332f1c; --sel-line:#6e5f20;
  --accent:#ffd400; --accent-hover:#ffe04d; --accent-soft:#2e2a18; --accent-text:#ffd84d;
  --accent-line:#ffd400; --on-accent:#111214;
  --focus:#ffd400; --danger:#d98888;
  --stage-a:#2b2c30; --stage-b:#131416; --workspace:#1c1d20;
  --overlay:#202124ee; --overlay-soft:#202124e0;
  --dim-bg:#1b1c1ff0; --dim-line:#5c7d97; --dim-text:#cfe1f0;
  --shadow:#00000066; --thumb-a:#27282c; --thumb-b:#1b1c1f; --thumb-icon:#6b6a66;
}
.btn,.small-btn,.icon-btn{border:1px solid var(--line-strong);background:var(--card);color:var(--text);border-radius:9px}
.btn{padding:9px 10px;display:flex;gap:7px;align-items:center}
.btn:hover,.small-btn:hover,.icon-btn:hover{background:var(--hover)}
.btn.danger{color:var(--danger)}
.btn.danger:hover{border-color:var(--danger)}
.btn.btn-primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:650}
.btn.btn-primary:hover{background:var(--accent-hover)}
.btn.btn-primary.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed}
.ask-dialog{border:1px solid var(--line-strong);border-radius:13px;background:var(--card);color:var(--text);padding:20px 22px;width:min(460px,calc(100vw - 32px));box-shadow:0 10px 40px var(--shadow)}
.ask-dialog::backdrop{background:#0008}
.ask-dialog h2{font-size:17px;margin:0 0 10px}
.ask-dialog p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}
.ask-files{margin:0 0 14px;padding:10px 12px 10px 28px;background:var(--panel);border:1px solid var(--line);border-radius:8px;font:12px/1.7 ui-monospace,Consolas,monospace;max-height:180px;overflow:auto;overflow-wrap:anywhere}
.ask-type,.ask-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);margin:0 0 12px}
.ask-type input,.ask-field input{border:1px solid var(--line-strong);border-radius:8px;padding:9px 10px;background:var(--field);color:var(--text);font-size:14px}
.ask-status{color:var(--danger)!important;min-height:1em}
.ask-status.ok{color:var(--accent-text)!important}
.ask-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.ask-dialog.cutlist-dialog{box-sizing:border-box;width:min(980px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-x:hidden;overflow-y:auto}
.cutlist-dialog>*{min-width:0;max-width:100%}
.cutlist-head h2{margin:0 0 4px;overflow-wrap:anywhere}
.cutlist-info{font-size:12px;color:var(--muted);margin:0 0 10px}
.cutlist-sub{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.085em;color:var(--muted);margin:14px 0 6px}
.cutlist-wrap{max-height:52vh;max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:9px}
.cutlist-wrap-small{max-height:none}
.cutlist-table{width:100%;border-collapse:collapse;font-size:12px}
.cutlist-table th,.cutlist-table td{padding:5px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.cutlist-table th{position:sticky;top:0;background:var(--card);font-size:11px;color:var(--muted)}
.cutlist-table td.num{text-align:right;font-variant-numeric:tabular-nums}
