/* ============================================================================
   ENTERPRISE INTELLIGENT INDUSTRIAL ERP CORE SUITE - NEXT-GEN INDUSTRIAL MATRIX
   Architectural Framework: High-Density Workspace, Fluid MDI & Autonomous AI Layers
   Design Paradigm: Modernized Industrial Elegance, Enhanced Contrast & Glassmorphic Depths
   Zero-Dependency Policy: Built purely using standard native modern browser Web APIs.
   Directional Flow: Right-to-Left (RTL) Globally Integrated System
   ============================================================================ */

/* ----------------------------------------------------------------------------
   PART 1: ADVANCED DESIGN TOKEN MATRIX & HARMONIZED SYSTEM VARIABLES
   ---------------------------------------------------------------------------- */
:root {
    /* Fluid Canvas Mechanics & Semantic Core Scales */
    --win-bg: #cbd5e1;
    --win-panel: #ffffff;
    --win-panel-hover: #f1f5f9;
    --win-border: #475569;
    --win-border-light: #cbd5e1;
    --win-border-focus: #1d4ed8;
    --win-header-start: #ffffff;
    --win-header-end: #e2e8f0;
    
    /* Maximum Legibility High-Contrast Text Tokens (WCAG AAA) */
    --win-text: #020617;
    --win-text-secondary: #0f172a;
    --win-text-muted: #334155;
    --win-text-inv: #ffffff;
    
    /* High-Contrast Interactive URL & Link Palette */
    --win-link: #0369a1;
    --win-link-hover: #0284c7;
    --win-link-visited: #4338ca;
    --win-link-active: #0c4a6e;
    --win-link-selected: #fef08a; /* Canary Yellow link over dark blue selection */
    
    /* Selection & Column Highlighting Palette */
    --win-selected-blue: #1d4ed8;
    --win-selected-bg: #1e40af;
    --win-selected-text: #ffffff;
    --win-selected-subtext: #e2e8f0;
    --win-selected-hover: #1d4ed8;
    --win-selected-cell: #dbeafe;
    --win-accent-teal: #0f766e;
    
    /* Radius Standards */
    --radius-xs: 2px;
    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 10px;
    --radius-xl: 16px;

    /* Semantic Data Engine Core Colors - High Contrast WCAG AAA */
    --state-unreviewed: #dcfce7;
    --state-unreviewed-txt: #052e16;
    --state-full: #d1fae5;
    --state-full-txt: #022c22;
    --state-partial: #ffe4e6;
    --state-partial-txt: #4c0519;
    --state-partial-approved: #fef3c7;
    --state-partial-approved-text: #451a03;
    --state-block: #991b1b;
    --state-block-txt: #ffffff;

    /* Priority Rails & Service Level Agreements (SLA) */
    --color-sla-complaint: #be123c;
    --color-sla-24: #c2410c;
    --color-sla-48: #475569;
    --color-green-ok: #047857;

    /* Autonomous Intelligence Layer (AI Hub) Tokens */
    --ai-accent: #6d28d9;
    --ai-accent-hover: #5b21b6;
    --ai-accent-active: #4c1d95;
    --ai-accent-light: #f3e8ff;
    --ai-text-dark: #2e1065;
    --ai-border: rgba(109, 40, 217, 0.4);
    --glass-bg: rgba(15, 23, 42, 0.94);
    --glass-blur: blur(20px);

    /* Ultra-Precise Industrial Shadow System */
    --shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, 0.08);
    --shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.12), 0 2px 4px -2px rgba(15, 23, 42, 0.08);
    --shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, 0.15), 0 4px 6px -4px rgba(15, 23, 42, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, 0.2), 0 8px 10px -6px rgba(15, 23, 42, 0.15);
    --panel-glow: 0 0 25px 0 rgba(109, 40, 217, 0.18);

    /* Mobile Interaction Defaults */
    --mobile-tap-height: 40px;
    --safe-area-bottom: env(safe-area-inset-bottom, 0px);
}

/* ----------------------------------------------------------------------------
   PART 2: MICRO-RESET & COMPACT SYSTEM TYPOGRAPHY
   ---------------------------------------------------------------------------- */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Vazirmatn', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 12px;
    letter-spacing: -0.01em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html, body {
    height: 100%;
    height: 100dvh;
    width: 100%;
    overflow: hidden;
    background-color: var(--win-bg);
    color: var(--win-text);
    direction: rtl;
}

body {
    display: flex;
    flex-direction: column;
    user-select: none;
    touch-action: manipulation;
    text-rendering: optimizeLegibility;
}

input, select, textarea, button {
    outline: none;
    font-family: inherit;
    color: var(--win-text);
    font-size: 12px;
}

label {
    color: var(--win-text-secondary);
    font-weight: 700;
}

/* High Contrast Link Defaults Across Desktop & Windows */
a, .url-link, [data-link] {
    color: var(--win-link);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 700;
    transition: color 0.15s ease, background-color 0.15s ease;
    word-break: break-word;
}

a:hover, .url-link:hover, [data-link]:hover {
    color: var(--win-link-hover);
    background-color: rgba(3, 105, 161, 0.08);
    border-radius: var(--radius-xs);
}

a:visited {
    color: var(--win-link-visited);
}

::selection {
    background-color: #2563eb;
    color: #ffffff;
}

/* ----------------------------------------------------------------------------
   PART 3: PREMIUM INDUSTRIAL HIGH-DENSITY SCROLLBARS
   ---------------------------------------------------------------------------- */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 100px;
    border: 2px solid #f1f5f9;
    transition: background 0.2s ease;
}

::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

::-webkit-scrollbar-corner {
    background: #f1f5f9;
}

.dark-scrollbar::-webkit-scrollbar-track {
    background: #0f172a;
}

.dark-scrollbar::-webkit-scrollbar-thumb {
    background: #475569;
    border: 2px solid #0f172a;
}

.dark-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* ----------------------------------------------------------------------------
   PART 4: COMPACT COMMAND RIBBON & FLUID CONTEXT FLOATING DROPDOWNS
   ---------------------------------------------------------------------------- */
#ribbon-layer-wrapper {
    position: relative;
    z-index: 1000;
    background: #ece9d8;
    border-bottom: 1px solid #aca899;
    box-shadow: inset 0 1px 0 #fff;
    flex-shrink: 0;
}

.win-menu-ribbon {
    display: flex;
    padding: 2px 8px;
    gap: 4px;
    align-items: center;
    min-height: 42px;
    overflow: visible !important;
}

.menu-node-anchor {
    position: relative;
    padding: 6px 12px;
    cursor: pointer;
    font-weight: 700;
    color: #000000;
    border-radius: var(--radius-xs);
    transition: all 0.15s ease;
    white-space: nowrap;
}

.menu-node-anchor:hover,
.menu-node-anchor:focus-within {
    background-color: #0a246a;
    color: #ffffff !important;
}

.menu-flyout-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 1px);
    right: 0;
    background-color: #f9f9f9;
    border: 1px solid #666666;
    border-radius: var(--radius-xs);
    min-width: 290px;
    max-width: 90vw;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
    z-index: 10000000 !important;
    padding: 3px 2px;
}

.menu-node-anchor:hover .menu-flyout-dropdown,
.menu-node-anchor:focus-within .menu-flyout-dropdown {
    display: block;
    animation: menuSpringIn 0.14s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes menuSpringIn {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

.menu-flyout-row {
    padding: 6px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: var(--radius-xs);
    cursor: pointer;
    transition: background 0.1s ease;
    color: #000000;
    font-weight: 700;
    text-decoration: none;
}

.menu-flyout-row:hover {
    background-color: #0a246a;
    color: #ffffff !important;
}

.menu-flyout-row a {
    color: inherit;
    text-decoration: none;
}

.cascading-menu-node {
    position: relative;
}

.cascading-sub-dropdown {
    display: none;
    position: absolute;
    right: calc(100% + 2px);
    top: -4px;
    background-color: #f9f9f9;
    border: 1px solid #666666;
    border-radius: var(--radius-xs);
    min-width: 240px;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
    padding: 3px 2px;
}

.cascading-menu-node:hover .cascading-sub-dropdown {
    display: block;
    animation: menuSpringIn 0.12s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ----------------------------------------------------------------------------
   PART 5: REAL-TIME SYSTEM ACTION BAR & COMPACT BUTTON MATRIX
   ---------------------------------------------------------------------------- */
.system-action-bar {
    background-color: #f8fafc;
    border-bottom: 1px solid var(--win-border-light);
    padding: 6px 12px;
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 44px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

#system-environment-label-badge {
    margin-right: auto;
    font-weight: 700;
    color: var(--win-text-secondary);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #ffffff;
    padding: 5px 12px;
    border-radius: var(--radius-md);
    border: 1px solid var(--win-border);
    box-shadow: var(--shadow-sm);
}

.active-status-dot-indicator {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--color-green-ok);
    border-radius: 50%;
    position: relative;
}

.active-status-dot-indicator::after {
    content: '';
    position: absolute;
    width: 100%; height: 100%;
    background: inherit;
    border-radius: inherit;
    animation: pulseRing 2s cubic-bezier(0.24, 0, 0.38, 1) infinite;
}

@keyframes pulseRing {
    0% { transform: scale(1); opacity: 0.8; }
    100% { transform: scale(3); opacity: 0; }
}

.dx-btn {
    background: linear-gradient(to bottom, #ffffff 0%, #f1f5f9 100%);
    border: 1px solid var(--win-border);
    padding: 6px 14px;
    cursor: pointer;
    border-radius: var(--radius-md);
    font-weight: 700;
    color: var(--win-text-secondary);
    transition: all 0.15s ease;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: var(--shadow-sm);
    min-height: 32px;
}

.dx-btn:hover {
    background: linear-gradient(to bottom, #f8fafc 0%, #e2e8f0 100%);
    border-color: #334155;
    color: var(--win-text);
}

.dx-btn:focus {
    box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.3);
    border-color: var(--win-border-focus);
}

.dx-btn:active {
    background: #e2e8f0;
    transform: scale(0.98);
}

.dx-btn-blue {
    background: linear-gradient(to bottom, #3b82f6 0%, #1d4ed8 100%);
    color: #ffffff !important;
    border-color: #1e40af;
}

.dx-btn-blue:hover {
    background: linear-gradient(to bottom, #2563eb 0%, #1e40af 100%);
    border-color: #1e3a8a;
    color: #ffffff !important;
}

/* ----------------------------------------------------------------------------
   PART 6: INTEGRATED RUNNING TICKER ALERT CHANNEL
   ---------------------------------------------------------------------------- */
.system-integrated-ticker-hub {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    border: 1px solid var(--win-border);
    padding: 4px 10px;
    border-radius: var(--radius-md);
    flex: 1;
    max-width: 550px;
    overflow: hidden;
    height: 32px;
    box-shadow: var(--shadow-sm);
}

.ticker-badge-pulse {
    background: linear-gradient(135deg, var(--ai-accent) 0%, var(--ai-accent-hover) 100%);
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
    letter-spacing: 0.02em;
}

.ticker-text-wrapper-track {
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
}

.ticker-text-wrapper-track span {
    display: inline-block;
    color: var(--ai-accent-active);
    font-weight: 700;
}

/* ----------------------------------------------------------------------------
   PART 7: MDI WORKSPACE CANVAS & BACKDROP SYSTEMS
   ---------------------------------------------------------------------------- */
.mdi-desktop-canvas {
    flex: 1 1 auto;
    position: relative;
    background: radial-gradient(circle at 50% 50%, #f8fafc 0%, #cbd5e1 100%) !important;
    padding: 16px !important;
    overflow-y: auto !important;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 14px;
    -webkit-overflow-scrolling: touch;
}

.bsanco-backdrop-active {
    background: linear-gradient(135deg, #0f172a 0%, #020617 100%) !important;
}

.dashboard-header-summary {
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
    border: 1px solid var(--win-border-light);
    padding: 14px 18px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.dashboard-welcome-title h1 {
    font-size: 17px;
    font-weight: 800;
    color: var(--win-text);
    margin-bottom: 4px;
}

.dashboard-welcome-title p {
    color: var(--win-text-muted);
    font-size: 12px;
    font-weight: 600;
}

.bsanco-logo-watermark {
    position: absolute;
    bottom: 24px;
    right: 24px;
    pointer-events: none;
    opacity: 0.05;
    z-index: 1;
}

.bsanco-logo-text {
    font-size: 46px;
    font-weight: 900;
    color: var(--win-text);
    letter-spacing: -0.03em;
}

.bsanco-logo-sub {
    font-size: 11px;
    color: var(--win-text);
    letter-spacing: 5px;
    font-weight: 700;
}

.bsanco-system-parameters-wall {
    position: absolute;
    top: 20px;
    left: 20px;
    font-family: 'Consolas', 'Courier New', monospace;
    color: var(--win-text);
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    pointer-events: none;
    opacity: 0.2;
    z-index: 1;
}

/* ----------------------------------------------------------------------------
   PART 8: PREMIUM HIGH-PERFORMANCE CARDS GRID
   ---------------------------------------------------------------------------- */
.premium-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    width: 100%;
    z-index: 2;
}

.premium-erp-card {
    background: var(--win-panel);
    border: 1px solid var(--win-border-light);
    border-radius: var(--radius-lg);
    padding: 16px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    min-height: 150px;
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.premium-erp-card:hover {
    transform: translateY(-2px);
    border-color: #64748b;
    box-shadow: 0 12px 24px -4px rgba(15, 23, 42, 0.12);
}

.card-glow-element {
    position: absolute;
    top: 0; right: 0; left: 0;
    height: 4px;
    background: transparent;
    transition: background 0.25s ease;
}

.premium-erp-card:hover .card-glow-element { background: var(--win-selected-blue); }
.premium-erp-card.ai-card-highlight .card-glow-element { background: linear-gradient(90deg, #7c3aed, #c084fc); }

.card-main-content-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.card-header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.card-header-title-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.card-header-icon-bullet {
    width: 8px; height: 8px;
    border-radius: 50%;
}
.bullet-persons { background: #2563eb; }
.bullet-companies { background: #059669; }
.bullet-projects { background: #0284c7; }
.bullet-ai { background: var(--ai-accent); }

.card-caption-text { font-weight: 800; color: var(--win-text); font-size: 12.5px; }
.card-status-dot { font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 100px; }
.status-online { background: #dcfce7; color: #14532d; }
.status-sync { background: #dbeafe; color: #1e40af; }
.status-ai { background: var(--ai-accent-light); color: var(--ai-accent-active); }

.card-counter-display {
    font-size: 28px;
    font-weight: 900;
    color: var(--win-text);
    font-family: 'Consolas', monospace;
    margin-bottom: 6px;
    line-height: 1.1;
}
.card-counter-display small { font-size: 12px; color: var(--win-text-muted); font-weight: 600; margin-right: 4px; }

.card-insights-box {
    font-size: 11.5px;
    color: var(--win-text-secondary);
    font-weight: 600;
    line-height: 1.5;
    background: #f8fafc;
    padding: 8px 10px;
    border-radius: var(--radius-md);
    border: 1px solid var(--win-border-light);
}

.card-launcher-actions { 
    display: grid; 
    grid-template-columns: repeat(2, 1fr); 
    gap: 8px; 
    margin-top: auto; 
    padding-top: 10px; 
}

.card-btn-link {
    background: #ffffff; 
    border: 1px solid var(--win-border-light); 
    padding: 7px; 
    border-radius: var(--radius-md);
    text-align: center; 
    font-weight: 700; 
    color: var(--win-text-secondary); 
    cursor: pointer; 
    transition: all 0.15s ease;
    text-decoration: none;
}
.card-btn-link:hover { 
    background: #f1f5f9; 
    border-color: #0f172a; 
    color: var(--win-text); 
}

/* ----------------------------------------------------------------------------
   PART 9: GLASSMORPHIC AI INTUITION SIDEBAR
   ---------------------------------------------------------------------------- */
.ai-agent-sidebar {
    position: fixed;
    top: 90px;
    left: 20px;
    width: 380px;
    height: calc(100vh - 170px);
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl), var(--panel-glow);
    z-index: 999;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}

.ai-agent-sidebar.ai-collapsed-state {
    transform: translateX(-420px);
    opacity: 0;
    pointer-events: none;
}

.ai-sidebar-header {
    background: linear-gradient(135deg, rgba(109, 40, 217, 0.4) 0%, rgba(15, 23, 42, 0.6) 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    padding: 12px 16px;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ai-header-title-text { display: flex; flex-direction: column; gap: 2px; }
.ai-header-title-text strong { font-size: 13px; color: #ffffff; font-weight: 800; }
.ai-header-subtitle-status { font-size: 10px; color: #e9d5ff; font-family: monospace; font-weight: 700; letter-spacing: 0.05em; }

.ai-pulse-dot {
    width: 8px; height: 8px; background: #10b981; border-radius: 50%;
    box-shadow: 0 0 10px #10b981; animation: aiPulse 2s infinite;
}

@keyframes aiPulse {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6); }
    70% { transform: scale(1); box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

.ai-toggle-minimize-btn {
    font-size: 12px; cursor: pointer;
    background: rgba(255, 255, 255, 0.12); width: 28px; height: 28px;
    display: flex; justify-content: center; align-items: center; border-radius: var(--radius-sm);
    color: #ffffff; transition: background 0.2s ease;
}
.ai-toggle-minimize-btn:hover { background: rgba(255, 255, 255, 0.25); }

.ai-chat-scroller {
    flex: 1; padding: 14px; overflow-y: auto;
    display: flex; flex-direction: column; gap: 12px;
    background: transparent;
}

.chat-message-row { display: flex; gap: 10px; width: 100%; }
.row-agent { align-items: flex-start; direction: rtl; }
.row-user { direction: ltr; }

.chat-avatar-badge-icon {
    width: 30px; height: 30px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 11px; flex-shrink: 0;
}
.badge-icon-ai { background: rgba(124, 58, 237, 0.4); color: #f3e8ff; border: 1px solid rgba(192, 132, 252, 0.4); }
.badge-icon-user { background: rgba(51, 65, 85, 0.8); color: #ffffff; border: 1px solid rgba(203, 213, 225, 0.4); }

.chat-bubble { max-width: 84%; padding: 12px 14px; border-radius: var(--radius-lg); font-size: 12px; line-height: 1.6; text-align: justify; }
.bubble-agent { background: rgba(30, 41, 59, 0.95); color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.15); border-right: 3px solid #c084fc; direction: rtl; }
.bubble-agent a { color: #38bdf8 !important; text-decoration: underline; font-weight: 700; }
.bubble-user { background: var(--ai-accent); color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.2); border-left: 3px solid #e9d5ff; direction: rtl; margin-left: auto; }
.bubble-user a { color: #fef08a !important; text-decoration: underline; font-weight: 700; }

.bubble-meta { font-size: 10px; font-weight: 700; opacity: 0.8; margin-bottom: 4px; display: block; color: #cbd5e1; }

.ai-quick-chips-wrapper { padding: 10px 14px; background: rgba(15, 23, 42, 0.6); border-top: 1px solid rgba(255, 255, 255, 0.1); display: flex; gap: 8px; overflow-x: auto; }
.ai-action-chip { background: rgba(30, 41, 59, 0.9); border: 1px solid rgba(255, 255, 255, 0.15); padding: 6px 12px; border-radius: 100px; font-weight: 700; color: #e2e8f0; cursor: pointer; white-space: nowrap; transition: all 0.15s ease; }
.ai-action-chip:hover { background: var(--ai-accent); color: #ffffff; border-color: #e9d5ff; }

.ai-input-form-wrapper { padding: 10px; background: rgba(15, 23, 42, 0.8); border-top: 1px solid rgba(255, 255, 255, 0.1); display: flex; gap: 8px; align-items: center; }
.ai-chat-input { flex: 1; height: 38px !important; border-radius: var(--radius-md) !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; padding: 0 12px !important; background: rgba(30, 41, 59, 0.9) !important; color: #ffffff !important; font-size: 12px !important; font-weight: 600 !important; }
.ai-chat-input::placeholder { color: #94a3b8; }
.ai-chat-input:focus { border-color: #c084fc !important; box-shadow: 0 0 0 2px rgba(192, 132, 252, 0.3); }
.ai-send-btn { background: var(--ai-accent); color: #ffffff; border: none; padding: 0 16px; height: 38px; border-radius: var(--radius-md); font-weight: 700; cursor: pointer; transition: background 0.15s ease; }
.ai-send-btn:hover { background: var(--ai-accent-hover); }

.ai-floating-reopen-trigger-badge {
    position: fixed; left: 24px; bottom: 50px;
    background: linear-gradient(135deg, var(--ai-accent) 0%, var(--ai-accent-hover) 100%);
    color: #ffffff; padding: 10px 18px; border-radius: var(--radius-md); font-weight: 800; cursor: pointer;
    box-shadow: var(--shadow-xl), var(--panel-glow); display: flex; align-items: center; gap: 8px;
    z-index: 998; transform: translateY(160px); opacity: 0;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s;
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.ai-floating-reopen-trigger-badge.badge-active { transform: translateY(0); opacity: 1; }

/* ----------------------------------------------------------------------------
   PART 10: CLASSIC HIGH-DENSITY MDI WINDOW MATRIX MANAGEMENT
   ---------------------------------------------------------------------------- */
.winforms-window-frame {
    position: absolute;
    background-color: #ffffff;
    border: 1px solid var(--win-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    display: flex;
    flex-direction: column;
    resize: both;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.winforms-window-frame:focus-within {
    border-color: #020617;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.35);
}

.winforms-window-frame.window-maximized-state {
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    border-radius: 0 !important;
    resize: none !important;
    border: none !important;
}

.window-caption-title-strip {
    background: linear-gradient(to bottom, #ffffff 0%, #e2e8f0 100%);
    padding: 8px 14px;
    font-weight: 800;
    color: var(--win-text) !important;
    border-bottom: 1px solid var(--win-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: move;
    touch-action: none;
    min-height: 38px;
}

.window-caption-title-strip span {
    color: var(--win-text) !important;
    font-weight: 800;
    font-size: 13px;
}

.window-action-buttons {
    display: flex;
    gap: 4px;
    align-items: center;
}

.win-min-btn, .win-max-btn, .win-close-btn {
    width: 26px;
    height: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    font-weight: 800;
    border-radius: var(--radius-sm);
    font-size: 11px;
    color: var(--win-text-secondary);
    transition: all 0.15s ease;
}
.win-min-btn:hover, .win-max-btn:hover { background-color: #cbd5e1; color: var(--win-text); }
.win-close-btn:hover { background-color: #dc2626; color: #ffffff; }

.window-body-container-viewport {
    flex: 1 1 auto;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow: auto;
    background-color: #ffffff;
    min-height: 0;
}

/* ----------------------------------------------------------------------------
   PART 11: SPLITTER DYNAMICS & MULTI-PANE VIEWPORTS
   ---------------------------------------------------------------------------- */
.splitter-wrapper-horizontal {
    display: flex;
    flex: 1;
    gap: 10px;
    height: 100%;
    min-height: 0;
}

.splitter-inner-panel-block {
    background-color: var(--win-panel);
    border: 1px solid var(--win-border-light);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.splitter-inner-caption {
    background: #f1f5f9;
    padding: 8px 12px;
    font-weight: 800;
    border-bottom: 1px solid var(--win-border-light);
    color: var(--win-text);
    font-size: 12px;
}

/* ----------------------------------------------------------------------------
   PART 12: DATA ENGINE ARCHITECTURE - RESOLVED SELECTION & URL LEGIBILITY
   ---------------------------------------------------------------------------- */
.dx-grid-holder {
    border: 1px solid var(--win-border);
    background-color: var(--win-panel);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    flex: 1;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.dx-drag-and-drop-group-bar {
    background: #f1f5f9;
    padding: 8px 12px;
    border-bottom: 1px solid var(--win-border-light);
    color: var(--win-text-muted);
    font-weight: 700;
}

.dx-data-matrix-table {
    width: 100%;
    border-collapse: collapse;
    text-align: right;
    white-space: nowrap;
}

.dx-data-matrix-table th {
    background: #f1f5f9;
    padding: 10px 12px;
    font-weight: 800;
    color: var(--win-text);
    border-left: 1px solid var(--win-border-light);
    border-bottom: 2px solid var(--win-border);
    position: sticky;
    top: 0;
    z-index: 10;
}

.dx-data-matrix-table td {
    padding: 8px 12px;
    border-left: 1px solid var(--win-border-light);
    border-bottom: 1px solid var(--win-border-light);
    color: var(--win-text);
    font-weight: 600;
    transition: background-color 0.1s ease;
}

.dx-data-matrix-table tr:nth-child(even) { background-color: #f8fafc; }
.dx-data-matrix-table tr:hover { background-color: #e2e8f0; }

/* Normal State Table Links */
.dx-data-matrix-table td a,
.dx-data-matrix-table td .url-text {
    color: var(--win-link) !important;
    text-decoration: underline;
    font-weight: 700;
}
.dx-data-matrix-table td a:hover,
.dx-data-matrix-table td .url-text:hover {
    color: var(--win-link-hover) !important;
}

/* ============================================================================
   RESOLVED ACTIVE ROW SELECTION: ZERO CLASH HIGH-CONTRAST INVERSION
   ============================================================================ */
.dx-data-matrix-table tr.active-selected-row,
.dx-data-matrix-table tr.active-selected-row:hover {
    background-color: var(--win-selected-bg) !important; /* Deep Royal Navy #1e40af */
    color: var(--win-selected-text) !important;           /* Pure White #ffffff */
}

.dx-data-matrix-table tr.active-selected-row td,
.dx-data-matrix-table tr.active-selected-row:hover td {
    color: var(--win-selected-text) !important;
    font-weight: 700;
    border-bottom-color: #1d4ed8;
}

/* Selected Row URL/Link Contrast Fix */
.dx-data-matrix-table tr.active-selected-row td a,
.dx-data-matrix-table tr.active-selected-row td .url-text,
.dx-data-matrix-table tr.active-selected-row td a span {
    color: var(--win-link-selected) !important; /* High-contrast canary yellow #fef08a */
    text-decoration: underline !important;
    font-weight: 800 !important;
}

.dx-data-matrix-table tr.active-selected-row td a:hover,
.dx-data-matrix-table tr.active-selected-row td .url-text:hover {
    color: #ffffff !important;
    background-color: rgba(254, 240, 138, 0.2);
}

.dx-data-matrix-table tr.active-selected-row td .state-tag-pill {
    box-shadow: 0 0 0 1px #ffffff;
}

/* ----------------------------------------------------------------------------
   PART 13: MODERNIZED MATRIX SEMANTIC PILLS & SLA RAILS
   ---------------------------------------------------------------------------- */
.state-tag-pill {
    padding: 3px 8px;
    border-radius: var(--radius-sm);
    font-size: 11px;
    font-weight: 800;
    display: inline-block;
    border: 1px solid transparent;
    line-height: 1.3;
}

.pill-state-0 { background-color: var(--state-unreviewed); color: var(--state-unreviewed-txt); border-color: #86efac; }
.pill-state-1 { background-color: var(--state-partial-approved); color: var(--state-partial-approved-text); border-color: #fde047; }
.pill-state-2 { background-color: var(--state-partial); color: var(--state-partial-txt); border-color: #fca5a5; }
.pill-state-3 { background-color: var(--state-full); color: var(--state-full-txt); border-color: #6ee7b7; }
.pill-state-4 { background-color: var(--state-block); color: var(--state-block-txt); border-color: #991b1b; }

.row-indicator-complaint { border-right: 4px solid var(--color-sla-complaint) !important; background-color: #fff1f2 !important; }
.row-indicator-24 { border-right: 4px solid var(--color-sla-24) !important; background-color: #fff7ed !important; }
.row-indicator-48 { border-right: 4px solid var(--color-sla-48) !important; }

/* ----------------------------------------------------------------------------
   PART 14: MICRO INDUSTRIAL INPUT COMPONENT DESIGN & LOCALISED REGIONS
   ---------------------------------------------------------------------------- */
.filter-ribbon-group-box {
    background-color: var(--win-panel);
    border: 1px solid var(--win-border-light);
    padding: 8px 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.filter-item-cell {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.filter-item-cell label { font-weight: 700; color: var(--win-text-secondary); }

.win-form-input {
    padding: 5px 10px;
    border: 1px solid var(--win-border-light);
    border-radius: var(--radius-md);
    min-height: 34px;
    background-color: #ffffff;
    color: var(--win-text);
    font-weight: 600;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.win-form-input:focus { border-color: var(--win-border-focus); box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.2); }
.win-form-input[readonly] { background-color: #f1f5f9; color: var(--win-text-muted); cursor: not-allowed; }

.ir-plate-container {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--win-border);
    background-color: #ffffff;
    height: 34px;
    border-radius: var(--radius-md);
    direction: ltr;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.ir-plate-blue-band { width: 18px; height: 100%; background-color: #1d4ed8; }
.ir-plate-input-2 { width: 32px; text-align: center; border: none; height: 100%; font-weight: 800; font-size: 13px; }
.ir-plate-letter { width: 38px; border: none; font-weight: 800; font-size: 13px; text-align: center; background: #f1f5f9; height: 100%; }
.ir-plate-input-3 { width: 38px; text-align: center; border: none; font-weight: 800; font-size: 13px; height: 100%; }
.ir-plate-divider { width: 1px; background-color: #cbd5e1; height: 100%; }

/* ----------------------------------------------------------------------------
   PART 15: HIERARCHICAL ACCESS TREE STRUCTURES
   ---------------------------------------------------------------------------- */
.tree-view-viewport {
    padding: 12px;
    overflow-y: auto;
    background-color: #ffffff;
    flex: 1;
    border: 1px solid var(--win-border-light);
    border-radius: var(--radius-md);
}

.tree-node-item {
    margin-right: 20px;
    margin-top: 6px;
    position: relative;
}

.tree-node-caption { cursor: pointer; color: var(--win-text-secondary); font-weight: 600; transition: color 0.1s ease; }
.tree-node-caption:hover { color: var(--win-selected-blue); }
.tree-node-caption.has-children { font-weight: 800; color: #991b1b; }

.tree-node-item::before {
    content: "";
    position: absolute;
    right: -12px;
    top: 9px;
    width: 12px;
    height: 1px;
    background-color: #94a3b8;
}

/* ----------------------------------------------------------------------------
   PART 16: DYNAMIC HIGH-CONTRAST METRIC PROGRESS INDICATORS
   ---------------------------------------------------------------------------- */
.dx-progress-bar-container {
    width: 100%;
    height: 18px;
    background-color: #e2e8f0;
    border: 1px solid var(--win-border-light);
    position: relative;
    border-radius: 100px;
    overflow: hidden;
}

.dx-progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #059669 0%, #047857 100%);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 100px;
}

.dx-progress-bar-text {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    text-align: center; font-size: 10px; font-weight: 800; color: var(--win-text); line-height: 16px;
}

/* ----------------------------------------------------------------------------
   PART 17: RASTER TELEMETRY ANALYSIS PILLARS
   ---------------------------------------------------------------------------- */
.telemetry-bars-frame-container {
    height: 95px;
    background-color: #f8fafc;
    border: 1px solid var(--win-border-light);
    border-radius: var(--radius-md);
    display: flex;
    align-items: flex-end;
    padding: 6px;
    gap: 4px;
    position: relative;
}

.telemetry-raster-gridline-y {
    position: absolute; left: 0; right: 0;
    border-top: 1px dashed #cbd5e1; z-index: 1;
}

.telemetry-day-pillar-fill {
    flex: 1; z-index: 2; position: relative; border-radius: 4px 4px 0 0;
    background-color: #94a3b8;
    transition: height 0.3s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease; cursor: pointer;
}
.telemetry-day-pillar-fill:hover { background-color: var(--win-selected-blue); }

.color-legend-container-strip {
    display: flex; border: 1px solid var(--win-border-light); background-color: #f8fafc; padding: 6px; gap: 6px; border-radius: var(--radius-md);
}

.legend-node-block {
    flex: 1; text-align: center; padding: 6px; font-weight: 700; border-radius: var(--radius-sm);
}

/* ----------------------------------------------------------------------------
   PART 18: TOAST DISPATCH ROUTER & ALERTS SUBSYSTEM
   ---------------------------------------------------------------------------- */
#toast-alert-hub {
    position: fixed;
    bottom: 50px;
    left: 20px;
    z-index: 1050;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 90vw;
}

.hub-toast-card {
    background-color: #ffffff;
    border-right: 4px solid var(--color-sla-24) !important;
    border: 1px solid var(--win-border);
    border-radius: var(--radius-md);
    padding: 12px 18px;
    box-shadow: var(--shadow-xl);
    animation: toastSpringIn 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    font-weight: 700;
    color: var(--win-text);
}

@keyframes toastSpringIn {
    from { transform: translateX(-120%) scale(0.9); opacity: 0; }
    to { transform: translateX(0) scale(1); opacity: 1; }
}

/* ----------------------------------------------------------------------------
   PART 19: FLUID MDI TASK MANAGER STRIP CHIPS
   ---------------------------------------------------------------------------- */
.mdi-bottom-taskbar-strip {
    background: #ffffff;
    border-top: 1px solid var(--win-border);
    display: flex;
    padding: 4px 12px 0 12px;
    gap: 4px;
    overflow-x: auto;
    min-height: 38px;
    flex-shrink: 0;
    -webkit-overflow-scrolling: touch;
}

.tab-chip-item {
    padding: 6px 14px;
    background: #f1f5f9;
    border: 1px solid var(--win-border-light);
    border-bottom: none;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    color: var(--win-text-muted);
    cursor: pointer;
    white-space: nowrap;
    font-weight: 700;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.tab-chip-item:hover { background: #cbd5e1; color: var(--win-text); }
.tab-chip-item.chip-item-active { background: #ffffff; color: var(--win-selected-blue); border-top: 2px solid var(--win-selected-blue); padding-bottom: 8px; }

/* ----------------------------------------------------------------------------
   PART 20: HIGH-CONTRAST SYSTEM INTEGRATION FOOTER STRIPS
   ---------------------------------------------------------------------------- */
.desktop-footer-strip-bar {
    background-color: #020617;
    color: #f8fafc;
    border-top: 1px solid #1e293b;
    padding: 6px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow-x: auto;
    white-space: nowrap;
    z-index: 1000;
    min-height: 34px;
    flex-shrink: 0;
}

.footer-cell-segment { display: flex; gap: 16px; align-items: center; font-weight: 600; }
.footer-cell-segment strong { color: #cbd5e1; }

.led-indicator-box {
    padding: 3px 8px; border: 1px solid #334155; background-color: #0f172a;
    color: #94a3b8; border-radius: var(--radius-sm); font-weight: 800; font-size: 10px;
}
.led-indicator-box.led-active {
    background-color: rgba(16, 185, 129, 0.2); color: #34d399; border-color: rgba(52, 211, 153, 0.4);
}

/* ----------------------------------------------------------------------------
   PART 21: ADVANCED MODAL SIZING, FLEX SCROLL FIXES & MOBILE OVERLAYS
   ---------------------------------------------------------------------------- */
div[id*="modal-overlay"] {
    position: fixed;
    inset: 0;
    background-color: rgba(2, 6, 23, 0.72);
    backdrop-filter: blur(4px);
    z-index: 9500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

div[id*="modal-overlay"].hidden {
    display: none !important;
}

div[id*="modal-overlay"] > div {
    background-color: var(--win-panel);
    border: 1px solid var(--win-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    width: 100%;
    max-width: 1100px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

div[id*="modal-overlay"] .win32-titlebar {
    background: linear-gradient(to left, #0f172a, #1e293b);
    color: #ffffff;
    padding: 10px 16px;
    font-weight: 800;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--win-border-light);
    flex-shrink: 0;
}

div[id*="modal-overlay"] .flex-1.overflow-y-auto {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    padding: 16px;
}

div[id*="modal-overlay"] select[multiple] {
    height: 90px !important;
    min-height: 90px !important;
    font-size: 11px !important;
    padding: 6px !important;
}

/* ----------------------------------------------------------------------------
   PART 22: UI MICRO-INTERACTIONS & ADVANCED RESPONSIVE COMPRESSION RULES
   ---------------------------------------------------------------------------- */
.dragging-active * {
    user-select: none !important;
    pointer-events: none !important;
}

@media screen and (min-width: 1024px) {
    div[id*="modal-overlay"] [id*="-content-triad"] > .grid.grid-cols-1,
    div[id*="modal-overlay"] [id*="-content-triad"] .grid-cols-1 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    div[id*="modal-overlay"] .grid-cols-2 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media screen and (max-width: 1200px) {
    .ai-agent-sidebar {
        height: 380px;
        width: calc(100% - 32px);
        position: relative;
        top: 0; left: 0;
        margin: 12px auto;
    }
    .ai-agent-sidebar.ai-collapsed-state { display: none; }
    .ai-floating-reopen-trigger-badge { bottom: 50px; left: auto; right: 20px; }
}

@media screen and (max-width: 768px) {
    *, *::before, *::after {
        font-size: 11.5px;
    }

    .system-action-bar {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        padding: 8px 10px;
    }
    
    .system-integrated-ticker-hub {
        max-width: 100%;
        width: 100%;
    }
    
    .winforms-window-frame {
        width: 100% !important;
        height: 100% !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        border-radius: 0 !important;
        position: fixed !important;
        resize: none !important;
    }

    .window-caption-title-strip {
        padding: 10px 12px;
    }

    .window-body-container-viewport {
        padding: 10px;
    }
    
    .splitter-wrapper-horizontal {
        flex-direction: column !important;
        overflow-y: auto;
    }
    
    .splitter-inner-panel-block {
        flex: none !important;
        min-height: 220px;
    }
    
    .menu-flyout-dropdown {
        width: 100%;
        position: fixed;
        top: 42px;
        left: 0;
        right: 0;
        border-radius: 0;
        max-height: calc(85vh - 42px);
        overflow-y: auto;
    }
    
    .card-launcher-actions {
        grid-template-columns: 1fr;
    }
    
    div[id*="modal-overlay"] {
        padding: 0;
    }
    
    div[id*="modal-overlay"] > div {
        max-height: 100dvh;
        height: 100dvh;
        border-radius: 0;
        border: none;
    }

    .dx-grid-holder {
        border-radius: var(--radius-sm);
    }

    .dx-data-matrix-table th,
    .dx-data-matrix-table td {
        padding: 8px 10px;
    }
}

@media screen and (max-width: 480px) {
    .premium-dashboard-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .win-form-input, .dx-btn {
        min-height: var(--mobile-tap-height);
    }

    .mdi-bottom-taskbar-strip {
        min-height: 42px;
        padding-bottom: var(--safe-area-bottom);
    }

    .tab-chip-item {
        padding: 8px 12px;
    }
}
/* BSANco v1 responsive MDI baseline */
.bsanco-window-frame,.mdi-window{inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border-radius:0!important;transform:none!important}
.bsanco-window-viewport{min-width:0!important;min-height:0!important;overflow:auto!important}
img,video,canvas,svg{max-width:100%;height:auto} table{max-width:100%} .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:768px){html,body{overflow:hidden}.bsanco-window-titlebar{min-height:44px}.win-chat-system-wrapper{flex-direction:column}.win-chat-system-wrapper>aside{width:100%!important;max-height:34vh}.win-chat-system-wrapper button,.win-chat-system-wrapper input,.win-chat-system-wrapper textarea{min-height:44px}.bsanco-child-modal-container{inset:0!important;width:100%!important;height:100%!important;border-radius:0!important}.grid{min-width:0}.overflow-hidden{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:768px){#btn-fab-trigger-ai-window{display:none!important}}

/* BSANco v1 readable navigation */
.bsanco-dropdown-open{background:#fff!important;color:#111827!important;border:1px solid #334155!important;box-shadow:0 18px 45px #0f172a47!important}
.bsanco-dropdown-open .dropdown-item{color:#0f172a!important;background:#fff!important;min-height:44px!important}.bsanco-dropdown-open .dropdown-item:hover{background:#dbeafe!important;color:#0a246a!important}
.bsanco-entity-link,[data-action^="open-"]{color:#075fc9!important;text-decoration:underline!important;text-underline-offset:3px!important;font-weight:800!important;cursor:pointer!important}
select,.custom-select-trigger{background:#fff!important;color:#111827!important;border-color:#64748b!important}select option{background:#fff!important;color:#111827!important}
@media(max-width:768px){.bsanco-dropdown-open{width:calc(100vw - 16px)!important;left:8px!important;right:8px!important}.win-mdi-header-bar{min-height:48px!important}}

/* BSANco v1 pass 5: Delphi geometry and readable actions */
.bsanco-entity-link,[data-action^="open-"]{text-decoration:none!important;border-bottom:0!important}
[data-window-module]{inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;border-radius:0!important}
.bsanco-child-modal-overlay{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.bsanco-child-modal-container{position:relative!important;inset:auto!important;width:90%!important;height:90%!important;border-radius:3px!important;border:2px solid #7f9db9!important;background:#ece9d8!important}.bsanco-child-modal-header{background:linear-gradient(90deg,#0a246a,#3a6ea5)!important;border-radius:0!important}
@media(max-width:640px){[data-window-module]{position:absolute!important;inset:0!important}.bsanco-child-modal-container{width:96%!important;height:94%!important}.win-mdi-header-bar{padding-inline:8px!important}.win-mdi-body-viewport{overflow:auto!important}}

.bsanco-voice-input-btn{display:inline-flex!important;align-items:center;justify-content:center;margin:4px 0;min-height:32px;padding:3px 10px;background:#ece9d8;color:#111;border:2px outset #fff;font:12px Tahoma}.bsanco-voice-input-btn:active{border-style:inset}

/* Final no-underline policy for all application text and interactive records. */
html body #bsanco-app-root a,html body #bsanco-app-root button,html body #bsanco-app-root [data-action],html body #bsanco-app-root .bsanco-entity-link,html body [data-window-module] a,html body [data-window-module] button,html body [data-window-module] [data-action],html body [data-window-module] .bsanco-entity-link{text-decoration:none!important;text-decoration-line:none!important;text-decoration-style:solid!important;border-bottom-color:transparent!important}

html,body,#bsanco-app-root,.bsanco-desktop-shell{height:100%!important;min-height:100dvh!important}#mdi-master-canvas{position:relative!important;flex:1 1 0!important;min-height:0!important;height:auto!important;overflow:hidden!important}

.bsanco-live-refreshing::after{content:'داده زنده بروزرسانی شد';position:absolute;left:8px;bottom:8px;z-index:90;background:#0a246acc;color:#fff;padding:4px 9px;border-radius:3px;font:10px Tahoma;pointer-events:none}.bsanco-live-refreshing{contain:layout style}

/* R11 shared workflow and responsive refinement */
.btn-details{display:none!important}.bsanco-clickable-record,.r11-record-card{cursor:pointer}.bsanco-clickable-record:hover,.bsanco-clickable-record:focus,.bsanco-clickable-record.is-selected,.r11-record-card:hover,.r11-record-card.is-selected{background:#dbeafe!important;outline:2px solid #2563eb;outline-offset:-2px}
.bsanco-voice-field{position:relative;display:inline-flex;align-items:stretch;width:100%}.bsanco-voice-field>input,.bsanco-voice-field>textarea{width:100%;padding-left:38px!important}.mic-btn{position:absolute;left:5px;top:50%;translate:0 -50%;z-index:8;width:28px;height:28px;display:grid!important;place-items:center;padding:0!important;border:1px solid #94a3b8!important;border-radius:8px!important;background:linear-gradient(#fff,#e2e8f0)!important;color:#0f172a!important;cursor:pointer}.is-textarea>.mic-btn{top:7px;translate:0}.mic-btn.is-listening{background:#e11d48!important;color:#fff!important;box-shadow:0 0 0 4px #fecdd3}.mic-pulse{position:absolute;inset:-4px;border:2px solid #fb7185;border-radius:10px;animation:r11Pulse 1s infinite}@keyframes r11Pulse{50%{opacity:.2;scale:1.15}}
.bsanco-searchable-select{position:relative;display:inline-flex;width:100%;min-width:120px}.bsanco-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.bsanco-select-trigger{display:flex!important;justify-content:space-between;align-items:center;width:100%;min-height:38px;padding:7px 10px!important;border:1px solid #94a3b8!important;border-radius:8px!important;background:#fff!important;color:#0f172a!important}.bsanco-select-panel{display:none;position:absolute;z-index:99999;inset-inline:0;top:calc(100% + 4px);padding:7px;background:#f8fafc;border:1px solid #94a3b8;border-radius:10px;box-shadow:0 12px 30px #0f172a33}.bsanco-searchable-select.is-open .bsanco-select-panel{display:block}.bsanco-select-search{width:100%;height:38px;padding:7px 40px 7px 9px!important;border:1px solid #94a3b8!important;border-radius:7px!important}.bsanco-select-options{display:grid;max-height:240px;overflow:auto;margin-top:6px}.bsanco-select-option{padding:8px!important;border:0!important;border-radius:6px!important;background:transparent!important;color:#0f172a!important;text-align:right!important}.bsanco-select-option:hover,.bsanco-select-option.is-selected,.bsanco-select-option.is-voice-match{background:#dbeafe!important;color:#1d4ed8!important}
.r11-flow-window,.r11-progress-window,.r11-qc-window{height:100%;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#f1f5f9;color:#0f172a;font-family:Tahoma,Arial,sans-serif}.r11-flow-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff}.r11-flow-head b{display:block;font-size:16px}.r11-flow-head small{display:block;margin-top:3px;color:#bfdbfe}.r11-flow-head button,.r11-actions button,.r11-progress-actions button,.r11-new-btn{min-height:38px;padding:8px 13px;border:0;border-radius:8px;background:#e2e8f0;color:#0f172a;font-weight:700}.r11-flow-tools,.r11-progress-select{display:flex;gap:9px;align-items:end;padding:10px 14px;background:#fff;border-bottom:1px solid #cbd5e1}.r11-flow-tools>input{flex:1;min-height:39px}.r11-rule{font-size:11px;color:#475569}.r11-flow-layout,.r11-qc-layout{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);flex:1;min-height:0}.r11-flow-layout>aside,.r11-qc-layout>aside{overflow:auto;padding:10px;background:#e2e8f0;border-left:1px solid #cbd5e1}.r11-flow-layout>main,.r11-qc-layout>main{overflow:auto;padding:14px}.r11-record-card{margin-bottom:8px;padding:10px;background:#fff;border:1px solid #cbd5e1;border-radius:10px}.r11-record-card header,.r11-record-card footer{display:flex;justify-content:space-between;gap:8px}.r11-record-card p{margin:8px 0}.r11-record-card small{color:#64748b}.r11-record-card [data-state],.r11-state,[data-state]{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:99px;background:#e2e8f0;font-size:11px}.r11-detail{max-width:1100px;margin:auto}.r11-detail>header,.r11-qc-form>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:16px;background:#fff;border:1px solid #cbd5e1;border-radius:12px}.r11-detail h2,.r11-qc-form h2{margin:4px 0}.r11-stepper{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:0;margin:16px 0;list-style:none}.r11-stepper.r11-four{grid-template-columns:repeat(4,1fr)}.r11-stepper.r11-qc-steps{grid-template-columns:repeat(5,1fr)}.r11-stepper li{position:relative;display:grid;justify-items:center;gap:5px;padding:9px;text-align:center;color:#64748b;background:#e2e8f0;border-radius:8px;font-size:11px}.r11-stepper li i{display:grid;place-items:center;width:25px;height:25px;border-radius:99px;background:#94a3b8;color:#fff}.r11-stepper li.done{background:#dcfce7;color:#166534}.r11-stepper li.done i{background:#16a34a}.r11-stepper li.current{outline:2px solid #2563eb}.r11-detail dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.r11-detail dl>div{padding:10px;background:#fff;border:1px solid #cbd5e1;border-radius:8px}.r11-detail dt{font-size:10px;color:#64748b}.r11-detail dd{margin:5px 0 0;font-weight:700}.r11-deadline,.r11-decision-box,.r11-success-box,.r11-description,.r11-result-form,.r11-result{margin:12px 0;padding:13px;background:#fff;border:1px solid #cbd5e1;border-radius:10px}.r11-deadline{border-color:#f59e0b;background:#fffbeb}.r11-deadline>*{display:block}.r11-deadline strong{font-size:25px;color:#b45309}.r11-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.r11-actions .primary,.r11-progress-actions .primary,.r11-new-btn{background:#2563eb;color:#fff}.r11-actions .success,.r11-progress-actions .success{background:#16a34a;color:#fff}.r11-actions .danger,.r11-progress-actions .danger{background:#dc2626;color:#fff}.r11-decision-box textarea,.r11-progress-actions textarea{width:100%;min-height:74px}.r11-file{display:grid;gap:5px;margin-top:8px}.r11-history article{display:flex;gap:8px;padding:9px;margin:6px 0;background:#fff;border-right:3px solid #2563eb}.r11-history article i{width:8px;height:8px;border-radius:99px;background:#2563eb}.r11-history p{margin:4px 0}.r11-empty-state,.r11-empty,.r11-error{padding:24px;text-align:center;color:#64748b}.r11-error{color:#b91c1c}.r11-progress-select label{display:grid;gap:4px;flex:1}.r11-progress-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px}.r11-progress-summary article{padding:12px;background:#fff;border-radius:10px}.r11-progress-summary b{display:block;font-size:24px}.r11-progress-summary i{display:block;height:7px;background:#e2e8f0;border-radius:9px;overflow:hidden}.r11-progress-summary i u{display:block;height:100%;background:#2563eb}.r11-progress-table{flex:1;overflow:auto;padding:0 12px}.r11-progress-table table,.r11-template-editor table{width:100%;border-collapse:collapse;background:#fff}.r11-progress-table th,.r11-progress-table td,.r11-template-editor th,.r11-template-editor td{padding:9px;border:1px solid #cbd5e1;text-align:right}.r11-progress-table input{width:100%;min-width:85px}.r11-progress-actions{display:flex;gap:8px;padding:12px;background:#fff}.r11-progress-actions textarea{flex:1;min-height:42px}.r11-info{padding:10px;background:#eff6ff;color:#1e40af}.r11-template-editor{position:absolute;inset:3%;z-index:200;background:#f8fafc;border:1px solid #64748b;border-radius:12px;box-shadow:0 22px 60px #0006;overflow:auto;padding:12px}.r11-template-editor[hidden]{display:none}.r11-template-editor header,.r11-template-editor footer,.r11-template-tools{display:flex;justify-content:space-between;gap:8px;padding:10px}.r11-template-editor .bad{color:#dc2626}.r11-qc-layout>aside>input{width:100%;margin:9px 0;min-height:39px}.r11-qc-form{max-width:1050px;margin:auto;padding:14px;background:#fff;border-radius:12px}.r11-qc-form>section{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.r11-qc-form label,.r11-result-form label{display:grid;gap:5px}.r11-qc-form .wide,.r11-result-form .wide{grid-column:1/-1}.r11-qc-form input,.r11-qc-form select,.r11-qc-form textarea,.r11-result-form input,.r11-result-form select,.r11-result-form textarea{min-height:40px;padding:8px;border:1px solid #94a3b8;border-radius:8px}.r11-qc-form textarea{min-height:90px}.r11-result.success{border-color:#16a34a;background:#f0fdf4}.r11-result.failed{border-color:#dc2626;background:#fef2f2}.r11-access-denied{height:100%;display:grid;place-content:center;text-align:center;padding:25px;background:#fff7ed;color:#7c2d12}.r11-access-denied>span{font-size:48px}
#r11-optimistic-panel{position:fixed;left:12px;bottom:68px;z-index:100000;width:min(360px,calc(100vw - 24px));max-height:45vh;overflow:auto;background:#fff;border:1px solid #93c5fd;border-radius:14px;box-shadow:0 18px 45px #0f172a33;direction:rtl}#r11-optimistic-panel[hidden]{display:none}#r11-optimistic-panel header{display:flex;justify-content:space-between;padding:10px;background:#eff6ff}#r11-optimistic-panel article{display:flex;gap:8px;padding:10px;border-top:1px solid #e2e8f0}#r11-optimistic-panel article i{width:9px;height:9px;margin-top:4px;border-radius:99px;background:#2563eb;animation:r11Pulse 1s infinite}#r11-optimistic-panel b,#r11-optimistic-panel small{display:block}
.r11-creation-overlay{position:fixed;inset:0;z-index:200000;display:grid;place-items:center;padding:2.5vw;background:#020617bb}.r11-creation-wizard{display:grid;grid-template-rows:auto auto 1fr auto;width:95vw;height:95vh;max-width:1280px;background:#f8fafc;border-radius:16px;overflow:hidden}.r11-creation-wizard>header,.r11-creation-wizard>footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;background:#0f172a;color:#fff}.r11-creation-wizard>nav{display:flex;gap:6px;padding:8px;background:#e2e8f0}.r11-creation-wizard>nav button.active{background:#2563eb;color:#fff}.r11-creation-wizard>main{overflow:auto;padding:10px}.field-invalid{border-color:#e11d48!important;box-shadow:0 0 0 2px #fecdd3!important}
@media(max-width:760px){.r11-flow-head{align-items:flex-start}.r11-flow-tools,.r11-progress-select{display:grid;grid-template-columns:1fr}.r11-flow-layout,.r11-qc-layout{grid-template-columns:1fr;overflow:auto}.r11-flow-layout>aside,.r11-qc-layout>aside{max-height:36vh;border-left:0;border-bottom:1px solid #cbd5e1}.r11-flow-layout>main,.r11-qc-layout>main{overflow:visible}.r11-detail dl{grid-template-columns:repeat(2,1fr)}.r11-stepper,.r11-stepper.r11-four,.r11-stepper.r11-qc-steps{display:flex;overflow-x:auto}.r11-stepper li{min-width:115px}.r11-progress-summary{grid-template-columns:1fr}.r11-progress-actions{display:grid}.r11-qc-form>section{grid-template-columns:1fr}.r11-qc-form .wide{grid-column:auto}.bsanco-select-panel{position:fixed;top:auto;bottom:8px;right:8px;left:8px;max-height:60vh}.bsanco-select-options{max-height:45vh}.r11-creation-overlay{padding:0}.r11-creation-wizard{width:100vw;height:100dvh;border-radius:0}.r11-creation-wizard>nav{overflow:auto}}


/* ============================================================================
   BSANco v2.5 consolidated modal, overflow and responsive window system
   ============================================================================ */
:root {
  --z-window-base: 100;
  --z-window-active: 500;
  --z-modal-backdrop: 9000;
  --z-modal-content: 9001;
  --z-modal-toast: 10000;
  --modal-gutter: clamp(8px, 2vw, 24px);
}

html, body { max-width: 100%; }
body.modal-open { overflow: hidden !important; overscroll-behavior: none; }
#app-modal-portal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal-backdrop);
  width: 0;
  height: 0;
  pointer-events: none;
  isolation: isolate;
}
#app-modal-portal > * { pointer-events: auto; }
#toast-alert-hub { z-index: var(--z-modal-toast) !important; }
.bsanco-window-frame, .mdi-window { z-index: var(--z-window-base); min-width: 0; min-height: 0; }

[data-bsanco-modal][popover] {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: var(--modal-gutter) !important;
  border: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: rgba(2, 6, 23, .72) !important;
  backdrop-filter: blur(4px);
  z-index: calc(var(--z-modal-backdrop) + var(--bsanco-modal-depth, 0)) !important;
  place-items: center;
  align-items: center;
  justify-content: center;
}
[data-bsanco-modal][popover]:popover-open { display: flex !important; }
[data-bsanco-modal][popover].hidden { display: none !important; }
[data-bsanco-modal] > .bsanco-modal-dialog {
  width: min(1100px, calc(100vw - (2 * var(--modal-gutter)))) !important;
  max-width: calc(100vw - (2 * var(--modal-gutter))) !important;
  max-height: min(92dvh, 900px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: auto !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.bsanco-modal-body { flex: 1 1 auto; min-width: 0; min-height: 0; overflow: auto; }
.bsanco-modal-footer {
  position: sticky;
  bottom: 0;
  z-index: 2;
  flex: 0 0 auto;
  background: inherit;
  border-top: 1px solid #cbd5e1;
}
.bsanco-table-scroll, .r20-panel, .r20-archive, #rep-modal-content,
#logs-list-container, #detail-panel, #tks-audit-stream-root {
  min-width: 0;
  min-height: 0;
}
.bsanco-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bsanco-table-scroll > table, .call-recording-table { width: 100%; table-layout: fixed; }
.bsanco-table-scroll th, .bsanco-table-scroll td { overflow-wrap: anywhere; word-break: break-word; }
.log-output-container {
  width: 100%;
  max-width: 100%;
  max-height: min(24rem, 50dvh);
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: .75rem;
  border-radius: .5rem;
  background: #111827;
  color: #f3f4f6;
  font: 11px/1.65 Consolas, "Courier New", monospace;
  direction: ltr;
  text-align: left;
}
.log-output-container pre, .r20 pre, #rep-modal-content pre {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.bsanco-modal-dialog input:not([type="checkbox"]):not([type="radio"]),
.bsanco-modal-dialog select, .bsanco-modal-dialog textarea,
#modal-task-editor input:not([type="checkbox"]):not([type="radio"]),
#modal-task-editor select, #modal-task-editor textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.bsanco-status-ribbon, .r20-state { display: flex; flex-wrap: wrap; gap: .4rem; min-width: 0; }
#audio-modal-player { display: block; width: 100%; max-width: 100%; min-width: 0; }
.bsanco-jalali-popup-portal { z-index: var(--z-modal-toast) !important; max-width: calc(100vw - 16px) !important; }

@media (max-width: 1024px) {
  .main-split { min-width: 0; }
  .main-split > * { min-width: 0 !important; }
  [data-bsanco-modal] > .bsanco-modal-dialog { width: min(95vw, 920px) !important; max-height: 90dvh !important; }
}
@media (max-width: 850px) {
  .main-split { flex-direction: column !important; overflow: auto !important; }
  .main-split > :first-child {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 220px;
    max-height: 42dvh;
    flex: 0 0 auto;
  }
  .main-split > #detail-panel { width: 100% !important; flex: 1 0 360px; overflow: auto !important; }
  #tks-form-modal-overlay .grid-cols-3,
  #modal-task-editor .grid-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #tks-form-modal-overlay .col-span-2,
  #modal-task-editor .col-span-2 { grid-column: 1 / -1 !important; }
}
@media (max-width: 768px) {
  [data-bsanco-modal][popover] { padding: 0 !important; align-items: stretch !important; }
  [data-bsanco-modal] > .bsanco-modal-dialog {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
    border-inline: 0 !important;
  }
  .bsanco-modal-body, #rep-modal-content { padding: 12px !important; }
  .bsanco-modal-footer { padding-bottom: max(8px, env(safe-area-inset-bottom)); }
  .r20-toolbar, .r20-head-actions, .bsanco-status-ribbon { flex-wrap: wrap; }
  .r20-toolbar > * { flex: 1 1 160px; min-width: 0; }
}
@media (max-width: 520px) {
  #tks-form-modal-overlay .grid-cols-2,
  #tks-form-modal-overlay .grid-cols-3,
  #modal-task-editor .grid-cols-2,
  #modal-task-editor .grid-cols-3,
  #voice-recorder-modal-overlay .grid-cols-2,
  #rep-modal-content .grid-cols-3 { grid-template-columns: 1fr !important; }
  #tks-form-modal-overlay [class*="col-span"],
  #modal-task-editor [class*="col-span"] { grid-column: auto !important; }
  .bsanco-modal-footer { flex-direction: column-reverse; align-items: stretch; }
  .bsanco-modal-footer button { width: 100%; min-height: 44px; }
}
