:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f1f4f9;--border: #e2e6ed;--text: #0b1220;--text-muted: #5b6474;--accent: #2563eb;--accent-soft: #eff4ff;--success: #10794b;--success-soft: #e8f6ef;--warning: #9a5b00;--warning-soft: #fff5e5;--danger: #b32020;--danger-soft: #fdecec;--radius: 10px;--radius-lg: 14px;--shadow: 0 1px 2px rgba(11, 18, 32, .05), 0 4px 16px rgba(11, 18, 32, .05);--font-ar: "Segoe UI", "Noto Naskh Arabic", "Amiri", system-ui, sans-serif;--font-en: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0b1220;--surface: #131c2e;--surface-2: #1b2538;--border: #26314a;--text: #eef2f8;--text-muted: #97a1b5;--accent: #5b8cff;--accent-soft: #17233d;--success: #4ade80;--success-soft: #10241b;--warning: #fbbf24;--warning-soft: #2a2010;--danger: #f87171;--danger-soft: #2b1414;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .25)}}:root[data-theme=dark]{--bg: #0b1220;--surface: #131c2e;--surface-2: #1b2538;--border: #26314a;--text: #eef2f8;--text-muted: #97a1b5;--accent: #5b8cff;--accent-soft: #17233d;--success: #4ade80;--success-soft: #10241b;--warning: #fbbf24;--warning-soft: #2a2010;--danger: #f87171;--danger-soft: #2b1414;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .25)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-en);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}[dir=rtl] body{font-family:var(--font-ar)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app{display:grid;grid-template-columns:250px 1fr;min-height:100%}.sidebar{background:var(--surface);border-inline-end:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.brand svg{flex:none;border-radius:8px}.brand-name{font-weight:650;letter-spacing:-.01em}.brand-tag{font-size:11px;color:var(--text-muted)}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);color:var(--text-muted);text-decoration:none;font-size:14px;border:none;background:none;width:100%;text-align:start;cursor:pointer;font-family:inherit}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-spacer{flex:1}.main{padding:24px 28px 56px;max-width:1180px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-block-end:20px;flex-wrap:wrap}h1{font-size:22px;margin:0 0 2px;letter-spacing:-.02em}h2{font-size:16px;margin:0 0 12px;letter-spacing:-.01em}.subtitle{color:var(--text-muted);font-size:13px;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow)}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.stat-label{font-size:12px;color:var(--text-muted);margin-block-end:6px}.stat-value{font-size:24px;font-weight:650;letter-spacing:-.02em}.stat-hint{font-size:12px;color:var(--text-muted);margin-block-start:4px}.meter{margin-block-start:10px}.meter-track{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden}.meter-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.meter-fill.warn{background:var(--warning)}.meter-fill.danger{background:var(--danger)}.meter-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-block-start:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:550}.btn-primary:hover:not(:disabled){filter:brightness(1.07);background:var(--accent)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:550}.btn-danger:hover:not(:disabled){filter:brightness(1.07);background:var(--danger)}.btn-sm{padding:6px 11px;font-size:13px}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.field{display:block;margin-block-end:14px}.field-label{display:block;font-size:13px;color:var(--text-muted);margin-block-end:5px}.input,.select,.textarea{width:100%;padding:9px 11px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:none}.textarea{min-height:90px;resize:vertical}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:start;font-size:12px;font-weight:600;color:var(--text-muted);padding:9px 10px;border-block-end:1px solid var(--border);white-space:nowrap}td{padding:11px 10px;border-block-end:1px solid var(--border)}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-block-end:none}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:550;background:var(--surface-2);color:var(--text-muted);white-space:nowrap}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.alert{padding:11px 14px;border-radius:var(--radius);font-size:14px;margin-block-end:14px;border:1px solid transparent}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:currentColor}.alert-warning{background:var(--warning-soft);color:var(--warning);border-color:currentColor}.alert-success{background:var(--success-soft);color:var(--success);border-color:currentColor}.alert-info{background:var(--accent-soft);color:var(--accent);border-color:currentColor}.empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:36px 20px;text-align:center;cursor:pointer;background:var(--surface);transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone-title{font-weight:550;margin-block-end:4px}.dropzone-hint{font-size:13px;color:var(--text-muted)}.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:400px}.auth-head{text-align:center;margin-block-end:22px}.auth-link{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:13px;padding:0}.chat{display:flex;flex-direction:column;gap:12px;min-height:400px}.chat-log{display:flex;flex-direction:column;gap:10px;flex:1}.bubble{padding:11px 14px;border-radius:var(--radius-lg);max-width:78%;white-space:pre-wrap;overflow-wrap:anywhere}.bubble-user{background:var(--accent);color:#fff;align-self:flex-end}.bubble-assistant{background:var(--surface-2);align-self:flex-start}.chat-form{display:flex;gap:8px}@media(max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:fixed;inset-block-end:0;inset-inline:0;top:auto;height:auto;flex-direction:row;overflow-x:auto;padding:8px;border-inline-end:none;border-block-start:1px solid var(--border);z-index:20;gap:2px}.brand,.nav-spacer{display:none}.nav-link{flex-direction:column;gap:3px;font-size:10.5px;padding:7px 9px;text-align:center;white-space:nowrap;flex:none}.main{padding:16px 14px 92px}.bubble{max-width:88%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.sidebar-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 4px 10px}.theme-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px;gap:2px}.theme-option{border:0;background:transparent;color:var(--text-muted);border-radius:999px;width:30px;height:26px;font-size:13px;line-height:1;cursor:pointer;transition:background-color .14s ease,color .14s ease}.theme-option:hover{color:var(--text)}.theme-option.is-active{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #0b122014}.install-btn{white-space:nowrap}@keyframes md-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card,.page-head,.alert{animation:md-rise .18s ease-out both}.btn{transition:background-color .14s ease,border-color .14s ease,transform 90ms ease}.btn:active:not(:disabled){transform:translateY(1px)}tbody tr{transition:background-color .12s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.chart{inline-size:100%;block-size:160px;display:block;overflow:visible}.chart-bar{animation:md-grow .32s cubic-bezier(.2,.7,.3,1) both;transform-origin:bottom}@keyframes md-grow{0%{transform:scaleY(0);opacity:.4}to{transform:none;opacity:1}}.share-bars{display:grid;gap:12px}.share-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-block-end:5px}.share-label{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-value{color:var(--text-muted);flex:none}.share-track{block-size:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.share-fill{block-size:100%;border-radius:999px;transition:inline-size .32s cubic-bezier(.2,.7,.3,1)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:720px){.sidebar-tools{justify-content:flex-start}.chart{block-size:140px}.page-head{flex-wrap:wrap;gap:10px}table{min-inline-size:560px}}
