/* ============================================================
   VQ App Shell — shared design system for all VisionQuantech apps
   Dark editorial theme. Loaded AFTER each app's own stylesheet.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --vq-bg:#0b0b0e; --vq-panel:#141417; --vq-panel2:#1c1c21;
  --vq-ink:#ece7db; --vq-muted:#a39e93; --vq-faint:#6e6a60;
  --vq-line:rgba(236,231,219,.12); --vq-line2:rgba(236,231,219,.2);
  --vq-amber:#d9a441; --vq-amber-d:#b9862f; --vq-amber-t:rgba(217,164,65,.14);
  --vq-red:#e5484d; --vq-red-t:rgba(229,72,77,.14);
  --vq-green:#7fb069; --vq-green-t:rgba(127,176,105,.14);
  --vq-blue:#7aa2c4;
  --vq-font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --vq-font-display:'Space Grotesk','Inter',system-ui,sans-serif;
  --vq-font-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,monospace;
}

body.vq-shell{background:var(--vq-bg)!important;color:var(--vq-ink)!important;font-family:var(--vq-font-body)!important;-webkit-font-smoothing:antialiased;}
body.vq-shell h1,body.vq-shell h2,body.vq-shell h3,body.vq-shell h4,body.vq-shell .brand,body.vq-shell .logo{font-family:var(--vq-font-display)!important;letter-spacing:-.015em;}
body.vq-shell a{color:var(--vq-amber);}
body.vq-shell button{color:inherit;}

/* ---- icon atoms (replaces emoji) ---- */
.ic{display:inline-block;width:1.05em;height:1.05em;background:no-repeat center/contain;vertical-align:-.18em;flex:none;}
.ic.big{width:2.2em;height:2.2em;}

.ic-check{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpolyline%20points=%2220%206%209%2017%204%2012%22/%3E%3C/svg%3E");}
.ic-x{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cline%20x1=%2218%22%20y1=%226%22%20x2=%226%22%20y2=%2218%22/%3E%3Cline%20x1=%226%22%20y1=%226%22%20x2=%2218%22%20y2=%2218%22/%3E%3C/svg%3E");}
.ic-plus{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cline%20x1=%2212%22%20y1=%225%22%20x2=%2212%22%20y2=%2219%22/%3E%3Cline%20x1=%225%22%20y1=%2212%22%20x2=%2219%22%20y2=%2212%22/%3E%3C/svg%3E");}
.ic-edit{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M11%204H4a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2v-7%22/%3E%3Cpath%20d=%22M18.5%202.5a2.1%202.1%200%200%201%203%203L12%2015l-4%201%201-4%209.5-9.5z%22/%3E%3C/svg%3E");}
.ic-trash{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpolyline%20points=%223%206%205%206%2021%206%22/%3E%3Cpath%20d=%22M19%206v14a2%202%200%200%201-2%202H7a2%202%200%200%201-2-2V6m3%200V4a2%202%200%200%201%202-2h4a2%202%200%200%201%202%202v2%22/%3E%3C/svg%3E");}
.ic-search{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Ccircle%20cx=%2211%22%20cy=%2211%22%20r=%228%22/%3E%3Cline%20x1=%2221%22%20y1=%2221%22%20x2=%2216.65%22%20y2=%2216.65%22/%3E%3C/svg%3E");}
.ic-print{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpolyline%20points=%226%209%206%202%2018%202%2018%209%22/%3E%3Cpath%20d=%22M6%2018H4a2%202%200%200%201-2-2v-5a2%202%200%200%201%202-2h16a2%202%200%200%201%202%202v5a2%202%200%200%201-2%202h-2%22/%3E%3Crect%20x=%226%22%20y=%2214%22%20width=%2212%22%20height=%228%22/%3E%3C/svg%3E");}
.ic-save{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M19%2021H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h11l5%205v11a2%202%200%200%201-2%202z%22/%3E%3Cpolyline%20points=%2217%2021%2017%2013%207%2013%207%2021%22/%3E%3Cpolyline%20points=%227%203%207%208%2015%208%22/%3E%3C/svg%3E");}
.ic-download{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4%22/%3E%3Cpolyline%20points=%227%2010%2012%2015%2017%2010%22/%3E%3Cline%20x1=%2212%22%20y1=%2215%22%20x2=%2212%22%20y2=%223%22/%3E%3C/svg%3E");}
.ic-phone{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6A19.79%2019.79%200%200%201%202.12%204.18%202%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.91.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z%22/%3E%3C/svg%3E");}
.ic-phoneoff{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M10.68%2013.31a16%2016%200%200%200%203.41%202.6l1.27-1.27a2%202%200%200%201%202.11-.45c.91.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.42%2019.42%200%200%201-3.33-2.67M4.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L6.09%209.91%22/%3E%3Cline%20x1=%2223%22%20y1=%221%22%20x2=%221%22%20y2=%2223%22/%3E%3C/svg%3E");}
.ic-bell{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M18%208a6%206%200%200%200-12%200c0%207-3%209-3%209h18s-3-2-3-9%22/%3E%3Cpath%20d=%22M13.7%2021a2%202%200%200%201-3.4%200%22/%3E%3C/svg%3E");}
.ic-lock{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%223%22%20y=%2211%22%20width=%2218%22%20height=%2211%22%20rx=%222%22/%3E%3Cpath%20d=%22M7%2011V7a5%205%200%200%201%2010%200v4%22/%3E%3C/svg%3E");}
.ic-box{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M21%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016z%22/%3E%3Cpolyline%20points=%223.3%207%2012%2012%2020.7%207%22/%3E%3Cline%20x1=%2212%22%20y1=%2222%22%20x2=%2212%22%20y2=%2212%22/%3E%3C/svg%3E");}
.ic-users{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M17%2021v-2a4%204%200%200%200-4-4H5a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx=%229%22%20cy=%227%22%20r=%224%22/%3E%3Cpath%20d=%22M23%2021v-2a4%204%200%200%200-3-3.87%22/%3E%3Cpath%20d=%22M16%203.13a4%204%200%200%201%200%207.75%22/%3E%3C/svg%3E");}
.ic-user{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M20%2021v-2a4%204%200%200%200-4-4H8a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx=%2212%22%20cy=%227%22%20r=%224%22/%3E%3C/svg%3E");}
.ic-cal{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%223%22%20y=%224%22%20width=%2218%22%20height=%2218%22%20rx=%222%22/%3E%3Cline%20x1=%2216%22%20y1=%222%22%20x2=%2216%22%20y2=%226%22/%3E%3Cline%20x1=%228%22%20y1=%222%22%20x2=%228%22%20y2=%226%22/%3E%3Cline%20x1=%223%22%20y1=%2210%22%20x2=%2221%22%20y2=%2210%22/%3E%3C/svg%3E");}
.ic-pin{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M21%2010c0%207-9%2013-9%2013s-9-6-9-13a9%209%200%200%201%2018%200z%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2210%22%20r=%223%22/%3E%3C/svg%3E");}
.ic-chart{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cline%20x1=%2212%22%20y1=%2220%22%20x2=%2212%22%20y2=%2210%22/%3E%3Cline%20x1=%2218%22%20y1=%2220%22%20x2=%2218%22%20y2=%224%22/%3E%3Cline%20x1=%226%22%20y1=%2220%22%20x2=%226%22%20y2=%2216%22/%3E%3C/svg%3E");}
.ic-refresh{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpolyline%20points=%2223%204%2023%2010%2017%2010%22/%3E%3Cpath%20d=%22M20.49%2015a9%209%200%201%201-2.12-9.36L23%2010%22/%3E%3C/svg%3E");}
.ic-shuffle{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpolyline%20points=%2216%203%2021%203%2021%208%22/%3E%3Cline%20x1=%224%22%20y1=%2220%22%20x2=%2221%22%20y2=%223%22/%3E%3Cpolyline%20points=%2221%2016%2021%2021%2016%2021%22/%3E%3Cline%20x1=%2215%22%20y1=%2215%22%20x2=%2221%22%20y2=%2221%22/%3E%3Cline%20x1=%224%22%20y1=%224%22%20x2=%229%22%20y2=%229%22/%3E%3C/svg%3E");}
.ic-clock{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%2210%22/%3E%3Cpolyline%20points=%2212%206%2012%2012%2016%2014%22/%3E%3C/svg%3E");}
.ic-mail{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M4%204h16a2%202%200%200%201%202%202v12a2%202%200%200%201-2%202H4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2z%22/%3E%3Cpolyline%20points=%2222,6%2012,13%202,6%22/%3E%3C/svg%3E");}
.ic-send{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cline%20x1=%2222%22%20y1=%222%22%20x2=%2211%22%20y2=%2213%22/%3E%3Cpolygon%20points=%2222%202%2015%2022%2011%2013%202%209%2022%202%22/%3E%3C/svg%3E");}
.ic-file{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z%22/%3E%3Cpolyline%20points=%2214%202%2014%208%2020%208%22/%3E%3C/svg%3E");}
.ic-tag{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M20.59%2013.41l-7.17%207.17a2%202%200%200%201-2.83%200L2%2012V2h10l8.59%208.59a2%202%200%200%201%200%202.82z%22/%3E%3Cline%20x1=%227%22%20y1=%227%22%20x2=%227.01%22%20y2=%227%22/%3E%3C/svg%3E");}
.ic-home{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M3%209l9-7%209%207v11a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2z%22/%3E%3Cpolyline%20points=%229%2022%209%2012%2015%2012%2015%2022%22/%3E%3C/svg%3E");}
.ic-gear{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%223%22/%3E%3Cpath%20d=%22M19.4%2015a1.65%201.65%200%200%200%20.33%201.82l.06.06a2%202%200%201%201-2.83%202.83l-.06-.06a1.65%201.65%200%200%200-1.82-.33%201.65%201.65%200%200%200-1%201.51V21a2%202%200%201%201-4%200v-.09A1.65%201.65%200%200%200%209%2019.4a1.65%201.65%200%200%200-1.82.33l-.06.06a2%202%200%201%201-2.83-2.83l.06-.06a1.65%201.65%200%200%200%20.33-1.82%201.65%201.65%200%200%200-1.51-1H3a2%202%200%201%201%200-4h.09A1.65%201.65%200%200%200%204.6%209a1.65%201.65%200%200%200-.33-1.82l-.06-.06a2%202%200%201%201%202.83-2.83l.06.06a1.65%201.65%200%200%200%201.82.33H9a1.65%201.65%200%200%200%201-1.51V3a2%202%200%201%201%204%200v.09a1.65%201.65%200%200%200%201%201.51%201.65%201.65%200%200%200%201.82-.33l.06-.06a2%202%200%201%201%202.83%202.83l-.06.06a1.65%201.65%200%200%200-.33%201.82V9a1.65%201.65%200%200%200%201.51%201H21a2%202%200%201%201%200%204h-.09a1.65%201.65%200%200%200-1.51%201z%22/%3E%3C/svg%3E");}
.ic-alert{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M10.29%203.86L1.82%2018a2%202%200%200%200%201.71%203h16.94a2%202%200%200%200%201.71-3L13.71%203.86a2%202%200%200%200-3.42%200z%22/%3E%3Cline%20x1=%2212%22%20y1=%229%22%20x2=%2212%22%20y2=%2213%22/%3E%3Cline%20x1=%2212%22%20y1=%2217%22%20x2=%2212.01%22%20y2=%2217%22/%3E%3C/svg%3E");}
.ic-eye{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M1%2012s4-8%2011-8%2011%208%2011%208-4%208-11%208-11-8-11-8z%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%223%22/%3E%3C/svg%3E");}
.ic-msg{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M21%2015a2%202%200%200%201-2%202H7l-4%204V5a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202z%22/%3E%3C/svg%3E");}
.ic-clip{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M16%204h2a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h2%22/%3E%3Crect%20x=%228%22%20y=%222%22%20width=%228%22%20height=%224%22%20rx=%221%22/%3E%3C/svg%3E");}
.ic-act{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpolyline%20points=%2222%2012%2018%2012%2015%2021%209%203%206%2012%202%2012%22/%3E%3C/svg%3E");}
.ic-sun{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%225%22/%3E%3Cline%20x1=%2212%22%20y1=%221%22%20x2=%2212%22%20y2=%223%22/%3E%3Cline%20x1=%2212%22%20y1=%2221%22%20x2=%2212%22%20y2=%2223%22/%3E%3Cline%20x1=%224.22%22%20y1=%224.22%22%20x2=%225.64%22%20y2=%225.64%22/%3E%3Cline%20x1=%2218.36%22%20y1=%2218.36%22%20x2=%2219.78%22%20y2=%2219.78%22/%3E%3Cline%20x1=%221%22%20y1=%2212%22%20x2=%223%22%20y2=%2212%22/%3E%3Cline%20x1=%2221%22%20y1=%2212%22%20x2=%2223%22%20y2=%2212%22/%3E%3Cline%20x1=%224.22%22%20y1=%2219.78%22%20x2=%225.64%22%20y2=%2218.36%22/%3E%3Cline%20x1=%2218.36%22%20y1=%225.64%22%20x2=%2219.78%22%20y2=%224.22%22/%3E%3C/svg%3E");}
.ic-zap{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpolygon%20points=%2213%202%203%2014%2012%2014%2011%2022%2021%2010%2012%2010%2013%202%22/%3E%3C/svg%3E");}
.ic-truck{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%221%22%20y=%223%22%20width=%2215%22%20height=%2213%22/%3E%3Cpolygon%20points=%2216%208%2020%208%2023%2011%2023%2016%2016%2016%2016%208%22/%3E%3Ccircle%20cx=%225.5%22%20cy=%2218.5%22%20r=%222.5%22/%3E%3Ccircle%20cx=%2218.5%22%20cy=%2218.5%22%20r=%222.5%22/%3E%3C/svg%3E");}
.ic-star{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpolygon%20points=%2212%202%2015.09%208.26%2022%209.27%2017%2014.14%2018.18%2021.02%2012%2017.77%205.82%2021.02%207%2014.14%202%209.27%208.91%208.26%2012%202%22/%3E%3C/svg%3E");}
.ic-coffee{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M18%208h1a4%204%200%200%201%200%208h-1%22/%3E%3Cpath%20d=%22M2%208h16v9a4%204%200%200%201-4%204H6a4%204%200%200%201-4-4V8z%22/%3E%3Cline%20x1=%226%22%20y1=%221%22%20x2=%226%22%20y2=%224%22/%3E%3Cline%20x1=%2210%22%20y1=%221%22%20x2=%2210%22%20y2=%224%22/%3E%3Cline%20x1=%2214%22%20y1=%221%22%20x2=%2214%22%20y2=%224%22/%3E%3C/svg%3E");}
.ic-bed{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M2%204v16%22/%3E%3Cpath%20d=%22M2%208h18a2%202%200%200%201%202%202v10%22/%3E%3Cpath%20d=%22M2%2017h20%22/%3E%3Cpath%20d=%22M6%208v9%22/%3E%3C/svg%3E");}
.ic-filter{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpolygon%20points=%2222%203%202%203%2010%2012.46%2010%2019%2014%2021%2014%2012.46%2022%203%22/%3E%3C/svg%3E");}
.ic-logout{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M9%2021H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h4%22/%3E%3Cpolyline%20points=%2216%2017%2021%2012%2016%207%22/%3E%3Cline%20x1=%2221%22%20y1=%2212%22%20x2=%229%22%20y2=%2212%22/%3E%3C/svg%3E");}
.ic-wrench{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M14.7%206.3a1%201%200%200%200%200%201.4l1.6%201.6a1%201%200%200%200%201.4%200l3.77-3.77a6%206%200%200%201-7.94%207.94l-6.91%206.91a2.12%202.12%200%200%201-3-3l6.91-6.91a6%206%200%200%201%207.94-7.94l-3.76%203.76z%22/%3E%3C/svg%3E");}
.ic-flask{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M9%203h6%22/%3E%3Cpath%20d=%22M10%203v6L4.6%2018.6a2%202%200%200%200%201.8%203h11.2a2%202%200%200%200%201.8-3L14%209V3%22/%3E%3Cline%20x1=%227.5%22%20y1=%2214%22%20x2=%2216.5%22%20y2=%2214%22/%3E%3C/svg%3E");}
.ic-chevd{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpolyline%20points=%226%209%2012%2015%2018%209%22/%3E%3C/svg%3E");}
.ic-arrowr{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cline%20x1=%225%22%20y1=%2212%22%20x2=%2219%22%20y2=%2212%22/%3E%3Cpolyline%20points=%2212%205%2019%2012%2012%2019%22/%3E%3C/svg%3E");}
.ic-card{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%221%22%20y=%224%22%20width=%2222%22%20height=%2216%22%20rx=%222%22/%3E%3Cline%20x1=%221%22%20y1=%2210%22%20x2=%2223%22%20y2=%2210%22/%3E%3C/svg%3E");}
.ic-info{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%2210%22/%3E%3Cline%20x1=%2212%22%20y1=%2216%22%20x2=%2212%22%20y2=%2212%22/%3E%3Cline%20x1=%2212%22%20y1=%228%22%20x2=%2212.01%22%20y2=%228%22/%3E%3C/svg%3E");}
.ic-menu{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cline%20x1=%223%22%20y1=%2212%22%20x2=%2221%22%20y2=%2212%22/%3E%3Cline%20x1=%223%22%20y1=%226%22%20x2=%2221%22%20y2=%226%22/%3E%3Cline%20x1=%223%22%20y1=%2218%22%20x2=%2221%22%20y2=%2218%22/%3E%3C/svg%3E");}
.ic-scissors{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Ccircle%20cx=%226%22%20cy=%226%22%20r=%223%22/%3E%3Ccircle%20cx=%226%22%20cy=%2218%22%20r=%223%22/%3E%3Cline%20x1=%2220%22%20y1=%224%22%20x2=%228.12%22%20y2=%2215.88%22/%3E%3Cline%20x1=%2214.47%22%20y1=%2214.48%22%20x2=%2220%22%20y2=%2220%22/%3E%3Cline%20x1=%228.12%22%20y1=%228.12%22%20x2=%2212%22%20y2=%2212%22/%3E%3C/svg%3E");}
.ic-pause{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%226%22%20y=%224%22%20width=%224%22%20height=%2216%22/%3E%3Crect%20x=%2214%22%20y=%224%22%20width=%224%22%20height=%2216%22/%3E%3C/svg%3E");}
.ic-receipt{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27currentColor%27%20stroke-width=%272%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%22M4%202v20l2-1%202%201%202-1%202%201%202-1%202%201%202-1%202%201V2l-2%201-2-1-2%201-2-1-2%201-2-1-2%201z%22/%3E%3Cline%20x1=%228%22%20y1=%227%22%20x2=%2216%22%20y2=%227%22/%3E%3Cline%20x1=%228%22%20y1=%2211%22%20x2=%2216%22%20y2=%2211%22/%3E%3Cline%20x1=%228%22%20y1=%2215%22%20x2=%2212%22%20y2=%2215%22/%3E%3C/svg%3E");}

/* ---- brand dot (replaces emoji in app brand marks) ---- */
.vq-dot{display:inline-block;width:.62em;height:.62em;border-radius:50%;background:var(--vq-amber);margin-right:.45em;vertical-align:baseline;}
.vq-mark{font-family:var(--vq-font-mono);font-size:10px;letter-spacing:.22em;color:var(--vq-muted);margin-left:10px;white-space:nowrap;}
.vq-all{font-family:var(--vq-font-mono);font-size:11px;letter-spacing:.08em;color:var(--vq-muted)!important;text-decoration:none;border:1px solid var(--vq-line);padding:6px 10px;border-radius:3px;white-space:nowrap;}
.vq-all:hover{color:var(--vq-amber)!important;border-color:var(--vq-amber);}

/* ---- shared component polish (applies to common class names) ---- */
body.vq-shell .topbar{background:#101014!important;border-bottom:1px solid var(--vq-line);}
body.vq-shell .tabs{background:transparent!important;border-bottom:1px solid var(--vq-line);}
body.vq-shell .tab{font-family:var(--vq-font-mono)!important;font-size:12px!important;letter-spacing:.06em;text-transform:uppercase;border-radius:3px!important;}
body.vq-shell .tab.active{background:var(--vq-amber-t)!important;color:var(--vq-amber)!important;box-shadow:inset 0 -2px 0 var(--vq-amber);}
body.vq-shell .card{background:var(--vq-panel)!important;border:1px solid var(--vq-line)!important;border-radius:3px!important;box-shadow:none!important;}
body.vq-shell .btn{border-radius:3px!important;font-family:var(--vq-font-body);}
body.vq-shell .btn.primary,body.vq-shell .btn-primary{background:var(--vq-amber)!important;border-color:var(--vq-amber)!important;color:#141414!important;font-weight:600;}
body.vq-shell .btn.primary:hover,body.vq-shell .btn-primary:hover{background:var(--vq-amber-d)!important;}
body.vq-shell .kicker{font-family:var(--vq-font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--vq-amber);}
body.vq-shell .pill,body.vq-shell .badge{border-radius:3px!important;font-family:var(--vq-font-mono)!important;font-size:11px!important;letter-spacing:.04em;}
body.vq-shell table th{font-family:var(--vq-font-mono)!important;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--vq-muted)!important;}
body.vq-shell input,body.vq-shell select,body.vq-shell textarea{background:var(--vq-panel2)!important;border:1px solid var(--vq-line2)!important;color:var(--vq-ink)!important;border-radius:3px!important;}
body.vq-shell input::placeholder,body.vq-shell textarea::placeholder{color:var(--vq-faint);}
body.vq-shell .modal,body.vq-shell .modal-box,body.vq-shell .dialog{background:var(--vq-panel)!important;border:1px solid var(--vq-line2)!important;border-radius:3px!important;box-shadow:0 24px 64px rgba(0,0,0,.5)!important;}
body.vq-shell .toast{background:var(--vq-panel2)!important;border:1px solid var(--vq-line2)!important;border-left:3px solid var(--vq-amber)!important;color:var(--vq-ink)!important;border-radius:3px!important;}
body.vq-shell .stat-num,body.vq-shell .stat .num,body.vq-shell .num{font-family:var(--vq-font-display)!important;color:var(--vq-ink)!important;}
body.vq-shell .stat-lbl,body.vq-shell .stat .lbl,body.vq-shell .lbl{font-family:var(--vq-font-mono)!important;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--vq-muted)!important;}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px;}
.dot-ok{background:var(--vq-green);} .dot-warn{background:var(--vq-amber);} .dot-bad{background:var(--vq-red);} .dot-mut{background:var(--vq-faint);}
@media (max-width:720px){ .vq-mark{display:none;} }

/* ---- mobile touch targets + layout safety (auto) ---- */
@media (max-width:720px){
  body.vq-shell button, body.vq-shell .btn, body.vq-shell input[type=button],
  body.vq-shell input[type=submit], body.vq-shell select, body.vq-shell .tab{min-height:40px;}
  body.vq-shell .tabs{overflow-x:auto;scrollbar-width:none;}
  body.vq-shell .tabs::-webkit-scrollbar{display:none;}
  body.vq-shell .topbar{flex-wrap:wrap;row-gap:8px;}
  body.vq-shell table{font-size:13px;}
  body.vq-shell th, body.vq-shell td{padding:8px 6px;}
}

/* ---- mobile: single-column forms (auto) ---- */
@media (max-width:720px){
  body.vq-shell .form-grid, body.vq-shell .formgrid:not(.inline){grid-template-columns:1fr!important}
  body.vq-shell .row2{flex-wrap:wrap}
}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1px;padding:0 1px}
/* tables keep natural width; wrapper scrolls only when needed */
