:root{--bg-base: #f2f2f7;--bg: var(--bg-base);--text: #000000;--text2: rgba(60,60,67,.6);--text3: rgba(60,60,67,.3);--accent: #007AFF;--accent-pressed: #0066d6;--red: #FF3B30;--green: #34C759;--orange: #FF9500;--dot: #34C759;--user-bg: var(--accent);--user-text: #ffffff;--glass-fill: rgba(255,255,255,.15);--glass-fill-medium: rgba(255,255,255,.25);--glass-fill-thick: rgba(255,255,255,.4);--glass-filter: blur(24px) saturate(200%) brightness(1.1);--glass-filter-heavy:blur(40px) saturate(220%) brightness(1.05);--glass-filter-sm: blur(12px) saturate(160%) brightness(1.05);--glass-border: .5px solid rgba(255,255,255,.55);--glass-border-dark: .5px solid rgba(255,255,255,.25);--glass-specular: inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(0,0,0,.04);--glass-specular-sm: inset 0 .5px 0 rgba(255,255,255,.4);--shadow-l1: 0 1px 3px rgba(0,0,0,.08);--shadow-l2: 0 4px 16px rgba(0,0,0,.12), 0 1px 3px rgba(0,0,0,.06);--shadow-l3: 0 8px 32px rgba(0,0,0,.16), 0 2px 8px rgba(0,0,0,.08);--surface: rgba(255,255,255,.7);--surface-2: rgba(255,255,255,.5);--border: rgba(255,255,255,.45);--border-strong:rgba(255,255,255,.6);--border-subtle:rgba(255,255,255,.2);--glass-light: var(--glass-fill);--glass-dense: var(--glass-fill-medium);--blur-l1: var(--glass-filter);--blur-l2: var(--glass-filter-heavy);--blur-sm: var(--glass-filter-sm);--sidebar-glass: rgba(255,255,255,.18);--sidebar-text: rgba(0,0,0,.75);--sidebar-hover: rgba(255,255,255,.2);--sidebar-active: rgba(0,122,255,.18);--sidebar-active-text: #007aff;--input-bg: rgba(255,255,255,.25);--input-border: rgba(255,255,255,.5);--sql-bg: rgba(255,255,255,.2);--sql-border:rgba(255,255,255,.35);--sql-text: #5856d6;--syntax-kw: #0057cc;--syntax-str: #1e7e2e;--syntax-num: #b5540c;--syntax-fn: #7c3aed;--syntax-cmt: #6a737d;--syntax-op: #d73a49;--tbl-head: rgba(255,255,255,.2);--tbl-even: rgba(255,255,255,.1);--tbl-odd: transparent;--toggle-track: #e5e5ea;--m-instant: 80ms;--m-fast: .18s;--m-base: .25s;--m-slow: .32s;--spring: cubic-bezier(.34,1.56,.64,1);--ease-out: cubic-bezier(.32,.72,0,1);--ease-std: cubic-bezier(.4,0,.2,1);--ease-in: cubic-bezier(.4,0,1,1);--r-1: 4px;--r-2: 8px;--r-3: 12px;--r-4: 16px;--r-5: 20px;--r-6: 24px;--r-pill: 9999px}[data-theme=dark]{--bg-base: #000000;--text: #ffffff;--text2: rgba(235,235,245,.6);--text3: rgba(235,235,245,.3);--accent: #0A84FF;--accent-pressed: #066ed1;--red: #FF453A;--green: #30D158;--orange: #FF9F0A;--dot: #30D158;--glass-fill: rgba(20,20,30,.5);--glass-fill-medium: rgba(20,20,30,.65);--glass-fill-thick: rgba(20,20,30,.8);--glass-border: .5px solid rgba(255,255,255,.14);--glass-border-dark: .5px solid rgba(255,255,255,.08);--glass-specular: inset 0 1px 0 rgba(255,255,255,.1), inset 0 -1px 0 rgba(0,0,0,.2);--glass-specular-sm: inset 0 .5px 0 rgba(255,255,255,.08);--shadow-l1: 0 1px 3px rgba(0,0,0,.3);--shadow-l2: 0 4px 16px rgba(0,0,0,.45), 0 1px 3px rgba(0,0,0,.2);--shadow-l3: 0 8px 32px rgba(0,0,0,.6), 0 2px 8px rgba(0,0,0,.3);--surface: rgba(255,255,255,.06);--surface-2: rgba(255,255,255,.04);--border: rgba(255,255,255,.12);--border-strong:rgba(255,255,255,.2);--border-subtle:rgba(255,255,255,.06);--glass-light: var(--glass-fill);--glass-dense: var(--glass-fill-medium);--sidebar-glass: rgba(10,10,18,.55);--sidebar-text: rgba(235,235,245,.82);--sidebar-hover: rgba(255,255,255,.07);--sidebar-active: rgba(10,132,255,.22);--sidebar-active-text: #0a84ff;--input-bg: rgba(255,255,255,.06);--input-border: rgba(255,255,255,.14);--sql-bg: rgba(255,255,255,.04);--sql-border:rgba(255,255,255,.1);--sql-text: #a5a0ff;--syntax-kw: #4da6ff;--syntax-str: #7ec87e;--syntax-num: #e5a832;--syntax-fn: #c792ea;--syntax-cmt: #888888;--syntax-op: #89ddff;--tbl-head: rgba(255,255,255,.06);--tbl-even: rgba(255,255,255,.03);--tbl-odd: transparent;--toggle-track: #0a84ff}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Vazirmatn,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glass{background:var(--glass-fill);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);border:var(--glass-border);box-shadow:var(--glass-specular),var(--shadow-l1)}.glass-medium{background:var(--glass-fill-medium);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);border:var(--glass-border);box-shadow:var(--glass-specular),var(--shadow-l2)}.glass-heavy{background:var(--glass-fill-thick);backdrop-filter:var(--glass-filter-heavy);-webkit-backdrop-filter:var(--glass-filter-heavy);border:var(--glass-border);box-shadow:var(--glass-specular),var(--shadow-l3)}.glass-sm{background:var(--glass-fill-medium);backdrop-filter:var(--glass-filter-sm);-webkit-backdrop-filter:var(--glass-filter-sm);border:var(--glass-border-dark);box-shadow:var(--glass-specular-sm)}.card{background:var(--glass-fill-medium);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);border:var(--glass-border);box-shadow:var(--glass-specular),var(--shadow-l2);border-radius:var(--r-4);padding:20px 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:-.01em;transition:opacity var(--m-fast) var(--ease-std),transform var(--m-instant) var(--ease-std);user-select:none;-webkit-user-select:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:active:not(:disabled){transform:scale(.92)}.btn:disabled{opacity:.28;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--r-pill);padding:9px 20px;box-shadow:var(--glass-specular-sm),var(--shadow-l1)}.btn-primary:hover:not(:disabled){opacity:.86}.btn-glass{background:var(--glass-fill-medium);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);border:var(--glass-border);box-shadow:var(--glass-specular),var(--shadow-l1);color:var(--text);border-radius:var(--r-pill);padding:8px 18px}.btn-glass:hover:not(:disabled){background:var(--glass-fill-thick)}.btn-secondary{background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:var(--r-pill);padding:8px 18px}.btn-secondary:hover:not(:disabled){background:#007aff14}.btn-tertiary{background:transparent;color:var(--text2);border-radius:var(--r-2);padding:6px 10px;font-size:13px}.btn-tertiary:hover:not(:disabled){background:var(--glass-fill);color:var(--text)}.btn-destructive{background:transparent;color:var(--red);border:1px solid var(--red);border-radius:var(--r-pill);padding:8px 18px}.btn-destructive:hover:not(:disabled){background:var(--red);color:#fff}.btn-circle{width:36px;height:36px;border-radius:50%;padding:0;background:var(--accent);color:#fff;box-shadow:var(--glass-specular-sm),var(--shadow-l2)}.btn-circle:hover:not(:disabled){opacity:.85}.btn-circle:disabled{background:var(--glass-fill-medium)!important;color:var(--text3)!important;box-shadow:none!important}.btn-icon{background:transparent;color:var(--text2);border-radius:var(--r-2);padding:6px;width:32px;height:32px}.btn-icon:hover:not(:disabled){background:var(--glass-fill);color:var(--text)}.input-pill{background:var(--input-bg);backdrop-filter:var(--glass-filter-sm);-webkit-backdrop-filter:var(--glass-filter-sm);border:var(--glass-border);box-shadow:var(--glass-specular-sm);border-radius:var(--r-pill);padding:9px 16px;color:var(--text);font-size:14px;font-family:inherit;outline:none;width:100%;transition:border var(--m-fast) var(--ease-std)}.input-pill:focus{border:.5px solid var(--accent);background:var(--glass-fill-medium)}.input-pill::placeholder{color:var(--text3)}.input-rect{background:var(--input-bg);backdrop-filter:var(--glass-filter-sm);-webkit-backdrop-filter:var(--glass-filter-sm);border:var(--glass-border);box-shadow:var(--glass-specular-sm);border-radius:var(--r-3);padding:9px 13px;color:var(--text);font-size:14px;font-family:inherit;outline:none;width:100%;transition:border var(--m-fast) var(--ease-std)}.input-rect:focus{border:.5px solid var(--accent)}.input-rect::placeholder{color:var(--text3)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-pill);font-size:11.5px;font-weight:600;letter-spacing:.02em;background:var(--glass-fill-medium);backdrop-filter:var(--glass-filter-sm);-webkit-backdrop-filter:var(--glass-filter-sm);border:var(--glass-border-dark);box-shadow:var(--glass-specular-sm)}.badge-admin{color:var(--accent)}.badge-user{color:var(--text2)}.tbl-wrap{overflow-x:auto;border-radius:var(--r-3);border:var(--glass-border);background:var(--glass-fill);backdrop-filter:var(--glass-filter-sm);-webkit-backdrop-filter:var(--glass-filter-sm);box-shadow:var(--glass-specular-sm)}.tbl{border-collapse:collapse;width:100%;font-size:12.5px}.tbl th{background:var(--tbl-head);padding:7px 12px;text-align:left;color:var(--text2);font-weight:500;letter-spacing:.01em;border-bottom:var(--glass-border);white-space:nowrap}.tbl td{padding:6px 12px;border-bottom:.5px solid var(--border-subtle);color:var(--text);white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.tbl tr:last-child td{border-bottom:none}.tbl-even{background:var(--tbl-even)}.tbl-odd{background:var(--tbl-odd)}.field-label{display:block;font-size:12px;font-weight:500;color:var(--text2);margin-bottom:5px}.field-error{font-size:12.5px;color:var(--red);margin-top:5px;animation:slide-down var(--m-fast) var(--ease-out)}@keyframes slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.chart-toggle{margin-top:8px;font-size:12px;color:var(--text2);cursor:pointer;padding:4px 0;display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;font-family:inherit;transition:color var(--m-fast)}.chart-toggle:hover{color:var(--text)}.chart-panel{margin-top:8px;background:var(--glass-fill);backdrop-filter:var(--glass-filter-sm);-webkit-backdrop-filter:var(--glass-filter-sm);border:var(--glass-border);border-radius:var(--r-3);box-shadow:var(--glass-specular-sm);padding:12px 14px;display:flex;flex-direction:column;gap:10px;animation:slide-down var(--m-fast) var(--ease-out)}.chart-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chart-seg{display:flex;align-items:center;background:var(--glass-fill);backdrop-filter:var(--glass-filter-sm);-webkit-backdrop-filter:var(--glass-filter-sm);border:var(--glass-border-dark);border-radius:var(--r-pill);padding:2px;gap:2px;box-shadow:var(--glass-specular-sm);height:28px}.chart-seg-btn{height:24px;padding:0 10px;border:none;cursor:pointer;border-radius:var(--r-pill);font-size:11.5px;font-weight:500;font-family:inherit;background:transparent;color:var(--text2);transition:color var(--m-fast),background var(--m-fast);white-space:nowrap}.chart-seg-btn.active{background:var(--accent);color:#fff;box-shadow:var(--glass-specular-sm)}.chart-seg-btn:not(.active):hover{color:var(--text)}.chart-label{font-size:11px;color:var(--text2);font-weight:500;white-space:nowrap}.chart-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:28px;padding:0 22px 0 8px;background:var(--input-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23888'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 5px center;border:var(--glass-border-dark);border-radius:var(--r-2);color:var(--text);font-size:12px;font-family:inherit;outline:none;cursor:pointer;box-shadow:var(--glass-specular-sm);max-width:160px;transition:border var(--m-fast)}.chart-select:focus{border:.5px solid var(--accent)}.chart-empty{font-size:12.5px;color:var(--text2);text-align:center;padding:20px 0}.chart-y-row{display:flex;align-items:flex-start;gap:8px}.chart-y-pills{display:flex;flex-wrap:wrap;gap:4px;flex:1}.chart-y-pill{height:22px;padding:0 9px;border:1px solid var(--glass-border-dark);border-radius:var(--r-pill);font-size:11px;font-weight:500;font-family:inherit;background:var(--glass-fill);color:var(--text2);cursor:pointer;transition:background var(--m-fast),color var(--m-fast),border-color var(--m-fast);white-space:nowrap}.chart-y-pill:hover:not(.active){color:var(--text);background:var(--glass-fill-medium)}
