@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap";:root{--tt-ink: #1a1a1a;--tt-ink-soft: #2a2a2a;--tt-ink-mid: #3a3a3a;--tt-teal: #3a3a3a;--tt-teal-bright: #525252;--tt-teal-glow: rgba(0, 0, 0, .06);--tt-amber: #737373;--tt-amber-soft: rgba(0, 0, 0, .04);--tt-danger: #b54a3f;--tt-danger-soft: rgba(181, 74, 63, .08);--tt-success: #4a7c59;--tt-success-soft: rgba(74, 124, 89, .08);--tt-info: #525252;--tt-info-soft: rgba(0, 0, 0, .04);--tt-canvas: #f5f5f4;--tt-canvas-deep: #f0f0ef;--tt-surface: #ffffff;--tt-surface-muted: #f7f7f6;--tt-border: rgba(0, 0, 0, .06);--tt-border-strong: rgba(0, 0, 0, .12);--tt-text: #1a1a1a;--tt-text-muted: #6b6b6b;--tt-text-faint: #9a9a9a;--tt-text-on-ink: #f5f5f4;--tt-text-on-ink-muted: #a3a3a3;--tt-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--tt-shadow-md: 0 4px 16px rgba(0, 0, 0, .06);--tt-shadow-lg: 0 12px 32px rgba(0, 0, 0, .08);--tt-radius-sm: 8px;--tt-radius: 12px;--tt-radius-lg: 16px;--tt-sidebar-w: 240px;--tt-header-h: 56px;--tt-font-display: "Manrope", "Noto Sans Arabic", system-ui, sans-serif;--tt-font-body: "Manrope", "Noto Sans Arabic", system-ui, sans-serif;--tt-ease: ease}html[lang=ar],html[lang=ar] body{--tt-font-display: "Noto Sans Arabic", "Manrope", system-ui, sans-serif;--tt-font-body: "Noto Sans Arabic", "Manrope", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;font-family:var(--tt-font-body);font-size:15px;line-height:1.5;color:var(--tt-text);background:var(--tt-canvas);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--tt-font-display);letter-spacing:-.02em;color:var(--tt-text);font-weight:650}button,input,select,textarea{font-family:inherit}a{color:var(--tt-text)}.page{max-width:1400px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-title{margin:0;font-size:clamp(1.35rem,2vw,1.65rem);font-weight:650}.page-subtitle{margin:4px 0 0;color:var(--tt-text-muted);font-size:.9rem}.tt-card{background:var(--tt-surface);border:1px solid var(--tt-border);border-radius:var(--tt-radius)}.tt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:var(--tt-radius-sm);border:none;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s,opacity .15s}.tt-btn-primary{background:var(--tt-ink);color:#fff}.tt-btn-primary:hover{background:#333}.tt-btn-ghost{background:var(--tt-surface);color:var(--tt-text);border:1px solid var(--tt-border-strong)}.tt-btn-ghost:hover{background:var(--tt-surface-muted)}.tt-input{width:100%;padding:10px 12px;border:1px solid var(--tt-border-strong);border-radius:var(--tt-radius-sm);background:var(--tt-surface);color:var(--tt-text);font-size:14px;outline:none}.tt-input:focus{border-color:var(--tt-ink)}.tt-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:600;background:var(--tt-surface-muted);color:var(--tt-text-muted)}.tt-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.tt-stat{padding:18px;background:var(--tt-surface);border:1px solid var(--tt-border);border-radius:var(--tt-radius)}@keyframes tt-rise{0%{opacity:0}to{opacity:1}}@keyframes tt-spin{to{transform:rotate(360deg)}}@keyframes tt-pulse{0%,to{opacity:1}50%{opacity:.45}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--tt-canvas)}.auth-panel{width:100%;max-width:400px;background:var(--tt-surface);border:1px solid var(--tt-border);border-radius:var(--tt-radius);overflow:hidden}.auth-brand{padding:28px 28px 22px;background:var(--tt-ink);color:var(--tt-text-on-ink)}.auth-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;margin-bottom:12px;background:#333;font-weight:700;font-size:16px;color:#fff}.auth-brand h1{margin:0;font-size:1.4rem;font-weight:650;color:#fff}.auth-brand p{margin:4px 0 0;color:var(--tt-text-on-ink-muted);font-size:.875rem}.auth-form{padding:24px 28px 28px;display:flex;flex-direction:column;gap:14px}.auth-form h2{margin:0 0 2px;font-size:1.2rem;font-weight:650}.auth-error{background:var(--tt-danger-soft);border:1px solid rgba(181,74,63,.2);color:var(--tt-danger);padding:10px 12px;border-radius:var(--tt-radius-sm);font-size:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:13px;font-weight:600;color:var(--tt-text-muted)}.auth-footer{text-align:center;font-size:14px;color:var(--tt-text-muted);margin:0}.auth-footer a{color:var(--tt-text);font-weight:600;text-decoration:underline;text-underline-offset:2px}@media (max-width: 480px){.auth-brand,.auth-form{padding-left:20px;padding-right:20px}}.tt-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));background:#0006;overflow:auto;overscroll-behavior:contain}.tt-modal{width:min(640px,100%);max-height:min(92dvh,860px);display:flex;flex-direction:column;background:var(--tt-surface);border:1px solid var(--tt-border);border-radius:var(--tt-radius);box-shadow:var(--tt-shadow-lg);overflow:hidden;margin:auto}.tt-modal--sm{width:min(440px,100%)}.tt-modal--md{width:min(560px,100%)}.tt-modal--lg{width:min(720px,100%)}.tt-modal-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--tt-border)}.tt-modal-header h2,.tt-modal-title{margin:0;font-size:1.1rem;font-weight:650;color:var(--tt-text)}.tt-modal-close{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--tt-text-faint);cursor:pointer;font-size:18px;display:grid;place-items:center}.tt-modal-close:hover{background:var(--tt-surface-muted);color:var(--tt-text)}.tt-modal-body{flex:1 1 auto;overflow-y:auto;padding:16px 20px;-webkit-overflow-scrolling:touch}.tt-modal-footer{flex-shrink:0;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--tt-border)}.tt-modal-footer .tt-btn,.tt-modal-footer button{min-width:100px}.tt-modal-form{display:grid;grid-template-columns:1fr;gap:12px}.tt-field{display:flex;flex-direction:column;gap:6px;min-width:0}.tt-field label,.tt-field-label{font-size:13px;font-weight:600;color:var(--tt-text-muted)}.tt-field-hint{font-size:11px;color:var(--tt-text-faint);line-height:1.4}.tt-field-span-2{grid-column:1 / -1}@media (min-width: 560px){.tt-modal-form--2col{grid-template-columns:1fr 1fr;gap:12px 14px}}@media (max-width: 559px){.tt-modal{width:100%;max-height:min(94dvh,100%)}.tt-modal-footer{flex-direction:column-reverse}.tt-modal-footer .tt-btn,.tt-modal-footer button{width:100%;min-width:0}}@supports not (height: 100dvh){.tt-modal{max-height:90vh}}.genesis-fab{position:fixed;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;padding:12px 18px;background:var(--tt-ink);color:#fff;border:none;border-radius:999px;cursor:pointer;box-shadow:var(--tt-shadow-md);transition:background .15s;z-index:900;font-weight:600;font-family:var(--tt-font-body)}.genesis-fab:hover{background:#333;transform:none;box-shadow:var(--tt-shadow-md)}.genesis-fab-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.genesis-panel{position:fixed;bottom:20px;right:20px;width:400px;max-height:600px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;z-index:900;overflow:hidden}.genesis-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--tt-ink);color:#fff}.genesis-title{display:flex;align-items:center;gap:12px}.genesis-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.genesis-title h3{margin:0;font-size:16px;font-weight:600}.genesis-subtitle{font-size:12px;opacity:.8}.genesis-controls{display:flex;align-items:center;gap:12px}.llm-toggle{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.llm-toggle input{cursor:pointer}.genesis-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.genesis-close:hover{background:#fff3}.genesis-messages{flex:1;overflow-y:auto;padding:20px;background:var(--tt-surface-muted)}.genesis-welcome{text-align:center;padding:20px 0}.genesis-welcome h4{margin:0 0 8px;color:#333}.genesis-welcome p{margin:0 0 20px;color:#666;font-size:14px}.genesis-quick-actions{display:flex;flex-direction:column;gap:8px}.genesis-quick-actions button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;text-align:left;font-size:14px;transition:all .2s}.genesis-quick-actions button:hover{background:#f0f0f0;border-color:var(--tt-teal)}.genesis-message{margin-bottom:16px}.genesis-message-content{display:flex;gap:12px;align-items:flex-start}.genesis-message.assistant .genesis-message-content{flex-direction:row}.genesis-message.user .genesis-message-content{flex-direction:row-reverse}.genesis-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--tt-ink);border-radius:50%;color:#fff;flex-shrink:0}.genesis-bubble{max-width:80%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.5}.genesis-message.assistant .genesis-bubble{background:#fff;color:#333;border:1px solid #e0e0e0;border-top-left-radius:4px}.genesis-message.user .genesis-bubble{background:var(--tt-ink);color:#fff;border-top-right-radius:4px}.genesis-text{white-space:pre-wrap;line-height:1.6}.genesis-text strong{font-weight:600;color:var(--tt-teal)}.genesis-text em{font-style:italic}.genesis-text br{display:block;content:"";margin-top:8px}.genesis-suggestions{margin-top:12px;display:flex;flex-direction:column;gap:8px}.genesis-suggestion{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;text-align:left;font-size:13px;color:var(--tt-teal);transition:all .2s}.genesis-suggestion:hover{background:#e0e0e0}.genesis-typing{display:flex;gap:4px;padding:8px 0}.genesis-typing span{width:8px;height:8px;background:var(--tt-teal);border-radius:50%;animation:typing 1.4s infinite}.genesis-typing span:nth-child(2){animation-delay:.2s}.genesis-typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.genesis-input{display:flex;padding:16px 20px;background:#fff;border-top:1px solid #e0e0e0;gap:12px}.genesis-input input{flex:1;padding:10px 16px;border:1px solid #e0e0e0;border-radius:24px;font-size:14px;outline:none}.genesis-input input:focus{border-color:var(--tt-teal)}.genesis-input button{padding:10px 20px;background:var(--tt-ink);color:#fff;border:none;border-radius:24px;cursor:pointer;font-weight:600;transition:opacity .2s}.genesis-input button:hover:not(:disabled){opacity:.9}.genesis-input button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 767px){.genesis-fab{bottom:20px;right:16px;padding:14px;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;z-index:900}.genesis-fab-text{display:none}.genesis-panel{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;max-height:100vh;border-radius:0;z-index:905}.genesis-header{padding:12px 16px;min-height:56px}.genesis-title h3{font-size:16px}.genesis-subtitle{font-size:11px}.genesis-icon svg{width:20px;height:20px}.genesis-messages{padding:16px 16px 80px}.genesis-message{margin-bottom:12px}.genesis-message-content{gap:8px}.genesis-avatar{width:28px;height:28px}.genesis-avatar svg{width:14px;height:14px}.genesis-bubble{max-width:85%;padding:10px 14px;font-size:14px}.genesis-text{line-height:1.5}.genesis-text strong{font-weight:600}.genesis-suggestions{margin-top:10px;gap:6px}.genesis-suggestion{padding:8px 12px;font-size:13px;border-radius:8px}.genesis-input{position:fixed;bottom:0;left:0;right:0;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e0e0e0;gap:10px;z-index:910}.genesis-input input{padding:12px 16px;font-size:16px;border-radius:24px}.genesis-input button{padding:12px 20px;font-size:14px;white-space:nowrap}.genesis-welcome{padding:16px 0}.genesis-welcome h4{font-size:18px;margin-bottom:8px}.genesis-welcome p{font-size:14px;margin-bottom:20px}.genesis-quick-actions{gap:10px}.genesis-quick-actions button{padding:14px 16px;font-size:14px}.genesis-close{width:36px;height:36px;font-size:22px}.llm-toggle{font-size:12px;gap:4px}.llm-toggle input{width:16px;height:16px}}@media (max-width: 375px){.genesis-bubble{max-width:88%;padding:10px 12px;font-size:13px}.genesis-suggestion{font-size:12px;padding:8px 10px}.genesis-input input{font-size:16px}.genesis-input button{padding:10px 16px;font-size:13px}}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--tt-sidebar-w);background:var(--tt-ink);color:var(--tt-text-on-ink);display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid rgba(255,255,255,.06);transition:transform .25s ease;z-index:40}.logo{padding:20px 16px 16px;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer}.logo:hover{background:#ffffff08}.logo-row{display:flex;align-items:center;gap:10px}.logo-mark,.logo-img{width:36px;height:36px;border-radius:8px;flex-shrink:0}.logo-mark{display:grid;place-items:center;background:#333;font-weight:700;font-size:15px;color:#fff}.logo-img{object-fit:contain;background:#ffffff0f}.logo h1{font-size:.95rem;font-weight:650;margin:0;color:#fff;line-height:1.2}.logo .logo-meta{font-size:11px;color:var(--tt-text-on-ink-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.nav{flex:1;padding:12px 10px;overflow-y:auto;scrollbar-width:thin}.nav-section-label{font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#a3a3a3bf;padding:12px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;margin-bottom:2px;background:none;border:none;border-radius:8px;color:var(--tt-text-on-ink-muted);font-size:14px;font-weight:500;cursor:pointer;text-align:left;transition:background .15s,color .15s}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:#ffffff1a;color:#fff}.nav-icon{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;color:inherit;background:transparent}.nav-item.active .nav-icon{background:transparent;color:inherit}.nav-label{white-space:nowrap}.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}.sidebar-help,.sidebar-signout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:9px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--tt-text-on-ink-muted);transition:background .15s,color .15s}.sidebar-help:hover,.sidebar-signout:hover{background:#ffffff0f;color:#fff}.sidebar-user{font-size:12px;color:var(--tt-text-on-ink-muted);text-align:center}.connection-status{padding:6px;font-size:12px;color:var(--tt-text-on-ink-muted);display:flex;align-items:center;gap:8px;justify-content:center}.status-dot{width:7px;height:7px;border-radius:50%}.status-dot.loading{background:#a3a3a3;animation:tt-pulse 1.5s infinite}.status-dot.connected{background:#6b6b6b}.status-dot.disconnected{background:var(--tt-danger)}.main-content{flex:1;overflow:auto;background:var(--tt-canvas);padding:24px}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:var(--tt-header-h);background:var(--tt-ink);color:#fff;align-items:center;justify-content:space-between;padding:0 14px;z-index:1000;border-bottom:1px solid rgba(255,255,255,.08)}.mobile-logo{display:flex;align-items:center;gap:10px;cursor:pointer}.mobile-logo h1{font-size:.95rem;font-weight:650;margin:0;color:#fff}.mobile-logo span{font-size:10px;color:var(--tt-text-on-ink-muted);text-transform:uppercase;letter-spacing:.06em}.mobile-menu-btn{width:40px;height:40px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#fff;cursor:pointer;display:grid;place-items:center}.mobile-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:998}.app-loading{min-height:100vh;display:grid;place-items:center;background:var(--tt-canvas)}.app-loading-inner{text-align:center}.app-spinner{width:32px;height:32px;border:2px solid var(--tt-border-strong);border-top-color:var(--tt-ink);border-radius:50%;animation:tt-spin .7s linear infinite;margin:0 auto 12px}.app-loading p{color:var(--tt-text-muted);font-size:14px;margin:0}@media (max-width: 767px){.app-container{flex-direction:column;padding-top:var(--tt-header-h)}.mobile-header{display:flex}.sidebar.mobile{position:fixed;top:var(--tt-header-h);left:0;bottom:0;width:min(280px,86vw);z-index:999;transform:translate(-105%)}.sidebar.mobile.open{transform:translate(0)}.mobile-overlay{display:block}.main-content{padding:16px 14px 80px}button{min-height:44px}input,select,textarea{font-size:16px;min-height:44px}.main-content>div{padding:0!important}}@media (min-width: 768px) and (max-width: 1023px){.sidebar{width:220px}.main-content{padding:20px}}.loading-skeleton{background:linear-gradient(90deg,#eee 25%,#e4e4e4,#eee 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:6px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.tip-bubble{opacity:0;visibility:hidden;transition:opacity .12s ease}.tip-wrap:hover .tip-bubble,.tip-wrap:focus-within .tip-bubble,.tip-bubble[data-pinned=true]{opacity:1;visibility:visible}@media (max-width: 900px){.dashboard-live-layout{grid-template-columns:1fr!important}}.lang-switcher{display:inline-flex;gap:4px;align-items:center}.lang-switcher--sidebar{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:4px;margin-bottom:4px}.lang-switcher--auth .lang-btn{background:#ffffff14;color:#a3a3a3;border:1px solid rgba(255,255,255,.12);min-height:32px;padding:6px 10px;font-size:12px}.lang-switcher--auth .lang-btn.active{background:#ffffff29;color:#fff}.lang-btn{flex:1;border:none;background:transparent;color:var(--tt-text-on-ink-muted);border-radius:6px;padding:7px 8px;font-size:12px;font-weight:650;cursor:pointer;min-height:32px}.lang-btn.active{background:#ffffff1f;color:#fff}.lang-btn:hover{color:#fff}
