/* Toolveriq quick tools: shared styles (light/dark via theme.js data-theme) */
:root{--q-bg:#070d1a;--q-surface:#101a2b;--q-surface2:#0c1524;--q-line:#26354c;--q-text:#f5f8ff;--q-muted:#a8b9d2;
--q-accent:#64e9e2;--q-accent-ink:#04131d;--q-ok:#3ddc97;--q-warn:#f5b84a;--q-bad:#ff6b6b;--q-info:#7aa7ff;color-scheme:dark}
:root[data-theme="light"]{--q-bg:#f4f7fb;--q-surface:#fff;--q-surface2:#eef3f9;--q-line:#d4dde9;--q-text:#0d1b2e;--q-muted:#4a5b72;
--q-accent:#0e8f88;--q-accent-ink:#fff;--q-ok:#11845b;--q-warn:#a46200;--q-bad:#c23434;--q-info:#2b5fc4;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--q-bg);color:var(--q-text);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Tahoma,"Noto Sans Arabic",sans-serif}
html[dir="rtl"] body{font-family:"Segoe UI",Tahoma,"Noto Sans Arabic","Noto Naskh Arabic",system-ui,sans-serif}
a{color:var(--q-accent)}
.q-wrap{width:min(1040px,100% - 32px);margin:0 auto;padding:28px 0 60px}
.q-head{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-start;justify-content:space-between;margin-bottom:22px}
.q-head h1{margin:0 0 6px;font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.15}
.q-head p{margin:0;color:var(--q-muted);max-width:62ch}
.q-tools{display:flex;gap:8px}
.q-btn{font:inherit;font-weight:700;border:0;border-radius:10px;padding:10px 18px;background:var(--q-accent);color:var(--q-accent-ink);cursor:pointer}
.q-btn:disabled{opacity:.6;cursor:progress}
.q-ghost{font:inherit;border:1px solid var(--q-line);background:var(--q-surface);color:var(--q-text);border-radius:10px;padding:8px 14px;cursor:pointer}
.q-card{background:var(--q-surface);border:1px solid var(--q-line);border-radius:16px;padding:20px;margin-bottom:18px}
.q-card h2{font-size:1.15rem;margin:0 0 12px}
.q-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.q-field{display:flex;flex-direction:column;gap:6px;flex:1 1 220px}
.q-field label{font-weight:600;font-size:.92rem}
.q-field input,.q-field select,.q-field textarea{font:inherit;padding:10px 12px;border:1px solid var(--q-line);border-radius:10px;background:var(--q-surface2);color:var(--q-text);width:100%}
.q-field textarea{min-height:150px;font-family:ui-monospace,Consolas,monospace;font-size:.85rem;direction:ltr}
input[dir="ltr"],.q-ltr{direction:ltr;text-align:left;unicode-bidi:plaintext}
.q-help{font-size:.85rem;color:var(--q-muted);margin:6px 0 0}
.q-note{font-size:.88rem;color:var(--q-muted);border-inline-start:3px solid var(--q-info);padding:8px 12px;background:var(--q-surface2);border-radius:8px;margin:14px 0 0}
.q-err{color:var(--q-bad);font-weight:600;margin:12px 0 0}
.q-table-wrap{overflow-x:auto}
table.q-table{width:100%;border-collapse:collapse;font-size:.92rem}
.q-table th,.q-table td{text-align:start;padding:9px 10px;border-bottom:1px solid var(--q-line);vertical-align:top}
.q-table th{color:var(--q-muted);font-weight:600;font-size:.85rem}
.q-mono{font-family:ui-monospace,Consolas,monospace;font-size:.86rem;word-break:break-all;direction:ltr;unicode-bidi:plaintext}
.q-badge{display:inline-block;font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.q-ok{background:color-mix(in srgb,var(--q-ok) 18%,transparent);color:var(--q-ok)}
.q-warn{background:color-mix(in srgb,var(--q-warn) 20%,transparent);color:var(--q-warn)}
.q-bad{background:color-mix(in srgb,var(--q-bad) 18%,transparent);color:var(--q-bad)}
.q-info{background:color-mix(in srgb,var(--q-info) 18%,transparent);color:var(--q-info)}
.q-checks{list-style:none;padding:0;margin:0}
.q-checks li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--q-line)}
.q-checks li:last-child{border-bottom:0}
.q-checks .q-badge{margin-top:2px}
.q-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.q-tabs button[aria-selected="true"]{background:var(--q-accent);color:var(--q-accent-ink);border-color:transparent}
.q-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.q-stat{background:var(--q-surface2);border:1px solid var(--q-line);border-radius:12px;padding:12px}
.q-stat b{display:block;font-size:1.1rem}
.q-stat span{font-size:.82rem;color:var(--q-muted)}
.q-out{display:flex;gap:8px;align-items:center;background:var(--q-surface2);border:1px solid var(--q-line);border-radius:10px;padding:10px 12px;margin-top:10px}
.q-out code{flex:1}
.q-foot{font-size:.85rem;color:var(--q-muted);margin-top:26px}
.q-foot a{margin-inline-end:14px}
[hidden]{display:none!important}
@media print{.q-tools,#tv-app-header,.q-btn,.q-ghost{display:none!important}}
