html{--lumo-primary-color:#de6312;--lumo-primary-color-50pct:#de631280;--lumo-primary-color-10pct:#de63121a;--lumo-primary-text-color:#b85614;--lumo-primary-contrast-color:#fff;--lumo-border-radius-s:6px;--lumo-border-radius-m:10px;--lumo-border-radius-l:14px;--lumo-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lumo-base-color:#fff;--lumo-shade-5pct:#2329360d;--lumo-shade-10pct:#2329361a;--qm-surface:#f6f7f9;--qm-card-border:#e6e8ee;--qm-header-bg:#fff}vaadin-app-layout::part(content){background:var(--qm-surface)}vaadin-app-layout::part(navbar){background:var(--qm-header-bg);border-bottom:1px solid var(--qm-card-border);box-shadow:0 1px 2px #1018280a}vaadin-app-layout::part(drawer){background:var(--qm-header-bg);border-right:1px solid var(--qm-card-border)}.qm-logo-mark{color:#fff;background:linear-gradient(135deg,#f36f16,#f5a70a);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;font-size:1.2rem;line-height:1;display:flex}.qm-app-name{letter-spacing:-.02em;color:var(--lumo-header-text-color);font-size:1.15rem;font-weight:700}.qm-user-chip{background:var(--lumo-contrast-5pct);border:1px solid var(--qm-card-border);font-size:var(--lumo-font-size-s);color:var(--lumo-secondary-text-color);border-radius:999px;align-items:center;gap:.45rem;padding:.25rem .75rem .25rem .35rem;display:inline-flex}.qm-avatar{background:var(--lumo-primary-color-10pct);width:1.6rem;height:1.6rem;color:var(--lumo-primary-text-color);text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex}vaadin-side-nav-item{border-radius:8px;margin:2px 8px;font-weight:500}vaadin-side-nav-item::part(item){border-radius:8px}.qm-page{box-sizing:border-box;width:100%;max-width:1180px;margin:0 auto;padding:1.5rem 2rem 3rem}.qm-page-title{letter-spacing:-.02em;margin:0;font-size:1.45rem;font-weight:700}.qm-page-subtitle{color:var(--lumo-secondary-text-color);font-size:var(--lumo-font-size-s);margin:.2rem 0 0}.qm-card{background:var(--lumo-base-color);border:1px solid var(--qm-card-border);border-radius:var(--lumo-border-radius-l);box-sizing:border-box;padding:1.1rem 1.25rem;box-shadow:0 1px 2px #1018280a}.qm-card--flush{padding:0;overflow:hidden}.qm-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem;width:100%;display:grid}.qm-stat{background:var(--lumo-base-color);border:1px solid var(--qm-card-border);border-radius:var(--lumo-border-radius-l);flex-direction:column;gap:.15rem;padding:.9rem 1.1rem;display:flex;box-shadow:0 1px 2px #1018280a}.qm-stat-value{letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1.1}.qm-stat-label{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.qm-stat--accent .qm-stat-value{color:var(--lumo-primary-text-color)}.qm-stat--success .qm-stat-value{color:var(--lumo-success-text-color)}.qm-stat--error .qm-stat-value{color:var(--lumo-error-text-color)}.qm-callout{border-radius:var(--lumo-border-radius-m);font-size:var(--lumo-font-size-s);box-sizing:border-box;border:1px solid #0000;width:100%;padding:.8rem 1rem;line-height:1.55}.qm-callout--info{background:var(--lumo-primary-color-10pct);color:var(--lumo-primary-text-color);border-color:#de631240}.qm-callout--warn{color:#8a5a00;background:#fff7e6;border-color:#f4d9a6}.qm-callout--success{color:#157347;background:#ecfdf3;border-color:#b5e3c8}.qm-callout--error{color:#b42318;background:#fef2f2;border-color:#f4c2c2}.qm-callout ul{margin:.3rem 0 0;padding-left:1.2rem}.qm-sql textarea{font-family:SF Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:.85rem!important}.qm-sql-block{color:#dbeafe;border-radius:var(--lumo-border-radius-m);white-space:pre-wrap;word-break:break-word;background:#0f172a;max-height:16rem;margin:0;padding:.9rem 1.1rem;font-family:SF Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;overflow:auto}vaadin-grid{--lumo-size-m:2.4rem;font-size:var(--lumo-font-size-s);border:none}vaadin-grid::part(header-cell){font-size:var(--lumo-font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--lumo-secondary-text-color);font-weight:600}.qm-kv{font-size:var(--lumo-font-size-s);grid-template-columns:10rem 1fr;gap:.35rem 1rem;display:grid}.qm-kv-key{color:var(--lumo-secondary-text-color);font-weight:500}.qm-kv-value{font-weight:500}.qm-login{background:radial-gradient(1200px 500px at 20% -10%, #f36f1624, transparent), radial-gradient(900px 400px at 90% 0%, #f5a70a21, transparent), var(--qm-surface);min-height:100vh}.qm-login-card{background:var(--lumo-base-color);border:1px solid var(--qm-card-border);box-sizing:border-box;border-radius:18px;width:24rem;max-width:92vw;padding:2rem 2.2rem 1.4rem;box-shadow:0 10px 40px #10182814}.qm-login-card vaadin-login-form-wrapper{padding:0}.qm-sso-button{text-align:center;border-radius:var(--lumo-border-radius-m);border:1px solid var(--qm-card-border);background:var(--lumo-base-color);width:100%;color:var(--lumo-body-text-color);box-sizing:border-box;padding:.65rem 1rem;font-weight:600;text-decoration:none;transition:background .1s;display:block}.qm-sso-button:hover{background:var(--lumo-contrast-5pct)}
