@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Vazirmatn:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary:#f4f6fb;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#fff;--bg-glass:#f8fafc;--bg-subtle:#f1f5f9;--accent-primary:#2563eb;--accent-primary-dark:#1d4ed8;--accent-primary-soft:#eff4ff;--accent-secondary:#0891b2;--accent-green:#059669;--accent-orange:#ea580c;--accent-red:#dc2626;--accent-yellow:#d97706;--accent-violet:#7c3aed;--soft-blue:#eff4ff;--soft-cyan:#ecfeff;--soft-green:#ecfdf5;--soft-orange:#fff7ed;--soft-red:#fef2f2;--soft-yellow:#fffbeb;--soft-violet:#f5f3ff;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--border-color:#e5e9f0;--border-hover:#c7d4f5;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 8px 24px -6px #0f172a1a, 0 2px 6px #0f172a0a;--shadow-lg:0 24px 48px -12px #0f172a29;--shadow-glow:0 10px 30px -10px #2563eb40;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--transition:all .2s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border:2px solid var(--bg-primary);background:#cbd5e1;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-layout{min-height:100vh;display:flex}.main-content{max-width:100%;min-height:100vh;transition:var(--transition);flex:1;margin-inline-start:264px;padding:32px 40px}.sidebar{inset-inline-start:0;background:var(--bg-secondary);border-inline-end:1px solid var(--border-color);z-index:100;flex-direction:column;width:264px;height:100vh;display:flex;position:fixed;top:0;overflow-y:auto}.sidebar-logo{align-items:center;gap:12px;padding:24px 22px 20px;display:flex}.logo-mark{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 6px 16px -4px #2563eb73}.sidebar-logo h1{letter-spacing:-.02em;color:var(--text-primary);font-size:1.12rem;font-weight:800;line-height:1.2}.sidebar-logo p{color:var(--text-muted);white-space:nowrap;margin-top:1px;font-size:.74rem;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:8px 14px 20px;display:flex}.sidebar-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:6px;padding:14px 12px 6px;font-size:.66rem;font-weight:700}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:start;width:100%;transition:var(--transition);background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-size:.88rem;font-weight:600;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.nav-item.active{background:var(--accent-primary-soft);color:var(--accent-primary)}.nav-item.active:before{content:"";inset-inline-start:-14px;background:var(--accent-primary);border-start-end-radius:3px;border-end-end-radius:3px;width:3px;position:absolute;top:8px;bottom:8px}.nav-item .icon{justify-content:center;align-items:center;min-width:20px;display:flex}.sidebar-footer{border-top:1px solid var(--border-color);padding:14px}.user-pill{border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--border-color);align-items:center;gap:10px;padding:10px;display:flex}.user-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.8rem;font-weight:700;display:flex}.user-info{flex:1;min-width:0}.user-info .name{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.user-info .role{color:var(--text-secondary);text-transform:capitalize;font-size:.72rem}.icon-btn{cursor:pointer;color:var(--text-muted);transition:var(--transition);background:0 0;border:none;border-radius:8px;padding:7px;display:flex}.icon-btn:hover{background:var(--soft-red);color:var(--accent-red)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition);padding:24px}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.card-sm{border-radius:var(--radius-md);padding:18px}.card-glass{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);padding:20px}.card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.card-title{letter-spacing:-.01em;font-size:1rem;font-weight:700}.card-subtitle{color:var(--text-secondary);margin-top:2px;font-size:.8rem}.icon-tile{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.tile-blue{background:var(--soft-blue);color:var(--accent-primary)}.tile-cyan{background:var(--soft-cyan);color:var(--accent-secondary)}.tile-green{background:var(--soft-green);color:var(--accent-green)}.tile-orange{background:var(--soft-orange);color:var(--accent-orange)}.tile-red{background:var(--soft-red);color:var(--accent-red)}.tile-violet{background:var(--soft-violet);color:var(--accent-violet)}.tile-yellow{background:var(--soft-yellow);color:var(--accent-yellow)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition);padding:22px;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .icon{margin-bottom:14px;font-size:1.6rem}.stat-card .value{letter-spacing:-.02em;font-size:1.9rem;font-weight:800;line-height:1}.stat-card .label{color:var(--text-secondary);margin-top:8px;font-size:.78rem;font-weight:600}.hero-card{border-radius:var(--radius-xl);color:#fff;background:radial-gradient(circle at 85% 20%,#ffffff2e 0,#0000 40%),radial-gradient(circle at 70% 120%,#22d3ee73 0,#0000 50%),linear-gradient(120deg,#1d4ed8 0%,#2563eb 45%,#0891b2 100%);justify-content:space-between;align-items:center;gap:24px;padding:32px 36px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 40px -18px #2563eb8c}.hero-card h2{letter-spacing:-.02em;font-size:1.45rem;font-weight:800;line-height:1.25}.hero-card p{opacity:.88;max-width:520px;margin-top:8px;font-size:.92rem}.hero-card .hero-art{background:#ffffff24;border:1px solid #ffffff40;border-radius:32px;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.btn-white{color:var(--accent-primary);background:#fff;box-shadow:0 4px 14px #0f172a26}.btn-white:hover:not(:disabled){transform:translateY(-1px)}.btn-ghost-light{color:#fff;background:#ffffff24;border:1px solid #ffffff4d}.btn-ghost-light:hover:not(:disabled){background:#ffffff38}@media (width<=720px){.hero-card .hero-art{display:none}.hero-card{padding:24px}}.dash-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;display:grid}@media (width<=1100px){.dash-grid{grid-template-columns:1fr}}.action-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.action-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:inherit;transition:var(--transition);flex-direction:column;gap:14px;padding:20px;text-decoration:none;display:flex}.action-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-card .action-top{justify-content:space-between;align-items:flex-start;display:flex}.action-card .arrow{color:var(--text-muted);transition:var(--transition)}.action-card:hover .arrow{color:var(--accent-primary);transform:translate(2px,-2px)}.action-card .action-title{font-size:.95rem;font-weight:700}.action-card .action-desc{color:var(--text-secondary);margin-top:2px;font-size:.8rem}.service-list{flex-direction:column;display:flex}.service-row{border-bottom:1px dashed var(--border-color);align-items:center;gap:12px;padding:11px 0;display:flex}.service-row:last-child{border-bottom:none}.service-row .icon-tile{border-radius:10px;width:34px;height:34px}.service-row .service-name{flex:1;font-size:.85rem;font-weight:600}.tip-card{border-radius:var(--radius-md);background:var(--soft-yellow);color:#92400e;border:1px solid #fde68a;align-items:flex-start;gap:14px;padding:18px 20px;font-size:.86rem;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:0 6px 16px -6px #2563eb8c}.btn-primary:hover:not(:disabled){background:var(--accent-primary-dark);transform:translateY(-1px);box-shadow:0 10px 22px -8px #2563eb99}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--accent-primary-soft);border-color:var(--border-hover);color:var(--accent-primary)}.btn-danger{background:var(--soft-red);color:var(--accent-red);border:1px solid #fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-success{background:var(--soft-green);color:var(--accent-green);border:1px solid #a7f3d0}.btn-success:hover:not(:disabled){background:#d1fae5}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-lg{padding:13px 28px;font-size:.95rem}.btn-icon{border-radius:var(--radius-sm);padding:10px}.form-group{flex-direction:column;gap:7px;display:flex}.form-label{color:#334155;font-size:.8rem;font-weight:600}.form-input,.form-select,.form-textarea{background:var(--bg-card);border-radius:var(--radius-sm);color:var(--text-primary);transition:var(--transition);width:100%;box-shadow:var(--shadow-xs);border:1px solid #d8dee8;outline:none;padding:11px 14px;font-family:inherit;font-size:.9rem}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:#c2cad6}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px #2563eb1f}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.form-select option{color:var(--text-primary);background:#fff}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.page-header{margin-bottom:28px}.page-eyebrow{color:var(--text-muted);margin-bottom:4px;font-size:.78rem;font-weight:600}.page-title{letter-spacing:-.025em;font-size:1.75rem;font-weight:800;line-height:1.2}.page-title span{color:var(--accent-primary)}.page-subtitle{color:var(--text-secondary);margin-top:6px;font-size:.93rem}.badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.badge-critical{background:var(--soft-red);color:#b91c1c;border-color:#fecaca}.badge-high{background:var(--soft-orange);color:#c2410c;border-color:#fed7aa}.badge-medium{background:var(--soft-yellow);color:#b45309;border-color:#fde68a}.badge-low,.badge-normal{background:var(--soft-green);color:#047857;border-color:#a7f3d0}.badge-abnormal{background:var(--soft-red);color:#b91c1c;border-color:#fecaca}.badge-info{background:var(--soft-cyan);color:#0e7490;border-color:#a5f3fc}.chat-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);height:calc(100vh - 140px);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border-color);background:var(--bg-card);align-items:center;gap:14px;padding:18px 24px;display:flex}.chat-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;display:flex}.chat-messages{background:linear-gradient(#fafbfd 0%,#f6f8fc 100%);flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.message{gap:12px;max-width:80%;animation:.3s slideUp;display:flex}.message.user{flex-direction:row-reverse;margin-inline-start:auto}.message-bubble{border-radius:var(--radius-md);white-space:pre-wrap;padding:13px 17px;font-size:.9rem;line-height:1.6}.message.bot .message-bubble{border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px var(--radius-md) var(--radius-md) var(--radius-md);box-shadow:var(--shadow-xs);background:#fff}.message.user .message-bubble{background:var(--accent-primary);color:#fff;border-radius:var(--radius-md) 4px var(--radius-md) var(--radius-md);box-shadow:0 6px 16px -8px #2563eb99}.message-avatar{border-radius:10px;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:34px;height:34px;font-size:1rem;display:flex}.message.bot .message-avatar{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff}.message.user .message-avatar{background:var(--accent-primary-soft);color:var(--accent-primary)}.chat-input-area{border-top:1px solid var(--border-color);background:var(--bg-card);align-items:flex-end;gap:12px;padding:16px 20px;display:flex}.chat-input{background:var(--bg-glass);border-radius:var(--radius-md);min-width:0;color:var(--text-primary);resize:none;min-height:46px;max-height:140px;transition:var(--transition);border:1px solid #d8dee8;outline:none;flex:1;padding:12px 16px;font-family:inherit;font-size:.9rem;line-height:1.45;overflow-y:auto}.chat-input:focus{border-color:var(--accent-primary);background:#fff;box-shadow:0 0 0 4px #2563eb1f}.typing-indicator{align-items:center;gap:5px;padding:12px 16px;display:flex}.typing-dot{background:var(--accent-primary);border-radius:50%;width:8px;height:8px;animation:1.4s infinite bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.upload-zone{border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:var(--transition);background:var(--bg-glass);border:2px dashed #cdd6e3;padding:56px 40px}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent-primary);background:var(--accent-primary-soft)}.upload-icon{margin-bottom:14px;font-size:2.6rem}.upload-title{margin-bottom:6px;font-size:1.05rem;font-weight:700}.upload-hint{color:var(--text-secondary);font-size:.85rem}.table-container{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.87rem}th{background:var(--bg-glass);text-align:start;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:.72rem;font-weight:700}td{vertical-align:middle;border-bottom:1px solid #eef1f5;padding:14px 16px}tr:last-child td{border-bottom:none}tbody tr:hover td{background:#f8faff}.login-page{background:var(--bg-primary);grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-showcase{color:#fff;background:radial-gradient(circle at 15% 15%,#ffffff29 0,#0000 35%),radial-gradient(circle at 90% 90%,#22d3ee80 0,#0000 45%),linear-gradient(135deg,#1e3a8a 0%,#2563eb 55%,#0891b2 100%);flex-direction:column;justify-content:space-between;padding:48px 56px;display:flex;position:relative;overflow:hidden}.login-showcase .brand{align-items:center;gap:12px;font-size:1.15rem;font-weight:800;display:flex}.login-showcase .brand .logo-mark{box-shadow:none;background:#ffffff2e;border:1px solid #ffffff4d}.login-showcase h2{letter-spacing:-.03em;max-width:460px;font-size:2.2rem;font-weight:800;line-height:1.15}.login-showcase .lead{opacity:.85;max-width:440px;margin-top:14px;font-size:.98rem}.login-features{grid-template-columns:1fr 1fr;gap:12px;max-width:480px;margin-top:32px;display:grid}.login-feature{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:.84rem;font-weight:600;display:flex}.login-showcase .foot{opacity:.7;font-size:.78rem}.login-form-side{justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-card{width:100%;max-width:420px;animation:.5s fadeInUp}.login-logo{margin-bottom:28px}.login-logo h1{letter-spacing:-.025em;font-size:1.7rem;font-weight:800}.login-logo p{color:var(--text-secondary);margin-top:6px;font-size:.92rem}.login-mobile-brand{align-items:center;gap:10px;margin-bottom:24px;font-weight:800;display:none}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-showcase{display:none}.login-mobile-brand{display:flex}}.alert{border-radius:var(--radius-sm);border:1px solid;border-inline-start-width:4px;padding:13px 16px;font-size:.87rem;animation:.3s slideUp}.alert-error{background:var(--soft-red);border-color:#fecaca;border-inline-start-color:var(--accent-red);color:#991b1b}.alert-success{background:var(--soft-green);border-color:#a7f3d0;border-inline-start-color:var(--accent-green);color:#065f46}.alert-info{background:var(--soft-blue);border-color:#c7d7fe;border-inline-start-color:var(--accent-primary);color:#1e40af}.alert-warning{background:var(--soft-yellow);border-color:#fde68a;border-inline-start-color:var(--accent-yellow);color:#92400e}.spinner{border:3px solid #2563eb26;border-top-color:var(--accent-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.btn-primary .spinner{border-color:#fff #ffffff59 #ffffff59}.loading-overlay{min-height:200px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.analysis-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);margin-bottom:16px;padding:20px}.analysis-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary);margin-bottom:12px;font-size:.75rem;font-weight:800}.system-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.system-item{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:var(--transition);padding:16px}.system-item:hover{border-color:var(--border-hover);background:#fff}.system-item-name{text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.8rem;font-weight:700}.system-item-text{color:var(--text-secondary);font-size:.82rem;line-height:1.55}.priority-critical{color:var(--accent-red)}.priority-high{color:var(--accent-orange)}.priority-medium{color:var(--accent-yellow)}.priority-low{color:var(--accent-green)}.gradient-purple{background:linear-gradient(135deg,#eff4ff,#fff)}.gradient-cyan{background:linear-gradient(135deg,#ecfeff,#fff)}.gradient-green{background:linear-gradient(135deg,#ecfdf5,#fff)}.gradient-orange{background:linear-gradient(135deg,#fff7ed,#fff)}.feature-status{border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.feature-status.online{background:var(--soft-green);color:#047857}.feature-status.offline{background:var(--soft-red);color:#b91c1c}.feature-status.partial{background:var(--soft-yellow);color:#b45309}.status-dot{background:currentColor;border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}.divider{border:none;border-top:1px solid var(--border-color);margin:24px 0}.tab-nav{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:12px;gap:4px;width:fit-content;margin-bottom:24px;padding:4px;display:flex}.tab-btn{cursor:pointer;color:var(--text-secondary);transition:var(--transition);background:0 0;border:none;border-radius:9px;padding:8px 18px;font-family:inherit;font-size:.85rem;font-weight:700}.tab-btn.active{color:var(--accent-primary);box-shadow:var(--shadow-sm);background:#fff}.tab-btn:hover:not(.active){color:var(--text-primary)}.leaflet-popup-content-wrapper{box-shadow:var(--shadow-md);border-radius:12px;font-family:inherit}.leaflet-container{border-radius:var(--radius-md);font-family:inherit}.lang-switch{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:10px;align-items:center;gap:2px;padding:3px;display:flex}.lang-switch-icon{color:var(--text-muted);flex-shrink:0;margin:0 6px}.lang-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;padding:5px 8px;font-family:Vazirmatn,Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:700}.lang-btn:hover:not(.active){color:var(--text-primary)}.lang-btn.active{color:var(--accent-primary);box-shadow:var(--shadow-sm);background:#fff}.sidebar-lang{margin-bottom:10px}.login-lang{top:20px;z-index:2;position:absolute;inset-inline-end:24px}.login-form-side{position:relative}[dir=rtl] body,[dir=rtl] button,[dir=rtl] input,[dir=rtl] select,[dir=rtl] textarea{font-family:Vazirmatn,Plus Jakarta Sans,Tahoma,sans-serif}[dir=rtl] body{line-height:1.8}[dir=rtl] .page-title,[dir=rtl] .sidebar-logo h1,[dir=rtl] .hero-card h2,[dir=rtl] .login-showcase h2,[dir=rtl] .sidebar-section-label,[dir=rtl] th,[dir=rtl] .badge,[dir=rtl] .analysis-section-title,[dir=rtl] .system-item-name{letter-spacing:0}[dir=rtl] .flip-rtl{transform:scaleX(-1)}[dir=rtl] .action-card:hover .arrow{transform:scaleX(-1)translate(2px,-2px)}[dir=rtl] .message.bot .message-bubble{border-radius:var(--radius-md) 4px var(--radius-md) var(--radius-md)}[dir=rtl] .message.user .message-bubble{border-radius:4px var(--radius-md) var(--radius-md) var(--radius-md)}.ltr,[dir=rtl] input[type=number],[dir=rtl] input[type=email]{direction:ltr;unicode-bidi:plaintext}[dir=rtl] input[type=email]::placeholder{text-align:end}.message-bubble,.ai-text{text-align:start;unicode-bidi:plaintext}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce{0%,80%,to{opacity:.3;transform:scale(0)}40%{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.text-center{text-align:center}.text-sm{font-size:.85rem}.text-muted{color:var(--text-secondary)}.text-success{color:var(--accent-green)}.text-danger{color:var(--accent-red)}.text-primary{color:var(--accent-primary)}.font-bold{font-weight:700}.w-full{width:100%}.mobile-topbar,.sidebar-backdrop,.sidebar-close{display:none}.logo-mark-sm{border-radius:10px;width:32px;height:32px}@media (width<=1024px){.main-content{margin-inline-start:0;padding:80px 16px 20px}.mobile-topbar{top:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:90;background:#ffffffeb;align-items:center;gap:12px;height:60px;padding:0 12px;display:flex;position:fixed;inset-inline:0}.topbar-menu-btn{border:1px solid var(--border-color);width:42px;height:42px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;display:flex}.topbar-menu-btn:active{background:var(--bg-subtle)}.topbar-brand{align-items:center;gap:10px;font-size:1.02rem;font-weight:800;display:flex}.sidebar{width:min(300px,86vw);box-shadow:none;z-index:110;transition:transform .25s cubic-bezier(.4,0,.2,1);transform:translate(-100%)}[dir=rtl] .sidebar{transform:translate(100%)}.sidebar.open,[dir=rtl] .sidebar.open{box-shadow:var(--shadow-lg);transform:translate(0)}.sidebar-close{margin-inline-start:auto;display:flex}.sidebar-backdrop{opacity:0;pointer-events:none;z-index:105;background:#0f172a73;transition:opacity .25s;display:block;position:fixed;inset:0}.sidebar-backdrop.show{opacity:1;pointer-events:auto}body.nav-locked{overflow:hidden}}@media (width<=900px){.layout-split{grid-template-columns:minmax(0,1fr)!important}.layout-split>*{min-width:0}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.grid-4{grid-template-columns:repeat(2,1fr)!important}}@media (width<=640px){.page-title{font-size:1.4rem}.page-subtitle{font-size:.88rem}.card{border-radius:var(--radius-md);padding:18px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{padding:16px}.stat-card .value{font-size:1.5rem}.hero-card{flex-direction:column;align-items:flex-start}.hero-card h2{font-size:1.2rem}.hero-actions .btn{flex:1}.action-grid{grid-template-columns:1fr}.tab-nav{width:100%;overflow-x:auto}.tab-btn{white-space:nowrap;flex:1}.chat-container{border-radius:var(--radius-lg);height:calc(100dvh - 150px)}.message{max-width:92%}.chat-input-area{padding:12px}.upload-zone{padding:36px 20px}.login-form-side{padding:72px 16px 32px}.login-lang{top:16px;inset-inline-end:16px}}.chat-send-btn{border-radius:12px;flex-shrink:0;width:46px;height:46px;padding:0}.chat-input-area{align-items:flex-end}.chat-page{flex-direction:column;display:flex}.chat-page .chat-container{min-height:0}@media (width<=1024px){input,select,textarea,.form-input,.form-select,.form-textarea,.chat-input{font-size:16px!important}html,body{max-width:100%;overflow-x:hidden}.main-content{min-width:0}.page-header.flex{flex-wrap:wrap;gap:12px}img,canvas,svg,video{max-width:100%}.table-container{-webkit-overflow-scrolling:touch}.chat-page{height:calc(min(var(--vvh,100dvh), 100dvh) - 96px);margin:-8px 0 0}.chat-page-header{margin-bottom:10px;flex-wrap:nowrap!important}.chat-page-header .page-title{font-size:1.15rem}.chat-page-header .page-subtitle{display:none}.chat-page .chat-container{border-radius:var(--radius-lg);flex:1;height:auto}.chat-page .chat-header{padding:10px 14px}.chat-page .chat-avatar{border-radius:11px;width:36px;height:36px;font-size:1.05rem}.chat-page .chat-messages{gap:12px;padding:14px 12px}.chat-page .chat-input-area{padding:10px;padding-bottom:max(10px, env(safe-area-inset-bottom));gap:8px}.chat-disclaimer{padding:7px 10px;line-height:1.4;margin-top:8px!important;font-size:.7rem!important}}@media (width<=420px){.hide-xs,.chat-page .message-avatar{display:none}.chat-page .message{max-width:95%}}@media (width<=1024px) and (height<=540px){.chat-page-header,.chat-disclaimer,.chat-page .chat-header{display:none!important}.chat-page{height:calc(min(var(--vvh,100dvh), 100dvh) - 76px);margin-top:-12px}}@media (width<=1024px){.main-content :has(>table){-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.main-content table{min-width:560px}html.kb-open .chat-page{top:var(--vvtop,0px);height:var(--vvh,100dvh);z-index:95;background:var(--bg-primary);margin:0;padding:6px 8px;position:fixed;left:0;right:0}html.kb-open .chat-page-header,html.kb-open .chat-disclaimer,html.kb-open .chat-page .chat-header{display:none!important}html.kb-open .chat-page .chat-container{flex:1;height:auto}html.kb-open .chat-page .chat-input-area{padding-bottom:8px}}.leaflet-container{isolation:isolate;z-index:0}@media (width<=1024px){.mobile-topbar{z-index:1000}.sidebar-backdrop{z-index:1050}.sidebar{z-index:1100}html.kb-open .chat-page{z-index:1001}.tab-nav{scrollbar-width:none;flex-wrap:nowrap}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{flex:none}}@media (width<=640px){.main-content{padding-left:14px;padding-right:14px}.page-header,.mb-6{margin-bottom:18px}.card{padding:16px}.card h2,.card-title{font-size:1rem}.stat-card{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:14px;display:grid}.stat-card>.icon{grid-row:span 2;margin:0;font-size:1.35rem;line-height:1}.stat-card>.value{font-size:1.35rem}.stat-card>.label{margin-top:2px;font-size:.72rem;line-height:1.3}.action-card{flex-direction:row;align-items:center;gap:12px;padding:14px}.action-card .action-top{order:0}.action-card .action-top .arrow{display:none}.action-card .icon-tile{width:40px;height:40px}.action-card .action-title{font-size:.9rem}.lab-panels{padding:12px;position:static!important}.lab-panels-title{display:none}.lab-panel-list{scrollbar-width:none;gap:8px;margin:0 -12px;padding:0 12px 2px;display:flex;overflow-x:auto}.lab-panel-list::-webkit-scrollbar{display:none}.lab-panel-list .nav-item{white-space:nowrap;border:1px solid var(--border-color);border-radius:999px;flex:none;width:auto;padding:8px 12px;font-size:.82rem;margin:0!important}.lab-panel-list .nav-item.active:before{display:none}.lab-panel-list .nav-item.active{border-color:var(--accent-primary)}.lab-panels .divider{margin:12px 0}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.kpi-grid>div{padding:12px!important}.kpi-value{font-size:1.35rem!important}.empty-result{min-height:160px!important;padding:20px!important}.main-content form .btn-primary,.main-content .btn-lg{width:100%}.chat-page .chat-header{display:none}.chat-input::placeholder{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-disclaimer{font-size:.68rem!important}}@media (width<=1024px){html.chat-route,html.chat-route body{overscroll-behavior:none;height:100%;overflow:hidden}html.chat-route .chat-page{left:0;right:0;top:calc(var(--vvtop,0px) + 60px);height:calc(var(--vvh,100dvh) - 60px);padding:10px 12px max(8px, env(safe-area-inset-bottom));z-index:50;background:var(--bg-primary);margin:0;position:fixed}html.chat-route .chat-page .chat-container{flex:1;height:auto;min-height:0}html.chat-typing .chat-page{top:var(--vvtop,0px);height:var(--vvh,100dvh);z-index:1001;padding:6px 8px}html.chat-typing .chat-page-header,html.chat-typing .chat-disclaimer{display:none!important}}
