/* /Components/Account/Pages/Login.razor.rz.scp.css */
.login-container[b-si2972zhnf] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background:
        radial-gradient(circle, rgba(255,255,255,0.08) 1px, transparent 1px),
        linear-gradient(135deg, #6B7249 0%, #89925E 60%, #9BA06A 100%);
    background-size: 8px 8px, 100% 100%;
    padding: 20px;
}

.login-card[b-si2972zhnf] {
    background: white;
    border-radius: 12px;
    padding: 40px;
    max-width: 450px;
    width: 100%;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.login-logo[b-si2972zhnf] {
    height: 60px;
    width: auto;
    margin-bottom: 16px;
}

.login-header[b-si2972zhnf] {
    text-align: center;
    margin-bottom: 30px;
}

    .login-header h1[b-si2972zhnf] {
        color: #333;
        margin-bottom: 10px;
        font-size: 28px;
    }

    .login-header p[b-si2972zhnf] {
        color: #666;
        font-size: 14px;
    }

.form-group[b-si2972zhnf] {
    margin-bottom: 20px;
}

    .form-group label[b-si2972zhnf] {
        display: block;
        margin-bottom: 8px;
        color: #333;
        font-weight: 500;
    }

.form-control[b-si2972zhnf] {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    transition: border-color 0.3s;
}

    .form-control:focus[b-si2972zhnf] {
        outline: none;
        border-color: #89925E;
    }

.form-check[b-si2972zhnf] {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.form-check-input[b-si2972zhnf] {
    margin-right: 8px;
    cursor: pointer;
}

.form-check-label[b-si2972zhnf] {
    font-size: 14px;
    color: #666;
    cursor: pointer;
}

.btn[b-si2972zhnf] {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
}

.btn-primary[b-si2972zhnf] {
    background: #89925E;
    color: white;
}

    .btn-primary:hover:not(:disabled)[b-si2972zhnf] {
        background: #6B7249;
        transform: translateY(-1px);
    }

.forgot-password[b-si2972zhnf] {
    text-align: center;
    margin-top: 15px;
}

    .forgot-password a[b-si2972zhnf] {
        color: #89925E;
        text-decoration: none;
        font-size: 14px;
    }

        .forgot-password a:hover[b-si2972zhnf] {
            text-decoration: underline;
        }

.login-footer[b-si2972zhnf] {
    margin-top: 30px;
    text-align: center;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

    .login-footer p[b-si2972zhnf] {
        margin: 10px 0;
        font-size: 14px;
        color: #666;
    }

    .login-footer a[b-si2972zhnf] {
        color: #89925E;
        text-decoration: none;
        font-weight: 500;
    }

        .login-footer a:hover[b-si2972zhnf] {
            text-decoration: underline;
        }

.help-text[b-si2972zhnf] {
    font-size: 12px !important;
}

.text-danger[b-si2972zhnf] {
    color: #c33;
    font-size: 12px;
    margin-top: 5px;
    display: block;
}

.login-divider[b-si2972zhnf] {
    display: flex;
    align-items: center;
    margin: 20px 0;
    color: #aaa;
    font-size: 14px;
}

    .login-divider[b-si2972zhnf]::before,
    .login-divider[b-si2972zhnf]::after {
        content: '';
        flex: 1;
        border-bottom: 1px solid #eee;
    }

    .login-divider span[b-si2972zhnf] {
        padding: 0 12px;
    }

.btn-microsoft[b-si2972zhnf] {
    background: #fff;
    color: #333;
    border: 1px solid #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 0;
}

    .btn-microsoft:hover[b-si2972zhnf] {
        background: #f5f5f5;
        border-color: #bbb;
    }

@media (max-width: 480px) {
    .login-card[b-si2972zhnf] {
        padding: 30px 20px;
    }

    .login-header h1[b-si2972zhnf] {
        font-size: 24px;
    }
}
/* /Components/Account/Pages/Register.razor.rz.scp.css */
.register-container[b-9ryaf7iw6n] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 20px;
}

.register-card[b-9ryaf7iw6n] {
    background: white;
    border-radius: 12px;
    padding: 40px;
    max-width: 600px;
    width: 100%;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.register-header[b-9ryaf7iw6n] {
    text-align: center;
    margin-bottom: 30px;
}

    .register-header h1[b-9ryaf7iw6n] {
        color: #333;
        margin-bottom: 10px;
        font-size: 28px;
    }

    .register-header p[b-9ryaf7iw6n] {
        color: #666;
        font-size: 14px;
    }

.form-row[b-9ryaf7iw6n] {
    display: flex;
    gap: 15px;
}

    .form-row .form-group[b-9ryaf7iw6n] {
        flex: 1;
    }

.form-group[b-9ryaf7iw6n] {
    margin-bottom: 20px;
}

    .form-group label[b-9ryaf7iw6n] {
        display: block;
        margin-bottom: 8px;
        color: #333;
        font-weight: 500;
    }

.form-control[b-9ryaf7iw6n] {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    transition: border-color 0.3s;
}

    .form-control:focus[b-9ryaf7iw6n] {
        outline: none;
        border-color: #667eea;
    }

.form-text[b-9ryaf7iw6n] {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: #666;
}

.btn[b-9ryaf7iw6n] {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
}

.btn-primary[b-9ryaf7iw6n] {
    background: #667eea;
    color: white;
}

    .btn-primary:hover:not(:disabled)[b-9ryaf7iw6n] {
        background: #5568d3;
        transform: translateY(-1px);
    }

.register-footer[b-9ryaf7iw6n] {
    margin-top: 30px;
    text-align: center;
}

    .register-footer p[b-9ryaf7iw6n] {
        margin: 10px 0;
        font-size: 14px;
        color: #666;
    }

    .register-footer a[b-9ryaf7iw6n] {
        color: #667eea;
        text-decoration: none;
        font-weight: 500;
    }

        .register-footer a:hover[b-9ryaf7iw6n] {
            text-decoration: underline;
        }

.help-text[b-9ryaf7iw6n] {
    font-size: 12px !important;
}

.text-danger[b-9ryaf7iw6n] {
    color: #c33;
    font-size: 12px;
    margin-top: 5px;
    display: block;
}

@media (max-width: 640px) {
    .register-card[b-9ryaf7iw6n] {
        padding: 30px 20px;
    }

    .register-header h1[b-9ryaf7iw6n] {
        font-size: 24px;
    }

    .form-row[b-9ryaf7iw6n] {
        flex-direction: column;
        gap: 0;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-o5x666kam4] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-o5x666kam4] {
    flex: 1;
    min-width: 0;
}

.sidebar[b-o5x666kam4] {
    /* NUtec olive gradient with subtle squots dot pattern */
    background-image:
        radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px),
        linear-gradient(180deg, #6B7249 0%, #89925E 70%, #9BA06A 100%);
    background-size: 8px 8px, 100% 100%;
    overflow: hidden;
    transition: width 0.25s ease;
}

.top-row[b-o5x666kam4] {
    background-color: #ffffff;
    border-bottom: 2px solid #89925E;
    justify-content: space-between;
    height: 5rem;
    display: flex;
    align-items: center;
}

.nutec-top-logo[b-o5x666kam4] {
    height: 46px;
    width: auto;
}

    .top-row[b-o5x666kam4]  a, .top-row[b-o5x666kam4]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

        .top-row[b-o5x666kam4]  a:hover, .top-row[b-o5x666kam4]  .btn-link:hover {
            text-decoration: underline;
        }

        .top-row[b-o5x666kam4]  a:first-child {
            overflow: hidden;
            text-overflow: ellipsis;
        }

@media (max-width: 640.98px) {
    .top-row[b-o5x666kam4] {
        justify-content: space-between;
    }

    .top-row[b-o5x666kam4]  a, .top-row[b-o5x666kam4]  .btn-link {
            margin-left: 0;
        }
}

@media (min-width: 641px) {
    .page[b-o5x666kam4] {
        flex-direction: row;
    }

    .sidebar[b-o5x666kam4] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .sidebar-collapsed .sidebar[b-o5x666kam4] {
        width: 0;
    }

    .top-row[b-o5x666kam4] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

        .top-row.auth[b-o5x666kam4]  a:first-child {
            flex: 1;
            text-align: right;
            width: 0;
        }

    .top-row[b-o5x666kam4], article[b-o5x666kam4] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-o5x666kam4] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-o5x666kam4] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-gtyqgljswt] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

    .navbar-toggler:checked[b-gtyqgljswt] {
        background-color: rgba(255, 255, 255, 0.5);
    }

.top-row[b-gtyqgljswt] {
    min-height: 5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-gtyqgljswt] {
    padding: 0.3rem 0;
}

/* SVG wordmark logo */
.nutec-brand[b-gtyqgljswt] {
    display: block;
    text-decoration: none;
    line-height: 1;
}

.nutec-svg-logo[b-gtyqgljswt] {
    height: 44px;
    width: auto;
    overflow: visible;
    display: block;
}

.bi[b-gtyqgljswt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: 0;
    background-size: 1.25rem 1.25rem;
    background-repeat: no-repeat;
    background-position: center;
}

.bi-house-door-fill-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-bar-chart-fill-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z'/%3E%3C/svg%3E");
}

.bi-chat-dots-fill-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M2 1h12a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H7l-3.5 3.5V9H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1Z'/%3E%3Ccircle cx='5' cy='5' r='1.1'/%3E%3Ccircle cx='8' cy='5' r='1.1'/%3E%3Ccircle cx='11' cy='5' r='1.1'/%3E%3C/svg%3E");
}

.bi-shield-lock-fill-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M8 .5 1.5 2.75v3.75c0 3.88 2.61 7.85 6.5 9 3.89-1.15 6.5-5.12 6.5-9V2.75L8 .5Z'/%3E%3Cpath d='M6 8.5V7a2 2 0 1 1 4 0v1.5h.25A.75.75 0 0 1 11 9.25v2.5A.75.75 0 0 1 10.25 12.5h-4.5A.75.75 0 0 1 5 11.75v-2.5A.75.75 0 0 1 5.75 8.5H6Zm1.5-1.5a.5.5 0 1 1 1 0v1.5h-1V7Z'/%3E%3C/svg%3E");
}

.bi-printer-fill-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M5 1a2 2 0 0 0-2 2v1h10V3a2 2 0 0 0-2-2H5zm6 8H5a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1z'/%3E%3Cpath d='M0 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-1v-2a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2H2a2 2 0 0 1-2-2V7zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z'/%3E%3C/svg%3E");
}

.bi-inbox-fill-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4.98 4a.5.5 0 0 0-.39.188L1.54 8H6a.5.5 0 0 1 .5.5 1.5 1.5 0 1 0 3 0A.5.5 0 0 1 10 8h4.46l-3.05-3.812A.5.5 0 0 0 11.02 4H4.98zm9.954 5H10.45a2.5 2.5 0 0 1-4.9 0H1.066l.32 2.562a.5.5 0 0 0 .497.438h12.234a.5.5 0 0 0 .496-.438L14.933 9z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-gtyqgljswt] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-gtyqgljswt] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-gtyqgljswt] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-gtyqgljswt] {
        padding-bottom: 1rem;
    }

    .nav-item[b-gtyqgljswt]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

    .nav-item[b-gtyqgljswt]  a.active {
        background-color: rgba(255,255,255,0.28);
        color: white;
    }

    .nav-item[b-gtyqgljswt]  .nav-link:hover {
        background-color: rgba(255,255,255,0.14);
        color: white;
    }

.nav-scrollable[b-gtyqgljswt] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-gtyqgljswt] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-gtyqgljswt] {
        display: none;
    }

    .nav-scrollable[b-gtyqgljswt] {
        /* Never collapse the sidebar for wide screens */
        display: block;
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/SidebarToggleButton.razor.rz.scp.css */
.sidebar-toggle-btn[b-2aa9tcj1mv] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--nutec-olive);
    font-size: 1.6rem;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    line-height: 1;
    display: flex;
    align-items: center;
    transition: background-color 0.15s ease, color 0.15s ease;
    flex-shrink: 0;
}

.sidebar-toggle-btn:hover[b-2aa9tcj1mv] {
    background-color: rgba(137, 146, 94, 0.12);
    color: var(--nutec-olive-dark);
}

@media (max-width: 640.98px) {
    .sidebar-toggle-btn[b-2aa9tcj1mv] {
        display: none;
    }
}
/* /Components/Pages/Admin.razor.rz.scp.css */
.admin-container[b-jxbueh6kak] {
    min-height: 100vh;
    background: #f5f5f5;
}

.admin-header[b-jxbueh6kak] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 40px 30px;
}

    .admin-header h1[b-jxbueh6kak] {
        margin: 0 0 5px 0;
    }

    .admin-header p[b-jxbueh6kak] {
        margin: 0;
        opacity: 0.9;
    }

.admin-content[b-jxbueh6kak] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px;
}

.section-header[b-jxbueh6kak] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

    .section-header h2[b-jxbueh6kak] {
        margin: 0;
    }

.btn-add[b-jxbueh6kak] {
    padding: 10px 20px;
    background: #667eea;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s;
}

    .btn-add:hover[b-jxbueh6kak] {
        background: #5568d3;
    }

.faq-form[b-jxbueh6kak] {
    background: white;
    padding: 30px;
    border-radius: 8px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

    .faq-form h3[b-jxbueh6kak] {
        margin-top: 0;
        color: #333;
    }

.form-group[b-jxbueh6kak] {
    margin-bottom: 20px;
}

    .form-group label[b-jxbueh6kak] {
        display: block;
        margin-bottom: 8px;
        font-weight: 500;
        color: #333;
    }

.form-control[b-jxbueh6kak] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    transition: border-color 0.3s;
}

    .form-control:focus[b-jxbueh6kak] {
        outline: none;
        border-color: #667eea;
    }

textarea.form-control[b-jxbueh6kak] {
    resize: vertical;
    font-family: inherit;
    min-height: 120px;
}

.form-row[b-jxbueh6kak] {
    display: flex;
    gap: 20px;
    align-items: end;
}

    .form-row .form-group[b-jxbueh6kak] {
        flex: 1;
    }

        .form-row .form-group:last-child[b-jxbueh6kak] {
            display: flex;
            align-items: center;
        }

            .form-row .form-group:last-child label[b-jxbueh6kak] {
                display: flex;
                align-items: center;
                gap: 8px;
                margin-bottom: 0;
                cursor: pointer;
            }

    .form-row input[type="checkbox"][b-jxbueh6kak] {
        cursor: pointer;
    }

.form-actions[b-jxbueh6kak] {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.btn-primary[b-jxbueh6kak] {
    padding: 10px 24px;
    background: #667eea;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s;
}

    .btn-primary:hover[b-jxbueh6kak] {
        background: #5568d3;
    }

.btn-cancel[b-jxbueh6kak] {
    padding: 10px 24px;
    background: #f5f5f5;
    color: #666;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s;
}

    .btn-cancel:hover[b-jxbueh6kak] {
        background: #e0e0e0;
    }

.faq-list-admin[b-jxbueh6kak] {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.category-section h3[b-jxbueh6kak] {
    color: #667eea;
    margin-bottom: 15px;
    font-size: 20px;
}

.faq-item-admin[b-jxbueh6kak] {
    background: white;
    padding: 20px;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    transition: box-shadow 0.3s;
}

    .faq-item-admin:hover[b-jxbueh6kak] {
        box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    }

.faq-info[b-jxbueh6kak] {
    flex: 1;
}

.faq-question-admin[b-jxbueh6kak] {
    font-weight: 500;
    margin-bottom: 5px;
    color: #333;
}

.faq-meta[b-jxbueh6kak] {
    font-size: 12px;
    color: #666;
}

.faq-actions[b-jxbueh6kak] {
    display: flex;
    gap: 10px;
}

.btn-edit[b-jxbueh6kak], .btn-delete[b-jxbueh6kak] {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s;
}

.btn-edit[b-jxbueh6kak] {
    background: #e3f2fd;
    color: #1976d2;
}

    .btn-edit:hover[b-jxbueh6kak] {
        background: #bbdefb;
    }

.btn-delete[b-jxbueh6kak] {
    background: #ffebee;
    color: #c62828;
}

    .btn-delete:hover[b-jxbueh6kak] {
        background: #ffcdd2;
    }

.stats-section h2[b-jxbueh6kak] {
    margin-top: 0;
    margin-bottom: 30px;
    color: #333;
}

.user-management[b-jxbueh6kak] {
    background: white;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.role-management[b-jxbueh6kak] {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
    background: #f9f9ff;
}

.role-management-header[b-jxbueh6kak] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}

    .role-management-header h3[b-jxbueh6kak] {
        margin: 0;
        color: #333;
    }

    .role-management-header p[b-jxbueh6kak] {
        margin: 0;
        color: #666;
        font-size: 14px;
    }

.role-list[b-jxbueh6kak] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.role-pill[b-jxbueh6kak] {
    background: #e8eaf6;
    color: #3f51b5;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
}

.role-empty[b-jxbueh6kak] {
    color: #777;
    font-style: italic;
    font-size: 14px;
}

.add-role-form[b-jxbueh6kak] {
    display: flex;
    gap: 12px;
    align-items: center;
}

.add-role-input[b-jxbueh6kak] {
    max-width: 260px;
}

.add-role-button[b-jxbueh6kak] {
    white-space: nowrap;
    min-width: 120px;
}

.user-table-wrapper[b-jxbueh6kak] {
    overflow-x: auto;
}

.user-table[b-jxbueh6kak] {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
}

.user-table th[b-jxbueh6kak],
.user-table td[b-jxbueh6kak] {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid #eee;
    vertical-align: top;
}

.user-table th[b-jxbueh6kak] {
    background: #f8f9fa;
    font-weight: 600;
    color: #555;
}

.actions-column[b-jxbueh6kak] {
    width: 160px;
    text-align: right;
}

.user-actions[b-jxbueh6kak] {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.role-checkboxes[b-jxbueh6kak] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.role-checkbox[b-jxbueh6kak] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #444;
}

.role-checkbox input[type="checkbox"][b-jxbueh6kak] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.user-name[b-jxbueh6kak] {
    font-weight: 600;
    color: #333;
}

.empty-state[b-jxbueh6kak] {
    text-align: center;
    padding: 40px 0;
    color: #777;
}

.status-message[b-jxbueh6kak] {
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-weight: 500;
}

.status-message.success[b-jxbueh6kak] {
    background: #e3fcec;
    color: #1b5e20;
}

.status-message.error[b-jxbueh6kak] {
    background: #ffebee;
    color: #c62828;
}

.btn-delete:disabled[b-jxbueh6kak] {
    opacity: 0.6;
    cursor: not-allowed;
}

.stats-grid[b-jxbueh6kak] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}

.stat-card[b-jxbueh6kak] {
    background: white;
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: transform 0.3s, box-shadow 0.3s;
}

    .stat-card:hover[b-jxbueh6kak] {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }

.stat-value[b-jxbueh6kak] {
    font-size: 36px;
    font-weight: bold;
    color: #667eea;
    margin-bottom: 10px;
}

.stat-label[b-jxbueh6kak] {
    color: #666;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.recent-activity[b-jxbueh6kak] {
    background: white;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

    .recent-activity h3[b-jxbueh6kak] {
        margin-top: 0;
        margin-bottom: 20px;
        color: #333;
    }

.activity-list[b-jxbueh6kak] {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.activity-item[b-jxbueh6kak] {
    padding: 15px;
    background: #f8f9fa;
    border-radius: 6px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.3s;
}

    .activity-item:hover[b-jxbueh6kak] {
        background: #e9ecef;
    }

    .activity-item strong[b-jxbueh6kak] {
        color: #667eea;
    }

.activity-time[b-jxbueh6kak] {
    font-size: 12px;
    color: #666;
}

@media (max-width: 768px) {
    .admin-content[b-jxbueh6kak] {
        padding: 20px;
    }

    .admin-tabs[b-jxbueh6kak] {
        flex-direction: column;
    }

    .form-row[b-jxbueh6kak] {
        flex-direction: column;
    }

    .faq-item-admin[b-jxbueh6kak] {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .faq-actions[b-jxbueh6kak] {
        width: 100%;
        justify-content: flex-end;
    }

    .stats-grid[b-jxbueh6kak] {
        grid-template-columns: 1fr;
    }

    .activity-item[b-jxbueh6kak] {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .user-actions[b-jxbueh6kak] {
        flex-direction: column;
        align-items: stretch;
    }

    .actions-column[b-jxbueh6kak] {
        width: auto;
    }

    .add-role-form[b-jxbueh6kak] {
        flex-direction: column;
        align-items: stretch;
    }

    .add-role-button[b-jxbueh6kak] {
        width: 100%;
    }

    .add-role-input[b-jxbueh6kak] {
        max-width: none;
    }
}
.drag-drop-zone[b-jxbueh6kak] {
    border: 2px dashed #cbd5e0;
    border-radius: 8px;
    padding: 3rem;
    text-align: center;
    background: #f7fafc;
    transition: all 0.3s ease;
    cursor: pointer;
}

    .drag-drop-zone.dragging[b-jxbueh6kak] {
        border-color: #4299e1;
        background: #ebf8ff;
    }

.drag-drop-content[b-jxbueh6kak] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.upload-icon[b-jxbueh6kak] {
    width: 64px;
    height: 64px;
    color: #4299e1;
}

.drag-drop-content h3[b-jxbueh6kak] {
    margin: 0;
    color: #2d3748;
    font-size: 1.25rem;
}

.drag-drop-content p[b-jxbueh6kak] {
    margin: 0;
    color: #718096;
}

.file-select-button[b-jxbueh6kak] {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: #4299e1;
    color: white;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
    transition: background 0.2s;
}

    .file-select-button:hover[b-jxbueh6kak] {
        background: #3182ce;
    }

    .file-select-button input[type="file"][b-jxbueh6kak] {
        display: none;
    }

.file-hint[b-jxbueh6kak] {
    font-size: 0.875rem;
    color: #a0aec0;
}

.selected-files[b-jxbueh6kak] {
    margin-top: 2rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1.5rem;
    background: white;
}

.selected-files-header[b-jxbueh6kak] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e2e8f0;
}

    .selected-files-header h3[b-jxbueh6kak] {
        margin: 0;
        font-size: 1.125rem;
    }

.file-list[b-jxbueh6kak] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.file-item[b-jxbueh6kak] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #f7fafc;
    transition: all 0.2s;
}

    .file-item.uploading[b-jxbueh6kak] {
        border-color: #4299e1;
        background: #ebf8ff;
    }

    .file-item.success[b-jxbueh6kak] {
        border-color: #48bb78;
        background: #f0fff4;
    }

    .file-item.failed[b-jxbueh6kak] {
        border-color: #f56565;
        background: #fff5f5;
    }

.file-info[b-jxbueh6kak] {
    display: flex;
    gap: 1rem;
    flex: 1;
}

.file-icon[b-jxbueh6kak] {
    width: 40px;
    height: 40px;
    color: #4299e1;
    flex-shrink: 0;
}

.file-details[b-jxbueh6kak] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.file-name[b-jxbueh6kak] {
    font-weight: 500;
    color: #2d3748;
}

.file-meta[b-jxbueh6kak] {
    font-size: 0.875rem;
    color: #718096;
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.file-message[b-jxbueh6kak] {
    font-size: 0.875rem;
    color: #718096;
    margin-top: 0.25rem;
}

.status-badge[b-jxbueh6kak] {
    padding: 0.125rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 500;
}

    .status-badge.uploading[b-jxbueh6kak] {
        background: #bee3f8;
        color: #2c5282;
    }

    .status-badge.success[b-jxbueh6kak] {
        background: #c6f6d5;
        color: #22543d;
    }

    .status-badge.error[b-jxbueh6kak] {
        background: #fed7d7;
        color: #742a2a;
    }

.file-actions[b-jxbueh6kak] {
    display: flex;
    gap: 0.5rem;
}

.btn-icon[b-jxbueh6kak] {
    padding: 0.5rem;
    background: transparent;
    border: none;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.2s;
}

    .btn-icon:hover[b-jxbueh6kak] {
        background: #e2e8f0;
    }

    .btn-icon svg[b-jxbueh6kak] {
        width: 20px;
        height: 20px;
        color: #718096;
    }

.upload-options[b-jxbueh6kak] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

/* ── User Management Toolbar ── */
.user-toolbar[b-jxbueh6kak] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.user-toolbar-left[b-jxbueh6kak] {
    display: flex;
    gap: 12px;
    align-items: center;
    flex: 1;
    flex-wrap: wrap;
}

.user-toolbar-right[b-jxbueh6kak] {
    display: flex;
    gap: 12px;
    align-items: center;
}

.user-search-box[b-jxbueh6kak] {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 220px;
    max-width: 380px;
}

.search-icon[b-jxbueh6kak] {
    position: absolute;
    left: 10px;
    color: #aaa;
    font-size: 14px;
    pointer-events: none;
}

.search-input[b-jxbueh6kak] {
    padding-left: 32px !important;
    padding-right: 32px !important;
}

.search-clear[b-jxbueh6kak] {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    color: #aaa;
    cursor: pointer;
    padding: 4px;
    line-height: 1;
    display: flex;
    align-items: center;
}

    .search-clear:hover[b-jxbueh6kak] {
        color: #555;
    }

.role-filter-select[b-jxbueh6kak] {
    min-width: 140px;
    max-width: 200px;
}

.user-count-badge[b-jxbueh6kak] {
    font-size: 13px;
    color: #666;
    white-space: nowrap;
}

.view-toggle[b-jxbueh6kak] {
    display: flex;
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
}

.view-btn[b-jxbueh6kak] {
    padding: 8px 12px;
    background: white;
    border: none;
    cursor: pointer;
    color: #666;
    font-size: 16px;
    transition: all 0.2s;
    line-height: 1;
}

    .view-btn:hover[b-jxbueh6kak] {
        background: #f0f0f0;
        color: #333;
    }

    .view-btn.active[b-jxbueh6kak] {
        background: #667eea;
        color: white;
    }

/* ── Role pills (small) ── */
.user-role-pills[b-jxbueh6kak] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.role-pill-sm[b-jxbueh6kak] {
    background: #e8eaf6;
    color: #3f51b5;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}

.no-roles-badge[b-jxbueh6kak] {
    font-size: 12px;
    color: #aaa;
    font-style: italic;
}

/* ── Inline Role Editor ── */
.role-editor-row > td[b-jxbueh6kak] {
    background: #f4f6ff;
    padding: 16px 20px !important;
    border-left: 3px solid #667eea;
}

.role-editor-panel[b-jxbueh6kak] {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px 20px;
}

.role-editor-title[b-jxbueh6kak] {
    font-size: 14px;
    color: #555;
    margin-bottom: 12px;
}

.role-checkboxes-compact[b-jxbueh6kak] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.role-checkbox-chip[b-jxbueh6kak] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1.5px solid #c5cae9;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    color: #555;
    cursor: pointer;
    background: white;
    transition: all 0.2s;
    user-select: none;
}

    .role-checkbox-chip:hover[b-jxbueh6kak] {
        border-color: #667eea;
        color: #667eea;
    }

    .role-checkbox-chip.checked[b-jxbueh6kak] {
        background: #e8eaf6;
        border-color: #667eea;
        color: #3f51b5;
    }

    .role-checkbox-chip input[type="checkbox"][b-jxbueh6kak] {
        width: 14px;
        height: 14px;
        cursor: pointer;
        accent-color: #667eea;
    }

.role-editor-actions[b-jxbueh6kak] {
    display: flex;
    gap: 8px;
}

.btn-sm[b-jxbueh6kak] {
    padding: 6px 16px !important;
    font-size: 13px !important;
}

/* ── User Cards Grid ── */
.user-cards-grid[b-jxbueh6kak] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

.empty-state-card[b-jxbueh6kak] {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px;
    color: #777;
}

.user-card[b-jxbueh6kak] {
    background: white;
    border-radius: 10px;
    border: 1px solid #e8eaf6;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.2s;
    display: flex;
    flex-direction: column;
}

    .user-card:hover[b-jxbueh6kak] {
        box-shadow: 0 4px 16px rgba(0,0,0,0.1);
        transform: translateY(-2px);
    }

    .user-card.expanded[b-jxbueh6kak] {
        border-color: #667eea;
    }

.user-card-header[b-jxbueh6kak] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 16px 10px;
}

.user-card-avatar[b-jxbueh6kak] {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    color: white;
    flex-shrink: 0;
    letter-spacing: 0.5px;
}

.user-card-info[b-jxbueh6kak] {
    flex: 1;
    min-width: 0;
}

.user-card-name[b-jxbueh6kak] {
    font-weight: 600;
    color: #333;
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-card-email[b-jxbueh6kak] {
    font-size: 12px;
    color: #888;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-card-emp[b-jxbueh6kak] {
    font-size: 12px;
    color: #aaa;
    margin-top: 1px;
}

.user-card-roles[b-jxbueh6kak] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 16px 12px;
    min-height: 32px;
}

.user-card .role-editor-panel[b-jxbueh6kak] {
    margin: 0 16px 12px;
}

.user-card-actions[b-jxbueh6kak] {
    display: flex;
    gap: 8px;
    padding: 10px 16px;
    border-top: 1px solid #f0f0f0;
    margin-top: auto;
}

    .user-card-actions .btn-edit[b-jxbueh6kak],
    .user-card-actions .btn-delete[b-jxbueh6kak] {
        flex: 1;
        text-align: center;
    }

@media (max-width: 768px) {
    .user-toolbar[b-jxbueh6kak] {
        flex-direction: column;
        align-items: stretch;
    }

    .user-toolbar-left[b-jxbueh6kak] {
        flex-direction: column;
    }

    .user-search-box[b-jxbueh6kak] {
        max-width: none;
    }

    .role-filter-select[b-jxbueh6kak] {
        max-width: none;
    }

    .user-toolbar-right[b-jxbueh6kak] {
        justify-content: space-between;
    }

    .user-cards-grid[b-jxbueh6kak] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Chat.razor.rz.scp.css */
/*.chat-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: #f5f5f5;
}

.chat-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.markdown-content {
    line-height: 1.6;
}

    .markdown-content h1,
    .markdown-content h2,
    .markdown-content h3 {
        margin-top: 1.5em;
        margin-bottom: 0.5em;
        font-weight: 600;
    }

    .markdown-content p {
        margin-bottom: 1em;
    }

    .markdown-content ul,
    .markdown-content ol {
        margin-left: 1.5em;
        margin-bottom: 1em;
    }

    .markdown-content li {
        margin-bottom: 0.5em;
    }

    .markdown-content code {
        background-color: #f4f4f4;
        padding: 2px 6px;
        border-radius: 3px;
        font-family: 'Courier New', monospace;
        font-size: 0.9em;
    }

    .markdown-content pre {
        background-color: #f4f4f4;
        padding: 1em;
        border-radius: 5px;
        overflow-x: auto;
        margin-bottom: 1em;
    }

        .markdown-content pre code {
            background-color: transparent;
            padding: 0;
        }

    .markdown-content strong {
        font-weight: 600;
    }

    .markdown-content em {
        font-style: italic;
    }*/
/*.chat-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    overflow: hidden;
}

.chat-header {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    color: white;
    padding: 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    flex-shrink: 0;
}

.header-content h1 {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
}

.header-content p {
    margin: 5px 0 0 0;
    opacity: 0.9;
    font-size: 14px;
}

.header-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.btn-secondary {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    font-size: 14px;
}

    .btn-secondary:hover {
        background: rgba(255, 255, 255, 0.3);
        transform: translateY(-1px);
    }

.chat-messages {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #f8f9fa;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    min-height: 0;
}

.welcome-message {
    background: white;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    text-align: center;
    max-width: 600px;
    margin: auto;
}

    .welcome-message h2 {
        color: #667eea;
        margin-bottom: 20px;
        font-size: 28px;
    }

    .welcome-message ul {
        text-align: left;
        display: inline-block;
        margin: 20px 0;
    }

    .welcome-message li {
        margin: 10px 0;
        color: #555;
    }

    .welcome-message .tip {
        margin-top: 30px;
        padding: 15px;
        background: #f0f4ff;
        border-radius: 8px;
        color: #667eea;
    }

.message {
    display: flex;
    gap: 12px;
    animation: slideIn 0.3s ease-out;
    max-width: 85%;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.user-message {
    align-self: flex-end;
    flex-direction: row-reverse;
}

.bot-message {
    align-self: flex-start;
}

.message-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.user-message .message-avatar {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.bot-message .message-avatar {
    background: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%);
}

.message-content {
    background: white;
    padding: 16px 20px;
    border-radius: 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    position: relative;
}

.user-message .message-content {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-bottom-right-radius: 4px;
}

.bot-message .message-content {
    border-bottom-left-radius: 4px;
}

.user-message .message-content .markdown-content {
    color: white;
}

    .user-message .message-content .markdown-content code {
        background-color: rgba(255, 255, 255, 0.2);
        color: white;
    }

    .user-message .message-content .markdown-content pre {
        background-color: rgba(255, 255, 255, 0.1);
    }

.message-time {
    font-size: 11px;
    margin-top: 8px;
    opacity: 0.6;
}

.user-message .message-time {
    text-align: right;
    color: rgba(255, 255, 255, 0.8);
}

.bot-message .message-time {
    color: #999;
}

.markdown-content {
    line-height: 1.6;
}

    .markdown-content h1,
    .markdown-content h2,
    .markdown-content h3 {
        margin-top: 1.5em;
        margin-bottom: 0.5em;
        font-weight: 600;
    }

        .markdown-content h1:first-child,
        .markdown-content h2:first-child,
        .markdown-content h3:first-child {
            margin-top: 0;
        }

    .markdown-content p {
        margin-bottom: 1em;
    }

        .markdown-content p:last-child {
            margin-bottom: 0;
        }

    .markdown-content ul,
    .markdown-content ol {
        margin-left: 1.5em;
        margin-bottom: 1em;
    }

    .markdown-content li {
        margin-bottom: 0.5em;
    }

    .markdown-content code {
        background-color: #f4f4f4;
        padding: 2px 6px;
        border-radius: 3px;
        font-family: 'Courier New', monospace;
        font-size: 0.9em;
    }

    .markdown-content pre {
        background-color: #f4f4f4;
        padding: 1em;
        border-radius: 8px;
        overflow-x: auto;
        margin-bottom: 1em;
    }

        .markdown-content pre code {
            background-color: transparent;
            padding: 0;
        }

    .markdown-content strong {
        font-weight: 600;
    }

    .markdown-content em {
        font-style: italic;
    }

    .markdown-content a {
        color: #667eea;
        text-decoration: none;
        border-bottom: 1px solid #667eea;
    }

        .markdown-content a:hover {
            opacity: 0.8;
        }

.user-message .markdown-content a {
    color: white;
    border-bottom-color: rgba(255, 255, 255, 0.5);
}

.typing-indicator {
    display: flex;
    gap: 6px;
    padding: 8px 0;
}

    .typing-indicator span {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #667eea;
        animation: bounce 1.4s infinite ease-in-out;
    }

        .typing-indicator span:nth-child(1) {
            animation-delay: -0.32s;
        }

        .typing-indicator span:nth-child(2) {
            animation-delay: -0.16s;
        }

@keyframes bounce {
    0%, 80%, 100% {
        transform: scale(0);
        opacity: 0.5;
    }

    40% {
        transform: scale(1);
        opacity: 1;
    }
}

.chat-input {
    background: white;
    padding: 20px 30px;
    display: flex;
    gap: 12px;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    flex-shrink: 0;
}

.input-field {
    flex: 1;
    padding: 14px 18px;
    border: 2px solid #e0e0e0;
    border-radius: 24px;
    font-size: 15px;
    outline: none;
    transition: all 0.3s ease;
    font-family: inherit;
}

    .input-field:focus {
        border-color: #667eea;
        box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    }

    .input-field:disabled {
        background: #f5f5f5;
        cursor: not-allowed;
    }

.btn-send {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 14px 32px;
    border-radius: 24px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

    .btn-send:hover:not(:disabled) {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
    }

    .btn-send:disabled {
        opacity: 0.5;
        cursor: not-allowed;
        transform: none;
    }*/

/* Scrollbar styling */
/*.chat-messages::-webkit-scrollbar {
    width: 8px;
}

.chat-messages::-webkit-scrollbar-track {
    background: transparent;
}

.chat-messages::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

    .chat-messages::-webkit-scrollbar-thumb:hover {
        background: rgba(0, 0, 0, 0.3);
    } End of V16 from claude*/

/* Prevent body scrolling 
    v19 from Claude
*/
/*body {
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.chat-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
    width: 100%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    overflow: hidden;
}

.chat-header {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    color: white;
    padding: 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    flex-shrink: 0;
}

.header-content h1 {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
}

.header-content p {
    margin: 5px 0 0 0;
    opacity: 0.9;
    font-size: 14px;
}

.header-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.btn-secondary {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    font-size: 14px;
}

    .btn-secondary:hover {
        background: rgba(255, 255, 255, 0.3);
        transform: translateY(-1px);
    }

.chat-messages {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #f8f9fa;
    min-height: 0;
}

.welcome-message {
    background: white;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    text-align: center;
    max-width: 600px;
    margin: auto;
}

    .welcome-message h2 {
        color: #667eea;
        margin-bottom: 20px;
        font-size: 28px;
    }

    .welcome-message ul {
        text-align: left;
        display: inline-block;
        margin: 20px 0;
    }

    .welcome-message li {
        margin: 10px 0;
        color: #555;
    }

    .welcome-message .tip {
        margin-top: 30px;
        padding: 15px;
        background: #f0f4ff;
        border-radius: 8px;
        color: #667eea;
    }

.message {
    display: flex;
    gap: 12px;
    animation: slideIn 0.3s ease-out;
    max-width: 85%;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.user-message {
    align-self: flex-end;
    flex-direction: row-reverse;
}

.bot-message {
    align-self: flex-start;
}

.message-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.user-message .message-avatar {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.bot-message .message-avatar {
    background: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%);
}

.message-content {
    background: white;
    padding: 16px 20px;
    border-radius: 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    position: relative;
}

.user-message .message-content {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-bottom-right-radius: 4px;
}

.bot-message .message-content {
    border-bottom-left-radius: 4px;
}

.user-message .message-content .markdown-content {
    color: white;
}

    .user-message .message-content .markdown-content code {
        background-color: rgba(255, 255, 255, 0.2);
        color: white;
    }

    .user-message .message-content .markdown-content pre {
        background-color: rgba(255, 255, 255, 0.1);
    }

.message-time {
    font-size: 11px;
    margin-top: 8px;
    opacity: 0.6;
}

.user-message .message-time {
    text-align: right;
    color: rgba(255, 255, 255, 0.8);
}

.bot-message .message-time {
    color: #999;
}

.markdown-content {
    line-height: 1.6;
}

    .markdown-content h1,
    .markdown-content h2,
    .markdown-content h3 {
        margin-top: 1.5em;
        margin-bottom: 0.5em;
        font-weight: 600;
    }

        .markdown-content h1:first-child,
        .markdown-content h2:first-child,
        .markdown-content h3:first-child {
            margin-top: 0;
        }

    .markdown-content p {
        margin-bottom: 1em;
    }

        .markdown-content p:last-child {
            margin-bottom: 0;
        }

    .markdown-content ul,
    .markdown-content ol {
        margin-left: 1.5em;
        margin-bottom: 1em;
    }

    .markdown-content li {
        margin-bottom: 0.5em;
    }

    .markdown-content code {
        background-color: #f4f4f4;
        padding: 2px 6px;
        border-radius: 3px;
        font-family: 'Courier New', monospace;
        font-size: 0.9em;
    }

    .markdown-content pre {
        background-color: #f4f4f4;
        padding: 1em;
        border-radius: 8px;
        overflow-x: auto;
        margin-bottom: 1em;
    }

        .markdown-content pre code {
            background-color: transparent;
            padding: 0;
        }

    .markdown-content strong {
        font-weight: 600;
    }

    .markdown-content em {
        font-style: italic;
    }

    .markdown-content a {
        color: #667eea;
        text-decoration: none;
        border-bottom: 1px solid #667eea;
    }

        .markdown-content a:hover {
            opacity: 0.8;
        }

.user-message .markdown-content a {
    color: white;
    border-bottom-color: rgba(255, 255, 255, 0.5);
}

.typing-indicator {
    display: flex;
    gap: 6px;
    padding: 8px 0;
}

    .typing-indicator span {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #667eea;
        animation: bounce 1.4s infinite ease-in-out;
    }

        .typing-indicator span:nth-child(1) {
            animation-delay: -0.32s;
        }

        .typing-indicator span:nth-child(2) {
            animation-delay: -0.16s;
        }

@keyframes bounce {
    0%, 80%, 100% {
        transform: scale(0);
        opacity: 0.5;
    }

    40% {
        transform: scale(1);
        opacity: 1;
    }
}

.chat-input {
    background: white;
    padding: 20px 30px;
    display: flex;
    gap: 12px;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
    flex-shrink: 0;
}

.input-field {
    flex: 1;
    padding: 14px 18px;
    border: 2px solid #e0e0e0;
    border-radius: 24px;
    font-size: 15px;
    outline: none;
    transition: all 0.3s ease;
    font-family: inherit;
}

    .input-field:focus {
        border-color: #667eea;
        box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    }

    .input-field:disabled {
        background: #f5f5f5;
        cursor: not-allowed;
    }

.btn-send {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 14px 32px;
    border-radius: 24px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

    .btn-send:hover:not(:disabled) {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
    }

    .btn-send:disabled {
        opacity: 0.5;
        cursor: not-allowed;
        transform: none;
    }*/

/* Scrollbar styling */
/*.chat-messages::-webkit-scrollbar {
    width: 8px;
}

.chat-messages::-webkit-scrollbar-track {
    background: transparent;
}

.chat-messages::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

    .chat-messages::-webkit-scrollbar-thumb:hover {
        background: rgba(0, 0, 0, 0.3);
    }*/

/*V24 from Clause*/
/* Ensure no page scrolling */
html[b-5rzjxzdyrk], body[b-5rzjxzdyrk] {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;
}

.chat-container[b-5rzjxzdyrk] {
    display: flex;
    flex-direction: column;
    height: 90vh;
    max-height: 90vh;
    width: 100%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    overflow: hidden;
}

.chat-header[b-5rzjxzdyrk] {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    color: white;
    padding: 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    flex-shrink: 0;
}

/*.chat-messages {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #f8f9fa;
    min-height: 0;
    height: 0;
}*/
/* Messages area scrolls independently */
.chat-messages[b-5rzjxzdyrk] {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 30px;
    padding-bottom: 120px; /* Reserve space so last message isn't hidden by the input */
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 0; /* important for flex child to overflow correctly */
}

.header-content h1[b-5rzjxzdyrk] {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
}

.header-content p[b-5rzjxzdyrk] {
    margin: 5px 0 0 0;
    opacity: 0.9;
    font-size: 14px;
}

.header-actions[b-5rzjxzdyrk] {
    display: flex;
    gap: 10px;
    align-items: center;
}

.btn-secondary[b-5rzjxzdyrk] {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    font-size: 14px;
}

    .btn-secondary:hover[b-5rzjxzdyrk] {
        background: rgba(255, 255, 255, 0.3);
        transform: translateY(-1px);
    }

.welcome-message[b-5rzjxzdyrk] {
    background: white;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    text-align: center;
    max-width: 600px;
    margin: auto;
}

    .welcome-message h2[b-5rzjxzdyrk] {
        color: #667eea;
        margin-bottom: 20px;
        font-size: 28px;
    }

    .welcome-message ul[b-5rzjxzdyrk] {
        text-align: left;
        display: inline-block;
        margin: 20px 0;
    }

    .welcome-message li[b-5rzjxzdyrk] {
        margin: 10px 0;
        color: #555;
    }

    .welcome-message .tip[b-5rzjxzdyrk] {
        margin-top: 30px;
        padding: 15px;
        background: #f0f4ff;
        border-radius: 8px;
        color: #667eea;
    }

.message[b-5rzjxzdyrk] {
    display: flex;
    gap: 12px;
    animation: slideIn-b-5rzjxzdyrk 0.3s ease-out;
    max-width: 85%;
}

@keyframes slideIn-b-5rzjxzdyrk {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.user-message[b-5rzjxzdyrk] {
    align-self: flex-end;
    flex-direction: row-reverse;
}

.bot-message[b-5rzjxzdyrk] {
    align-self: flex-start;
}

.message-avatar[b-5rzjxzdyrk] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.user-message .message-avatar[b-5rzjxzdyrk] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.bot-message .message-avatar[b-5rzjxzdyrk] {
    background: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%);
}

.message-content[b-5rzjxzdyrk] {
    background: white;
    padding: 16px 20px;
    border-radius: 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    position: relative;
}

.user-message .message-content[b-5rzjxzdyrk] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-bottom-right-radius: 4px;
}

.bot-message .message-content[b-5rzjxzdyrk] {
    border-bottom-left-radius: 4px;
}

.user-message .message-content .markdown-content[b-5rzjxzdyrk] {
    color: white;
}

    .user-message .message-content .markdown-content code[b-5rzjxzdyrk] {
        background-color: rgba(255, 255, 255, 0.2);
        color: white;
    }

    .user-message .message-content .markdown-content pre[b-5rzjxzdyrk] {
        background-color: rgba(255, 255, 255, 0.1);
    }

.message-time[b-5rzjxzdyrk] {
    font-size: 11px;
    margin-top: 8px;
    opacity: 0.6;
}

.user-message .message-time[b-5rzjxzdyrk] {
    text-align: right;
    color: rgba(255, 255, 255, 0.8);
}

.bot-message .message-time[b-5rzjxzdyrk] {
    color: #999;
}

.markdown-content[b-5rzjxzdyrk] {
    line-height: 1.6;
}

    .markdown-content h1[b-5rzjxzdyrk],
    .markdown-content h2[b-5rzjxzdyrk],
    .markdown-content h3[b-5rzjxzdyrk] {
        margin-top: 1.5em;
        margin-bottom: 0.5em;
        font-weight: 600;
    }

        .markdown-content h1:first-child[b-5rzjxzdyrk],
        .markdown-content h2:first-child[b-5rzjxzdyrk],
        .markdown-content h3:first-child[b-5rzjxzdyrk] {
            margin-top: 0;
        }

    .markdown-content p[b-5rzjxzdyrk] {
        margin-bottom: 1em;
    }

        .markdown-content p:last-child[b-5rzjxzdyrk] {
            margin-bottom: 0;
        }

    .markdown-content ul[b-5rzjxzdyrk],
    .markdown-content ol[b-5rzjxzdyrk] {
        margin-left: 1.5em;
        margin-bottom: 1em;
    }

    .markdown-content li[b-5rzjxzdyrk] {
        margin-bottom: 0.5em;
    }

    .markdown-content code[b-5rzjxzdyrk] {
        background-color: #f4f4f4;
        padding: 2px 6px;
        border-radius: 3px;
        font-family: 'Courier New', monospace;
        font-size: 0.9em;
    }

    .markdown-content pre[b-5rzjxzdyrk] {
        background-color: #f4f4f4;
        padding: 1em;
        border-radius: 8px;
        overflow-x: auto;
        margin-bottom: 1em;
    }

        .markdown-content pre code[b-5rzjxzdyrk] {
            background-color: transparent;
            padding: 0;
        }

    .markdown-content strong[b-5rzjxzdyrk] {
        font-weight: 600;
    }

    .markdown-content em[b-5rzjxzdyrk] {
        font-style: italic;
    }

    .markdown-content a[b-5rzjxzdyrk] {
        color: #667eea;
        text-decoration: none;
        border-bottom: 1px solid #667eea;
    }

        .markdown-content a:hover[b-5rzjxzdyrk] {
            opacity: 0.8;
        }

.user-message .markdown-content a[b-5rzjxzdyrk] {
    color: white;
    border-bottom-color: rgba(255, 255, 255, 0.5);
}

.typing-indicator[b-5rzjxzdyrk] {
    display: flex;
    gap: 6px;
    padding: 8px 0;
}

    .typing-indicator span[b-5rzjxzdyrk] {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #667eea;
        animation: bounce-b-5rzjxzdyrk 1.4s infinite ease-in-out;
    }

        .typing-indicator span:nth-child(1)[b-5rzjxzdyrk] {
            animation-delay: -0.32s;
        }

        .typing-indicator span:nth-child(2)[b-5rzjxzdyrk] {
            animation-delay: -0.16s;
        }

@keyframes bounce-b-5rzjxzdyrk {
    0%, 80%, 100% {
        transform: scale(0);
        opacity: 0.5;
    }

    40% {
        transform: scale(1);
        opacity: 1;
    }
}

/*.chat-input {
    background: white;
    padding: 20px 30px;
    display: flex;
    gap: 12px;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
    flex-shrink: 0;
}*/
/* Ensure the input bar stays visible at the bottom */
.chat-input[b-5rzjxzdyrk] {
    position: sticky;
    bottom: 0;
    z-index: 20;
    background: white;
    padding: 20px 30px;
    display: flex;
    gap: 12px;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
    flex-shrink: 0;
}

.input-field[b-5rzjxzdyrk] {
    flex: 1;
    padding: 14px 18px;
    border: 2px solid #e0e0e0;
    border-radius: 24px;
    font-size: 15px;
    outline: none;
    transition: all 0.3s ease;
    font-family: inherit;
}

    .input-field:focus[b-5rzjxzdyrk] {
        border-color: #667eea;
        box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    }

    .input-field:disabled[b-5rzjxzdyrk] {
        background: #f5f5f5;
        cursor: not-allowed;
    }

.btn-send[b-5rzjxzdyrk] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 14px 32px;
    border-radius: 24px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

    .btn-send:hover:not(:disabled)[b-5rzjxzdyrk] {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
    }

    .btn-send:disabled[b-5rzjxzdyrk] {
        opacity: 0.5;
        cursor: not-allowed;
        transform: none;
    }

/* Scrollbar styling */
.chat-messages[b-5rzjxzdyrk]::-webkit-scrollbar {
    width: 8px;
}

.chat-messages[b-5rzjxzdyrk]::-webkit-scrollbar-track {
    background: transparent;
}

.chat-messages[b-5rzjxzdyrk]::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

    .chat-messages[b-5rzjxzdyrk]::-webkit-scrollbar-thumb:hover {
        background: rgba(0, 0, 0, 0.3);
    }
/* /Components/Pages/Colour.razor.rz.scp.css */
/* ── Page container ──────────────────────────────────────────────── */
.colour-container[b-7ri4i7volx] {
    min-height: 100vh;
    background: #f5f5f5;
    padding-bottom: 2rem;
}

/* ── Header ──────────────────────────────────────────────────────── */
.colour-page-header[b-7ri4i7volx] {
    background: linear-gradient(135deg, var(--nutec-olive) 0%, var(--nutec-olive-dark) 100%);
    color: white;
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.colour-page-header h1[b-7ri4i7volx] {
    margin: 0 0 0.25rem 0;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.colour-page-header p[b-7ri4i7volx] {
    margin: 0;
    opacity: 0.85;
    font-size: 0.95rem;
}

/* ── Section tabs ─────────────────────────────────────────────────── */
.section-tabs[b-7ri4i7volx] {
    border-bottom: 3px solid #d0d0d0;
}

/* ── Status banner ────────────────────────────────────────────────── */
.status-banner[b-7ri4i7volx] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.5rem;
    font-size: 0.9rem;
}

.status-success[b-7ri4i7volx] {
    background: #d4edda;
    color: #155724;
    border-bottom: 1px solid #c3e6cb;
}

.status-error[b-7ri4i7volx] {
    background: #f8d7da;
    color: #721c24;
    border-bottom: 1px solid #f5c6cb;
}

.status-close[b-7ri4i7volx] {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2rem;
    line-height: 1;
    color: inherit;
    opacity: 0.7;
}

.status-close:hover[b-7ri4i7volx] { opacity: 1; }

/* ── Section content ──────────────────────────────────────────────── */
.section-content[b-7ri4i7volx] {
    padding: 1.5rem;
}

/* ── Buttons ──────────────────────────────────────────────────────── */
.btn-primary[b-7ri4i7volx] {
    background: var(--nutec-olive);
    color: white;
    border: none;
    padding: 0.5rem 1.25rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.15s;
}

.btn-primary:hover:not(:disabled)[b-7ri4i7volx] { background: var(--nutec-olive-dark); }
.btn-primary:disabled[b-7ri4i7volx] { opacity: 0.6; cursor: default; }

.btn-action[b-7ri4i7volx] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.7rem;
    border: none;
    border-radius: 5px;
    font-size: 0.78rem;
    cursor: pointer;
    transition: opacity 0.15s;
}

.btn-action:hover[b-7ri4i7volx] { opacity: 0.8; }

.btn-edit[b-7ri4i7volx] { background: #17a2b8; color: white; }

/* ═══════════════════════════════════════════════════════════════════
   GAMUT COMPARISON
═══════════════════════════════════════════════════════════════════ */

.gamut-workspace[b-7ri4i7volx] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    align-items: flex-start;
}

/* ── Controls panel ─────────────────────────────────────────────── */
.gamut-controls[b-7ri4i7volx] {
    flex: 0 0 300px;
    min-width: 260px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.gamut-controls-heading[b-7ri4i7volx] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--nutec-olive-dark, #5a6e2e);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.gamut-intro[b-7ri4i7volx] {
    font-size: 0.82rem;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* ── Upload groups ──────────────────────────────────────────────── */
.gamut-upload-group[b-7ri4i7volx] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.gamut-upload-label[b-7ri4i7volx] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #444;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.gamut-file-input[b-7ri4i7volx] {
    font-size: 0.8rem;
    padding: 0.3rem 0;
    color: #333;
}

.gamut-name-input[b-7ri4i7volx] {
    font-size: 0.8rem;
}

.gamut-file-selected[b-7ri4i7volx] {
    font-size: 0.78rem;
    color: #555;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    word-break: break-all;
}

/* ── Action row ─────────────────────────────────────────────────── */
.gamut-action-row[b-7ri4i7volx] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}

.gamut-export-btn[b-7ri4i7volx] {
    padding: 0.45rem 0.9rem;
    font-size: 0.82rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.gamut-toggle-label[b-7ri4i7volx] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--text-muted, #a0a8b8);
    cursor: pointer;
    user-select: none;
}

/* ── Metrics panel ──────────────────────────────────────────────── */
.gamut-metrics[b-7ri4i7volx] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.gamut-metric-card[b-7ri4i7volx] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: #f8f9fa;
    border-radius: 6px;
    padding: 0.5rem 0.7rem;
    border-left: 3px solid transparent;
}

.gamut-metric-a[b-7ri4i7volx] { border-color: #ffffff; }
.gamut-metric-b[b-7ri4i7volx] { border-color: #000000; }
.gamut-metric-overlap[b-7ri4i7volx] { border-color: rgba(100,100,100,0.5); }

.gamut-metric-card .metric-swatch[b-7ri4i7volx] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}

.gamut-metric-a .metric-swatch[b-7ri4i7volx]    { background: #ffffff; }
.gamut-metric-b .metric-swatch[b-7ri4i7volx]    { background: #000000; }
.gamut-metric-overlap .metric-swatch[b-7ri4i7volx] { background: rgba(140,140,140,0.6); }

.gamut-metric-card .metric-name[b-7ri4i7volx] {
    font-size: 0.75rem;
    color: #666;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

.gamut-metric-card .metric-value[b-7ri4i7volx] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #222;
    line-height: 1.2;
}

.gamut-metric-card .metric-unit[b-7ri4i7volx] {
    font-size: 0.7rem;
    font-weight: 400;
    color: #777;
}

/* ── Canvas ─────────────────────────────────────────────────────── */
.gamut-canvas-wrapper[b-7ri4i7volx] {
    flex: 1 1 720px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.gamut-canvas-wrapper canvas[b-7ri4i7volx] {
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.18);
    max-width: 100%;
    height: auto;
}

.gamut-canvas-hidden[b-7ri4i7volx] {
    display: none;
}

/* Spin animation for the loading icon */
@keyframes spin-b-7ri4i7volx { to { transform: rotate(360deg); } }
/* /Components/Pages/DdimPlanning.razor.rz.scp.css */
.planning-container[b-mwzxmu1cr4] {
    min-height: 100vh;
    background: #f5f5f5;
    padding-bottom: 2rem;
}

/* Header */
.planning-header[b-mwzxmu1cr4] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.planning-header h1[b-mwzxmu1cr4] {
    margin: 0 0 0.25rem 0;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.planning-header p[b-mwzxmu1cr4] {
    margin: 0;
    opacity: 0.85;
    font-size: 0.95rem;
}

.btn-refresh[b-mwzxmu1cr4] {
    background: rgba(255,255,255,0.15);
    color: white;
    border: 1px solid rgba(255,255,255,0.3);
    padding: 0.5rem 1.25rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transition: background 0.2s;
}

.btn-refresh:hover:not(:disabled)[b-mwzxmu1cr4] {
    background: rgba(255,255,255,0.25);
}

.btn-refresh:disabled[b-mwzxmu1cr4] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Status banner */
.status-banner[b-mwzxmu1cr4] {
    margin: 1rem 2rem;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
}

.status-success[b-mwzxmu1cr4] {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.status-error[b-mwzxmu1cr4] {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.status-close[b-mwzxmu1cr4] {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2rem;
    line-height: 1;
    color: inherit;
    opacity: 0.7;
}

.status-close:hover[b-mwzxmu1cr4] {
    opacity: 1;
}

/* Loading state */
.loading-state[b-mwzxmu1cr4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    color: #666;
    gap: 1rem;
}

.spinner[b-mwzxmu1cr4] {
    width: 40px;
    height: 40px;
    border: 3px solid #e0e0e0;
    border-top-color: #667eea;
    border-radius: 50%;
    animation: spin-b-mwzxmu1cr4 0.8s linear infinite;
}

@keyframes spin-b-mwzxmu1cr4 {
    to { transform: rotate(360deg); }
}

/* Summary stats */
.summary-stats[b-mwzxmu1cr4] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    padding: 1.5rem 2rem 0.5rem;
}

.stat-card[b-mwzxmu1cr4] {
    background: white;
    border-radius: 8px;
    padding: 1.25rem;
    text-align: center;
    border-top: 4px solid #ccc;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.stat-pending[b-mwzxmu1cr4] { border-top-color: #667eea; }
.stat-high[b-mwzxmu1cr4] { border-top-color: #dc3545; }
.stat-produce[b-mwzxmu1cr4] { border-top-color: #fd7e14; }
.stat-hold[b-mwzxmu1cr4] { border-top-color: #28a745; }

.stat-value[b-mwzxmu1cr4] {
    font-size: 2rem;
    font-weight: 700;
    color: #333;
    line-height: 1;
}

.stat-label[b-mwzxmu1cr4] {
    font-size: 0.8rem;
    color: #666;
    margin-top: 0.25rem;
}

/* Filters */
.filter-bar[b-mwzxmu1cr4] {
    display: flex;
    align-items: flex-end;
    gap: 1.5rem;
    padding: 1rem 2rem;
    background: white;
    margin: 1rem 2rem;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    flex-wrap: wrap;
}

.filter-group[b-mwzxmu1cr4] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.filter-group label[b-mwzxmu1cr4] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-buttons[b-mwzxmu1cr4] {
    display: flex;
    gap: 0.35rem;
}

.filter-btn[b-mwzxmu1cr4] {
    padding: 0.3rem 0.8rem;
    border: 1px solid #ddd;
    background: white;
    border-radius: 20px;
    cursor: pointer;
    font-size: 0.8rem;
    color: #555;
    transition: all 0.15s;
}

.filter-btn:hover[b-mwzxmu1cr4] {
    border-color: #667eea;
    color: #667eea;
}

.filter-btn.active[b-mwzxmu1cr4] {
    background: #667eea;
    color: white;
    border-color: #667eea;
}

.filter-btn.produce.active[b-mwzxmu1cr4] { background: #fd7e14; border-color: #fd7e14; }
.filter-btn.hold.active[b-mwzxmu1cr4] { background: #28a745; border-color: #28a745; }
.filter-btn.high.active[b-mwzxmu1cr4] { background: #dc3545; border-color: #dc3545; }
.filter-btn.low.active[b-mwzxmu1cr4] { background: #6c757d; border-color: #6c757d; }

.search-group[b-mwzxmu1cr4] { flex: 1; min-width: 200px; }

.search-input[b-mwzxmu1cr4] {
    padding: 0.35rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.85rem;
    width: 100%;
}

.search-input:focus[b-mwzxmu1cr4] {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 2px rgba(102,126,234,0.2);
}

/* Empty state */
.empty-state[b-mwzxmu1cr4] {
    text-align: center;
    padding: 4rem 2rem;
    color: #888;
}

.empty-state .bi[b-mwzxmu1cr4] {
    font-size: 3rem;
    color: #28a745;
    display: block;
    margin-bottom: 1rem;
}

.empty-state h3[b-mwzxmu1cr4] {
    color: #444;
    margin-bottom: 0.5rem;
}

/* Recommendation grid */
.recommendation-grid[b-mwzxmu1cr4] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
    gap: 1.25rem;
    padding: 0.5rem 2rem 2rem;
}

/* Recommendation card */
.rec-card[b-mwzxmu1cr4] {
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-left: 5px solid #ccc;
    transition: box-shadow 0.2s;
}

.rec-card:hover[b-mwzxmu1cr4] {
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

.card-produce[b-mwzxmu1cr4] { border-left-color: #fd7e14; }
.card-hold[b-mwzxmu1cr4] { border-left-color: #28a745; }
.card-high[b-mwzxmu1cr4] { border-top: 3px solid #dc3545; }

.card-header[b-mwzxmu1cr4] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0.75rem 1rem 0;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.card-badges[b-mwzxmu1cr4] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.badge[b-mwzxmu1cr4] {
    padding: 0.2rem 0.55rem;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.priority-high[b-mwzxmu1cr4] { background: #fce8e8; color: #c0392b; }
.priority-low[b-mwzxmu1cr4] { background: #e8eaf6; color: #5c6bc0; }
.status-produce[b-mwzxmu1cr4] { background: #fff3e0; color: #e65100; }
.status-hold[b-mwzxmu1cr4] { background: #e8f5e9; color: #2e7d32; }
.badge-warning[b-mwzxmu1cr4] { background: #fff8e1; color: #f57f17; }
.badge-expiry[b-mwzxmu1cr4] { background: #fce4ec; color: #c62828; }

.card-expiry[b-mwzxmu1cr4] {
    font-size: 0.72rem;
    color: #999;
    white-space: nowrap;
}

.card-title[b-mwzxmu1cr4] {
    padding: 0.5rem 1rem 0;
}

.card-title h3[b-mwzxmu1cr4] {
    margin: 0;
    font-size: 1.1rem;
    color: #333;
}

.m-code[b-mwzxmu1cr4] {
    display: inline-block;
    font-size: 0.75rem;
    color: #667eea;
    background: #f0f0ff;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    margin-top: 0.2rem;
    font-family: monospace;
}

.description[b-mwzxmu1cr4] {
    margin: 0.3rem 0 0;
    font-size: 0.85rem;
    color: #555;
}

/* Expandable sections (AI Summary & AI Reasoning) */
.expandable-section[b-mwzxmu1cr4] {
    margin: 0.75rem 1rem 0;
    border: 1px solid #e8eaf0;
    border-radius: 6px;
    overflow: hidden;
}

.expandable-toggle[b-mwzxmu1cr4] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.75rem;
    background: #f8f9ff;
    border: none;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: left;
    transition: background 0.15s;
}

.expandable-toggle:hover[b-mwzxmu1cr4] {
    background: #eef0fb;
}

.expandable-label[b-mwzxmu1cr4] {
    flex: 1;
}

.expand-chevron[b-mwzxmu1cr4] {
    font-size: 0.75rem;
    color: #888;
}

.expandable-body[b-mwzxmu1cr4] {
    padding: 0.6rem 0.85rem;
    font-size: 0.83rem;
    color: #444;
    border-top: 1px solid #e8eaf0;
    background: #fff;
}

.decision-summary-body[b-mwzxmu1cr4] {
    border-left: 3px solid #667eea;
}

/* Metrics */
.metrics-grid[b-mwzxmu1cr4] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
    padding: 0 1rem;
}

.metric[b-mwzxmu1cr4] {
    background: #f8f9fa;
    border-radius: 6px;
    padding: 0.5rem;
    text-align: center;
}

.metric-critical[b-mwzxmu1cr4] { background: #fce8e8; }
.metric-warning[b-mwzxmu1cr4] { background: #fff8e1; }
.metric-overdue[b-mwzxmu1cr4] { background: #fce8e8; }

.metric-label[b-mwzxmu1cr4] {
    display: block;
    font-size: 0.68rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 0.2rem;
}

.metric-value[b-mwzxmu1cr4] {
    display: block;
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
}

/* Recommended qty */
.recommended-qty[b-mwzxmu1cr4] {
    margin: 0.75rem 1rem 0;
    padding: 0.5rem 0.85rem;
    background: #e8f4fd;
    border-radius: 6px;
    font-size: 0.85rem;
    color: #1a5276;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.bulk-qty[b-mwzxmu1cr4] {
    color: #5d8aa8;
    font-size: 0.8rem;
}

/* Reasoning */
.reasoning-section[b-mwzxmu1cr4] {
    border-color: #e8eaf0;
}

.reasoning-section .expandable-toggle[b-mwzxmu1cr4] {
    background: #f9f9f9;
}

.reasoning-section .expandable-toggle:hover[b-mwzxmu1cr4] {
    background: #f0f0f0;
}

.reasoning-section h4[b-mwzxmu1cr4] {
    margin: 0 0 0.35rem;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #888;
}

.reasoning-list[b-mwzxmu1cr4] {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.8rem;
    color: #555;
}

.reasoning-list li[b-mwzxmu1cr4] {
    margin-bottom: 0.2rem;
}

/* Data quality flag chips */
.flags-section[b-mwzxmu1cr4] {
    margin: 0.5rem 1rem 0;
    padding: 0.5rem 0.75rem;
    background: #fffde7;
    border-radius: 6px;
    border: 1px solid #fde68a;
}

.flags-section-label[b-mwzxmu1cr4] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #b45309;
    margin-bottom: 0.4rem;
}

.flags-chips[b-mwzxmu1cr4] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.flag-chip[b-mwzxmu1cr4] {
    background: #fff8e1;
    color: #92400e;
    border: 1px solid #fcd34d;
    border-radius: 12px;
    padding: 0.15rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 500;
}

/* Card actions */
.card-actions[b-mwzxmu1cr4] {
    display: flex;
    gap: 0.5rem;
    padding: 1rem;
    margin-top: auto;
    border-top: 1px solid #f0f0f0;
    flex-wrap: wrap;
}

.btn-approve[b-mwzxmu1cr4], .btn-decline[b-mwzxmu1cr4], .btn-decline-reason[b-mwzxmu1cr4] {
    flex: 1;
    min-width: 90px;
    padding: 0.5rem 0.75rem;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    transition: opacity 0.15s, filter 0.15s;
}

.btn-approve[b-mwzxmu1cr4] { background: #28a745; color: white; }
.btn-decline[b-mwzxmu1cr4] { background: #dc3545; color: white; }
.btn-decline-reason[b-mwzxmu1cr4] { background: #fd7e14; color: white; }

.btn-approve:hover:not(:disabled)[b-mwzxmu1cr4],
.btn-decline:hover:not(:disabled)[b-mwzxmu1cr4],
.btn-decline-reason:hover:not(:disabled)[b-mwzxmu1cr4] {
    filter: brightness(1.1);
}

.btn-approve:disabled[b-mwzxmu1cr4],
.btn-decline:disabled[b-mwzxmu1cr4],
.btn-decline-reason:disabled[b-mwzxmu1cr4] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Modal */
.modal-overlay[b-mwzxmu1cr4] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 1rem;
}

.modal-panel[b-mwzxmu1cr4] {
    background: white;
    border-radius: 10px;
    width: 100%;
    max-width: 540px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.modal-header[b-mwzxmu1cr4] {
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    position: relative;
}

.modal-header h2[b-mwzxmu1cr4] {
    margin: 0 0 0.25rem;
    font-size: 1.2rem;
}

.modal-subtitle[b-mwzxmu1cr4] {
    margin: 0;
    font-size: 0.85rem;
    opacity: 0.85;
}

.modal-close[b-mwzxmu1cr4] {
    position: absolute;
    top: 0.75rem;
    right: 1rem;
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    line-height: 1;
    opacity: 0.8;
}

.modal-close:hover[b-mwzxmu1cr4] { opacity: 1; }

.modal-body[b-mwzxmu1cr4] {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-height: 60vh;
    overflow-y: auto;
}

.form-field[b-mwzxmu1cr4] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.form-field label[b-mwzxmu1cr4] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #444;
}

.required[b-mwzxmu1cr4] { color: #dc3545; }

.form-textarea[b-mwzxmu1cr4] {
    padding: 0.6rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.85rem;
    resize: vertical;
    font-family: inherit;
}

.form-textarea:focus[b-mwzxmu1cr4] {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 2px rgba(102,126,234,0.2);
}

.modal-footer[b-mwzxmu1cr4] {
    padding: 1rem 1.5rem;
    border-top: 1px solid #f0f0f0;
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
}

.btn-cancel[b-mwzxmu1cr4] {
    padding: 0.5rem 1.25rem;
    background: #f0f0f0;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    color: #555;
}

.btn-cancel:hover:not(:disabled)[b-mwzxmu1cr4] { background: #e0e0e0; }

.btn-submit-decline[b-mwzxmu1cr4] {
    padding: 0.5rem 1.5rem;
    background: #fd7e14;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.btn-submit-decline:hover:not(:disabled)[b-mwzxmu1cr4] { filter: brightness(1.1); }
.btn-submit-decline:disabled[b-mwzxmu1cr4] { opacity: 0.55; cursor: not-allowed; }

/* Responsive */
@media (max-width: 900px) {
    .summary-stats[b-mwzxmu1cr4] { grid-template-columns: repeat(2, 1fr); }
    .recommendation-grid[b-mwzxmu1cr4] { grid-template-columns: 1fr; padding: 0.5rem 1rem 2rem; }
    .filter-bar[b-mwzxmu1cr4] { margin: 1rem; }
    .planning-header[b-mwzxmu1cr4] { padding: 1.25rem 1rem; }
}

@media (max-width: 480px) {
    .summary-stats[b-mwzxmu1cr4] { grid-template-columns: repeat(2, 1fr); padding: 1rem; }
    .metrics-grid[b-mwzxmu1cr4] { grid-template-columns: repeat(2, 1fr); }
}

/* ─── Decisions toolbar ──────────────────────────────────────────── */
.decisions-toolbar[b-mwzxmu1cr4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
    background: white;
    margin: 1rem 2rem;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    gap: 1rem;
    flex-wrap: wrap;
}

.filter-btn.approved.active[b-mwzxmu1cr4] { background: #28a745; border-color: #28a745; color: white; }
.filter-btn.modified.active[b-mwzxmu1cr4] { background: #fd7e14; border-color: #fd7e14; color: white; }

.btn-export[b-mwzxmu1cr4] {
    padding: 0.45rem 1.25rem;
    background: #1d6f42;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.87rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transition: filter 0.15s;
    white-space: nowrap;
}

.btn-export:hover:not(:disabled)[b-mwzxmu1cr4] { filter: brightness(1.12); }
.btn-export:disabled[b-mwzxmu1cr4] { opacity: 0.55; cursor: not-allowed; }

/* ─── Decisions table ────────────────────────────────────────────── */
.decisions-table-wrapper[b-mwzxmu1cr4] {
    margin: 0 2rem 2rem;
    background: white;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    overflow-x: auto;
}

.decisions-table[b-mwzxmu1cr4] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.decisions-table thead th[b-mwzxmu1cr4] {
    background: #f5f5f5;
    padding: 0.7rem 0.9rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #666;
    border-bottom: 2px solid #e8e8e8;
    white-space: nowrap;
}

.decisions-table tbody tr[b-mwzxmu1cr4] {
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.1s;
}

.decisions-table tbody tr:last-child[b-mwzxmu1cr4] {
    border-bottom: none;
}

.decisions-table tbody tr:hover[b-mwzxmu1cr4] {
    background: #fafafa !important;
}

.decisions-table td[b-mwzxmu1cr4] {
    padding: 0.65rem 0.9rem;
    vertical-align: top;
    color: #333;
}

.row-approved[b-mwzxmu1cr4] { background: #f5fff7; }
.row-modified[b-mwzxmu1cr4] { background: #fffaf4; }

.col-code[b-mwzxmu1cr4] {
    font-family: monospace;
    font-weight: 600;
    white-space: nowrap;
    color: #2c3e50;
}

.col-num[b-mwzxmu1cr4] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.col-date[b-mwzxmu1cr4] {
    white-space: nowrap;
    color: #666;
    font-size: 0.8rem;
}

.col-reason[b-mwzxmu1cr4] {
    max-width: 260px;
}

.reason-text[b-mwzxmu1cr4] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    cursor: help;
}

.reason-suggestion[b-mwzxmu1cr4] {
    margin-top: 0.25rem;
    font-size: 0.78rem;
    color: #888;
}

.text-muted[b-mwzxmu1cr4] {
    color: #bbb;
}

.decision-chip[b-mwzxmu1cr4] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.6rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.chip-approved[b-mwzxmu1cr4] {
    background: #d4edda;
    color: #155724;
}

.chip-modified[b-mwzxmu1cr4] {
    background: #fff3cd;
    color: #856404;
}
/* /Components/Pages/FaqPage.razor.rz.scp.css */
.faq-container[b-6j5rmpdd21] {
    min-height: 100vh;
    background: #f5f5f5;
}

.faq-header[b-6j5rmpdd21] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 60px 30px;
    text-align: center;
}

    .faq-header h1[b-6j5rmpdd21] {
        margin: 0 0 10px 0;
        font-size: 36px;
    }

    .faq-header p[b-6j5rmpdd21] {
        margin: 0 0 30px 0;
        font-size: 18px;
        opacity: 0.9;
    }

.btn-primary[b-6j5rmpdd21] {
    padding: 12px 32px;
    background: white;
    color: #667eea;
    border: none;
    border-radius: 24px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 16px;
}

    .btn-primary:hover[b-6j5rmpdd21] {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    }

.faq-content[b-6j5rmpdd21] {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 30px;
}

.loading[b-6j5rmpdd21], .no-faqs[b-6j5rmpdd21] {
    text-align: center;
    padding: 60px 20px;
    color: #666;
}

    .no-faqs p[b-6j5rmpdd21] {
        margin: 10px 0;
        font-size: 16px;
    }

.faq-category[b-6j5rmpdd21] {
    margin-bottom: 40px;
}

    .faq-category h2[b-6j5rmpdd21] {
        color: #667eea;
        font-size: 24px;
        margin-bottom: 20px;
        padding-bottom: 10px;
        border-bottom: 2px solid #667eea;
    }

.faq-list[b-6j5rmpdd21] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.faq-item[b-6j5rmpdd21] {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transition: box-shadow 0.3s;
}

    .faq-item:hover[b-6j5rmpdd21] {
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }

.faq-question[b-6j5rmpdd21] {
    padding: 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 500;
    color: #333;
    user-select: none;
}

    .faq-question:hover[b-6j5rmpdd21] {
        background: #f8f9ff;
    }

.faq-icon[b-6j5rmpdd21] {
    font-size: 24px;
    color: #667eea;
    font-weight: bold;
    margin-left: 20px;
}

.faq-answer[b-6j5rmpdd21] {
    padding: 0 20px 20px 20px;
    color: #555;
    line-height: 1.6;
    animation: slideDown 0.3s ease-out;
}

@@keyframes slideDown {
    from[b-6j5rmpdd21] {
        opacity: 0;
        max-height: 0;
    }

    to[b-6j5rmpdd21] {
        opacity: 1;
        max-height: 500px;
    }
}

.faq-answer p[b-6j5rmpdd21] {
    margin: 10px 0;
}

.faq-answer ul[b-6j5rmpdd21], .faq-answer ol[b-6j5rmpdd21] {
    margin: 10px 0;
    padding-left: 25px;
}

.faq-answer li[b-6j5rmpdd21] {
    margin: 8px 0;
}

.faq-footer[b-6j5rmpdd21] {
    background: white;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
}

    .faq-footer p[b-6j5rmpdd21] {
        margin: 0 0 20px 0;
        color: #666;
        font-size: 18px;
    }

.btn-secondary[b-6j5rmpdd21] {
    padding: 12px 32px;
    background: #667eea;
    color: white;
    border: none;
    border-radius: 24px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 16px;
}

    .btn-secondary:hover[b-6j5rmpdd21] {
        background: #5568d3;
        transform: translateY(-2px);
    }

@@media (max-width: 768px) {
    .faq-header h1[b-6j5rmpdd21] {
        font-size: 28px;
    }

    .faq-header p[b-6j5rmpdd21] {
        font-size: 16px;
    }

    .faq-content[b-6j5rmpdd21] {
        padding: 30px 20px;
    }

    .faq-question[b-6j5rmpdd21] {
        padding: 15px;
    }

    .faq-answer[b-6j5rmpdd21] {
        padding: 0 15px 15px 15px;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-welcome[b-ukm01i48sp] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 3.5rem);
    padding: 2rem;
    overflow: hidden;
}

/* Background squots pattern (brand element) */
.welcome-squots[b-ukm01i48sp] {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(137,146,94,0.12) 1.5px, transparent 1.5px);
    background-size: 18px 18px;
    pointer-events: none;
    z-index: 0;
    /* Fade out toward the edges */
    mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 40%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 40%, transparent 100%);
}

.welcome-card[b-ukm01i48sp] {
    position: relative;
    z-index: 1;
    background: #ffffff;
    border-radius: 16px;
    padding: 3rem 3.5rem;
    max-width: 620px;
    width: 100%;
    box-shadow: 0 8px 40px rgba(107, 114, 73, 0.15);
    border-top: 4px solid #89925E;
    text-align: center;
}

.welcome-logo-wrap[b-ukm01i48sp] {
    margin-bottom: 1.5rem;
}

.welcome-logo[b-ukm01i48sp] {
    height: 70px;
    width: auto;
}

.welcome-title[b-ukm01i48sp] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #6B7249;
    margin-bottom: 1rem;
}

.welcome-subtitle[b-ukm01i48sp] {
    font-size: 1rem;
    color: #646565;
    line-height: 1.7;
    margin-bottom: 2rem;
}

.welcome-actions[b-ukm01i48sp] {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
}

@media (max-width: 480px) {
    .welcome-card[b-ukm01i48sp] {
        padding: 2rem 1.5rem;
    }

    .welcome-title[b-ukm01i48sp] {
        font-size: 1.4rem;
    }

    .welcome-actions .btn[b-ukm01i48sp] {
        width: 100%;
    }
}
/* /Components/Pages/RdIntegrations.razor.rz.scp.css */
/* ── Page container ──────────────────────────────────────────────── */
.rdintegrations-container[b-ppw41vjtvy] {
    min-height: 100vh;
    background: #f5f5f5;
    padding-bottom: 2rem;
}

/* ── Header ──────────────────────────────────────────────────────── */
.rdintegrations-header[b-ppw41vjtvy] {
    background: linear-gradient(135deg, var(--nutec-olive) 0%, var(--nutec-olive-dark) 100%);
    color: white;
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.rdintegrations-header h1[b-ppw41vjtvy] {
    margin: 0 0 0.25rem 0;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.rdintegrations-header p[b-ppw41vjtvy] {
    margin: 0;
    opacity: 0.85;
    font-size: 0.95rem;
}

.btn-refresh[b-ppw41vjtvy] {
    background: rgba(255,255,255,0.15);
    color: white;
    border: 1px solid rgba(255,255,255,0.3);
    padding: 0.5rem 1.25rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transition: background 0.2s;
}

.btn-refresh:hover:not(:disabled)[b-ppw41vjtvy] {
    background: rgba(255,255,255,0.25);
}

/* ── Status banner ────────────────────────────────────────────────── */
.status-banner[b-ppw41vjtvy] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.5rem;
    font-size: 0.9rem;
}

.status-success[b-ppw41vjtvy] {
    background: #d4edda;
    color: #155724;
    border-bottom: 1px solid #c3e6cb;
}

.status-error[b-ppw41vjtvy] {
    background: #f8d7da;
    color: #721c24;
    border-bottom: 1px solid #f5c6cb;
}

.status-close[b-ppw41vjtvy] {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2rem;
    line-height: 1;
    color: inherit;
    opacity: 0.7;
}

.status-close:hover[b-ppw41vjtvy] { opacity: 1; }

/* ── Sub-tabs bar ─────────────────────────────────────────────────── */
.section-tabs[b-ppw41vjtvy] {
    border-bottom: 3px solid #d0d0d0;
}

.sub-tabs-bar[b-ppw41vjtvy] {
    display: flex;
    background: #f0f0f0;
    border-bottom: 2px solid #ddd;
    padding-left: 1rem;
}

.sub-tab[b-ppw41vjtvy] {
    font-size: 0.85rem;
    padding: 0.65rem 1.2rem;
}

/* ── Section content ──────────────────────────────────────────────── */
.section-content[b-ppw41vjtvy] {
    padding: 1.5rem;
}

/* ── Toolbar ──────────────────────────────────────────────────────── */
.section-toolbar[b-ppw41vjtvy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.filter-group[b-ppw41vjtvy] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.filter-btn[b-ppw41vjtvy] {
    padding: 0.35rem 0.9rem;
    border-radius: 20px;
    border: 1px solid #ccc;
    background: white;
    color: #555;
    cursor: pointer;
    font-size: 0.82rem;
    transition: all 0.15s;
}

.filter-btn:hover[b-ppw41vjtvy] { border-color: var(--nutec-olive); color: var(--nutec-olive); }

.filter-btn--active[b-ppw41vjtvy] {
    background: var(--nutec-olive);
    border-color: var(--nutec-olive-dark);
    color: white;
}

.btn-add[b-ppw41vjtvy] {
    background: var(--nutec-olive);
    color: white;
    border: none;
    padding: 0.45rem 1.1rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.88rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    transition: background 0.15s;
}

.btn-add:hover[b-ppw41vjtvy] { background: var(--nutec-olive-dark); }

/* ── Summary stats ────────────────────────────────────────────────── */
.summary-stats[b-ppw41vjtvy] {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.stat-card[b-ppw41vjtvy] {
    background: white;
    border-radius: 8px;
    padding: 1rem 1.5rem;
    text-align: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    min-width: 110px;
}

.stat-value[b-ppw41vjtvy] {
    font-size: 2rem;
    font-weight: 700;
    color: var(--nutec-olive);
}

.stat-label[b-ppw41vjtvy] {
    font-size: 0.78rem;
    color: #888;
    margin-top: 0.2rem;
}

.stat-inprogress .stat-value[b-ppw41vjtvy] { color: #f0a500; }
.stat-completed  .stat-value[b-ppw41vjtvy] { color: #28a745; }
.stat-overdue    .stat-value[b-ppw41vjtvy] { color: #dc3545; }

/* ── Form card ────────────────────────────────────────────────────── */
.form-card[b-ppw41vjtvy] {
    background: white;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 6px rgba(0,0,0,0.1);
    border-left: 4px solid var(--nutec-olive);
}

.form-card h3[b-ppw41vjtvy] {
    margin: 0 0 1rem 0;
    font-size: 1.05rem;
    color: var(--nutec-olive-dark);
}

.form-grid[b-ppw41vjtvy] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.85rem;
}

.form-group[b-ppw41vjtvy] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.form-group label[b-ppw41vjtvy] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #555;
}

.form-group--full[b-ppw41vjtvy] {
    grid-column: 1 / -1;
}

.required[b-ppw41vjtvy] { color: #dc3545; }

.form-actions[b-ppw41vjtvy] {
    display: flex;
    gap: 0.75rem;
    margin-top: 1rem;
}

.btn-primary[b-ppw41vjtvy] {
    background: var(--nutec-olive);
    color: white;
    border: none;
    padding: 0.5rem 1.25rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.15s;
}

.btn-primary:hover:not(:disabled)[b-ppw41vjtvy] { background: var(--nutec-olive-dark); }
.btn-primary:disabled[b-ppw41vjtvy] { opacity: 0.6; cursor: default; }

.btn-danger[b-ppw41vjtvy] { background: #dc3545; }
.btn-danger:hover:not(:disabled)[b-ppw41vjtvy] { background: #c82333; }

.btn-cancel[b-ppw41vjtvy] {
    background: white;
    color: #555;
    border: 1px solid #ccc;
    padding: 0.5rem 1.25rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: border-color 0.15s;
}

.btn-cancel:hover[b-ppw41vjtvy] { border-color: #999; }

/* ── Dialog overlay ───────────────────────────────────────────────── */
.dialog-overlay[b-ppw41vjtvy] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.dialog-card[b-ppw41vjtvy] {
    background: white;
    border-radius: 10px;
    padding: 2rem;
    max-width: 420px;
    width: 90%;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}

.dialog-card h3[b-ppw41vjtvy] { margin: 0 0 0.75rem 0; font-size: 1.1rem; }
.dialog-card p[b-ppw41vjtvy]  { color: #555; font-size: 0.9rem; margin-bottom: 1rem; }

.dialog-actions[b-ppw41vjtvy] {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

/* ── Tables ───────────────────────────────────────────────────────── */
.table-wrapper[b-ppw41vjtvy] {
    overflow-x: auto;
    background: white;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.rdintegrations-table[b-ppw41vjtvy] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.rdintegrations-table th[b-ppw41vjtvy] {
    background: #f7f7f5;
    padding: 0.65rem 0.85rem;
    text-align: left;
    font-size: 0.78rem;
    font-weight: 700;
    color: #666;
    border-bottom: 2px solid #e8e8e8;
    white-space: nowrap;
}

.rdintegrations-table td[b-ppw41vjtvy] {
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.rdintegrations-table tbody tr:hover[b-ppw41vjtvy] {
    background: #fafafa;
}

.row-overdue[b-ppw41vjtvy] { background: #fff8f8 !important; }

.overdue-cell[b-ppw41vjtvy] { color: #dc3545; font-weight: 600; }

.reasoning-cell[b-ppw41vjtvy] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.action-cell[b-ppw41vjtvy] {
    white-space: nowrap;
    display: flex;
    gap: 0.35rem;
    align-items: center;
    padding-top: 0.55rem;
}

/* ── Badges ───────────────────────────────────────────────────────── */
.priority-badge[b-ppw41vjtvy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5.5rem;
    padding: 0.15rem 0.55rem;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    color: white;
    white-space: nowrap;
}

.priority-critical[b-ppw41vjtvy] { background: #dc3545; }
.priority-high[b-ppw41vjtvy]      { background: #fd7e14; }
.priority-medium[b-ppw41vjtvy]    { background: #f0a500; color: #333; }
.priority-low[b-ppw41vjtvy]       { background: #6c757d; }

.classification-badge[b-ppw41vjtvy] {
    display: inline-block;
    padding: 0.18rem 0.55rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.badge-qc[b-ppw41vjtvy]        { background: #cce5ff; color: #004085; }
.badge-rd[b-ppw41vjtvy]        { background: #d4edda; color: #155724; }
.badge-ncr[b-ppw41vjtvy]       { background: #f8d7da; color: #721c24; }
.badge-customer[b-ppw41vjtvy]  { background: #fff3cd; color: #856404; }
.badge-marketing[b-ppw41vjtvy] { background: #e2d9f3; color: #4a2a6b; }
.badge-staff[b-ppw41vjtvy]     { background: #d1ecf1; color: #0c5460; }
.badge-inkchar[b-ppw41vjtvy]   { background: #fde9d9; color: #7d3a0a; }
.badge-default[b-ppw41vjtvy]   { background: #e9ecef; color: #495057; }

.status-badge[b-ppw41vjtvy] {
    display: inline-block;
    padding: 0.18rem 0.6rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
}

.status-queued[b-ppw41vjtvy]     { background: #e9ecef; color: #495057; }
.status-inprogress[b-ppw41vjtvy] { background: #fff3cd; color: #856404; }
.status-completed[b-ppw41vjtvy]  { background: #d4edda; color: #155724; }
.status-cancelled[b-ppw41vjtvy]  { background: #f8d7da; color: #721c24; }

.status-jobreq-pending[b-ppw41vjtvy]  { background: #fff3cd; color: #856404; }
.status-jobreq-approved[b-ppw41vjtvy] { background: #d4edda; color: #155724; }
.status-jobreq-rejected[b-ppw41vjtvy] { background: #f8d7da; color: #721c24; }

/* ── Action buttons ───────────────────────────────────────────────── */
.btn-action[b-ppw41vjtvy] {
    border: none;
    border-radius: 4px;
    padding: 0.25rem 0.55rem;
    cursor: pointer;
    font-size: 0.8rem;
    transition: opacity 0.15s;
}

.btn-action:hover[b-ppw41vjtvy] { opacity: 0.8; }

.btn-start[b-ppw41vjtvy]    { background: var(--nutec-olive); color: white; }
.btn-complete[b-ppw41vjtvy] { background: #28a745; color: white; }
.btn-priority[b-ppw41vjtvy] { background: #6c757d; color: white; }
.btn-operator[b-ppw41vjtvy] { background: #6610f2; color: white; }
.btn-edit[b-ppw41vjtvy]     { background: #17a2b8; color: white; }
.btn-delete[b-ppw41vjtvy]   { background: #dc3545; color: white; }
.btn-approve[b-ppw41vjtvy]  { background: #28a745; color: white; }
.btn-reject[b-ppw41vjtvy]   { background: #dc3545; color: white; }
.btn-cancel-action[b-ppw41vjtvy] { background: #dc3545; color: white; }
.btn-status[b-ppw41vjtvy]   { background: #fd7e14; color: white; }

/* ── Printer grid cards ───────────────────────────────────────────── */
.printer-grid[b-ppw41vjtvy] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25rem;
}

.printer-card[b-ppw41vjtvy] {
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    border: 2px solid transparent;
    transition: box-shadow 0.2s;
}

.printer-card:hover[b-ppw41vjtvy] { box-shadow: 0 4px 16px rgba(0,0,0,0.12); }

.printer-card--outoforder[b-ppw41vjtvy] {
    border-color: #dc3545;
}

.printer-image[b-ppw41vjtvy] {
    height: 160px;
    overflow: hidden;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.printer-image img[b-ppw41vjtvy] { width: 100%; height: 100%; object-fit: cover; }

.printer-image--placeholder[b-ppw41vjtvy] { font-size: 3.5rem; color: #ccc; }

.printer-info[b-ppw41vjtvy] {
    padding: 1rem;
}

.printer-name[b-ppw41vjtvy] {
    font-size: 1rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 0.2rem;
}

.printer-meta[b-ppw41vjtvy] {
    font-size: 0.8rem;
    color: #777;
    margin-bottom: 0.2rem;
}

.printer-tags[b-ppw41vjtvy] {
    display: flex;
    gap: 0.4rem;
    margin: 0.5rem 0;
    flex-wrap: wrap;
}

.tag[b-ppw41vjtvy] {
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
}

.tag-ink[b-ppw41vjtvy]     { background: #cce5ff; color: #004085; }
.tag-process[b-ppw41vjtvy] { background: #d4edda; color: #155724; }

.printer-status-row[b-ppw41vjtvy] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.5rem;
    font-size: 0.82rem;
}

.status-dot[b-ppw41vjtvy] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.dot-green[b-ppw41vjtvy] { background: #28a745; }
.dot-red[b-ppw41vjtvy]   { background: #dc3545; }

.text-operational[b-ppw41vjtvy] { color: #28a745; font-weight: 600; }
.text-outoforder[b-ppw41vjtvy]  { color: #dc3545; font-weight: 600; }

.repair-date[b-ppw41vjtvy] {
    color: #dc3545;
    font-size: 0.78rem;
    margin-left: 0.25rem;
}

.printer-actions[b-ppw41vjtvy] {
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-top: 1px solid #f0f0f0;
    background: #fafafa;
}

/* ── Empty state ──────────────────────────────────────────────────── */
.empty-state[b-ppw41vjtvy] {
    text-align: center;
    padding: 3rem 1rem;
    color: #aaa;
}

.empty-state .bi[b-ppw41vjtvy] { font-size: 3rem; display: block; margin-bottom: 0.75rem; }
.empty-state p[b-ppw41vjtvy]   { font-size: 0.95rem; }

/* ── Loading state ────────────────────────────────────────────────── */
.loading-state[b-ppw41vjtvy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem;
    color: #888;
}

.spinner[b-ppw41vjtvy] {
    width: 36px;
    height: 36px;
    border: 4px solid #e0e0e0;
    border-top-color: var(--nutec-olive);
    border-radius: 50%;
    animation: spin-b-ppw41vjtvy 0.8s linear infinite;
    margin-bottom: 0.75rem;
}

@keyframes spin-b-ppw41vjtvy { to { transform: rotate(360deg); } }

/* ── rdprint-table (matches Stock Strategy table style) ─────────── */
.rdprint-table[b-ppw41vjtvy] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.rdprint-table th[b-ppw41vjtvy] {
    background: #f8f9fa;
    padding: 0.65rem 0.85rem;
    text-align: left;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #666;
    border-bottom: 2px solid #eee;
    white-space: nowrap;
}

.rdprint-table td[b-ppw41vjtvy] {
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.rdprint-table tr:last-child td[b-ppw41vjtvy] { border-bottom: none; }
.rdprint-table tbody tr:hover td[b-ppw41vjtvy] { background: #fafafa; }

/* ── Activity toolbar layout ────────────────────────────────────── */
.activity-toolbar[b-ppw41vjtvy] {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.6rem;
}

.toolbar-left[b-ppw41vjtvy] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
}

.toolbar-right[b-ppw41vjtvy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.groupby-bar[b-ppw41vjtvy] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding-left: 0.6rem;
    border-left: 1px solid #ddd;
}

.groupby-label[b-ppw41vjtvy] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #888;
    white-space: nowrap;
    font-weight: 600;
}

/* ── View toggle ─────────────────────────────────────────────────── */
.view-toggle[b-ppw41vjtvy] {
    display: flex;
    border: 1px solid #ccc;
    border-radius: 6px;
    overflow: hidden;
}

.view-btn[b-ppw41vjtvy] {
    background: white;
    border: none;
    padding: 0.42rem 0.7rem;
    cursor: pointer;
    font-size: 1rem;
    color: #777;
    line-height: 1;
    transition: background 0.15s, color 0.15s;
}

.view-btn:hover[b-ppw41vjtvy] { background: #f0f0f0; color: var(--nutec-olive); }
.view-btn + .view-btn[b-ppw41vjtvy] { border-left: 1px solid #ccc; }

.view-btn--active[b-ppw41vjtvy] {
    background: var(--nutec-olive);
    color: white;
}

/* ── Group headers ───────────────────────────────────────────────── */
.group-header[b-ppw41vjtvy] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0;
    margin-top: 1.25rem;
    border-bottom: 2px solid var(--nutec-olive);
}

.group-header:first-child[b-ppw41vjtvy] { margin-top: 0; }

.group-header-text[b-ppw41vjtvy] {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--nutec-olive-dark);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.group-count[b-ppw41vjtvy] {
    font-size: 0.72rem;
    background: #e8f0e4;
    color: var(--nutec-olive-dark);
    padding: 0.1rem 0.55rem;
    border-radius: 12px;
    font-weight: 600;
}

/* Table group-header row */
.group-header-row td[b-ppw41vjtvy] {
    background: #f0f4ee;
    padding: 0.4rem 0.85rem;
    border-top: 1px solid #d4e0cc;
    border-bottom: 2px solid #c0d4b8;
}

.group-header-row .group-header-text[b-ppw41vjtvy] {
    font-size: 0.8rem;
}

/* ── Drag-and-drop ───────────────────────────────────────────────── */
.drag-hint[b-ppw41vjtvy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1rem;
    background: #fffde7;
    border: 1px dashed #f0a500;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #7a5200;
    margin-bottom: 0.75rem;
}

.drag-handle[b-ppw41vjtvy] {
    color: #bbb;
    cursor: grab;
    margin-right: 0.25rem;
    font-size: 1rem;
    vertical-align: middle;
}

.drag-handle:active[b-ppw41vjtvy] { cursor: grabbing; }

/* Table drag states */
.rdprint-table tbody tr[draggable="true"][b-ppw41vjtvy] { cursor: grab; }
.rdprint-table tbody tr[draggable="true"]:active[b-ppw41vjtvy] { cursor: grabbing; }

.rdprint-table tbody tr.drag-source[b-ppw41vjtvy] { opacity: 0.4; }

.rdprint-table tbody tr.drag-over td[b-ppw41vjtvy] {
    background: #f0f8ec !important;
    outline: 2px dashed var(--nutec-olive);
    outline-offset: -2px;
}

/* ── Activity cards (matches DDIM Planner card style) ────────────── */
.activity-groups[b-ppw41vjtvy] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.activity-card-grid[b-ppw41vjtvy] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 1rem;
    padding: 0.5rem 0 1rem;
}

.activity-card[b-ppw41vjtvy] {
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border: 2px solid transparent;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.activity-card:hover[b-ppw41vjtvy] { box-shadow: 0 4px 16px rgba(0,0,0,0.12); }

.activity-card[draggable="true"][b-ppw41vjtvy] { cursor: grab; }
.activity-card[draggable="true"]:active[b-ppw41vjtvy] { cursor: grabbing; }

.activity-card--overdue[b-ppw41vjtvy] { border-color: #dc3545; background: #fff8f8; }
.activity-card--dragging[b-ppw41vjtvy] { opacity: 0.4; }

.activity-card--drag-over[b-ppw41vjtvy] {
    border-color: var(--nutec-olive) !important;
    box-shadow: 0 0 0 3px rgba(107,120,68,0.25) !important;
    background: #f0f8ec;
}

.activity-card-header[b-ppw41vjtvy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem 0.5rem;
    border-bottom: 1px solid #f0f0f0;
}

.activity-card-header-left[b-ppw41vjtvy] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.activity-card-body[b-ppw41vjtvy] {
    padding: 0.75rem 1rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.activity-card-ink[b-ppw41vjtvy] {
    font-size: 1rem;
    font-weight: 700;
    color: #333;
}

.activity-card-dates[b-ppw41vjtvy] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.78rem;
    color: #777;
    margin-top: 0.2rem;
}

.activity-date--overdue[b-ppw41vjtvy] { color: #dc3545; font-weight: 600; }

.activity-card-detail[b-ppw41vjtvy] {
    font-size: 0.78rem;
    color: #777;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.activity-card-notes[b-ppw41vjtvy] {
    font-size: 0.78rem;
    color: #999;
    font-style: italic;
    margin-top: 0.2rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.activity-card-footer[b-ppw41vjtvy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.55rem 1rem;
    border-top: 1px solid #f0f0f0;
    background: #fafafa;
}

.activity-card-actions[b-ppw41vjtvy] {
    display: flex;
    gap: 0.3rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* ── Ink formulation family badges ───────────────────────────────── */
.ink-family-badge[b-ppw41vjtvy] {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    vertical-align: middle;
    white-space: nowrap;
}

.ink-family-wb[b-ppw41vjtvy] { background: #cfe2ff; color: #084298; }
.ink-family-sb[b-ppw41vjtvy] { background: #fff3cd; color: #664d03; }
.ink-family-uv[b-ppw41vjtvy] { background: #e9d8fd; color: #4a2d6e; }

/* Spin animation for the loading icon */
@keyframes spin-b-ppw41vjtvy { to { transform: rotate(360deg); } }
/* /Components/Pages/StockStrategy.razor.rz.scp.css */
.strategy-container[b-6ig423lg28] {
    min-height: 100vh;
    background: #f5f5f5;
    padding-bottom: 2rem;
}

/* Header */
.strategy-header[b-6ig423lg28] {
    background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
    color: white;
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.strategy-header h1[b-6ig423lg28] {
    margin: 0 0 0.25rem;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.strategy-header p[b-6ig423lg28] {
    margin: 0;
    opacity: 0.85;
    font-size: 0.95rem;
}

.btn-refresh[b-6ig423lg28] {
    background: rgba(255,255,255,0.15);
    color: white;
    border: 1px solid rgba(255,255,255,0.3);
    padding: 0.5rem 1.25rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transition: background 0.2s;
}

.btn-refresh:hover:not(:disabled)[b-6ig423lg28] { background: rgba(255,255,255,0.25); }
.btn-refresh:disabled[b-6ig423lg28] { opacity: 0.6; cursor: not-allowed; }

/* Status banner */
.status-banner[b-6ig423lg28] {
    margin: 1rem 2rem;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
}

.status-success[b-6ig423lg28] { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.status-error[b-6ig423lg28]   { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }

.status-close[b-6ig423lg28] {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
    color: inherit;
    opacity: 0.7;
}

/* Loading */
.loading-state[b-6ig423lg28] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4rem 2rem;
    color: #666;
}

.spinner[b-6ig423lg28] {
    width: 36px;
    height: 36px;
    border: 3px solid #e0e0e0;
    border-top-color: #3498db;
    border-radius: 50%;
    animation: spin-b-6ig423lg28 0.8s linear infinite;
    margin-bottom: 1rem;
}

@keyframes spin-b-6ig423lg28 { to { transform: rotate(360deg); } }

/* Summary stats */
.summary-stats[b-6ig423lg28] {
    display: flex;
    gap: 1rem;
    padding: 1.5rem 2rem 0;
    flex-wrap: wrap;
}

.stat-card[b-6ig423lg28] {
    background: white;
    border-radius: 8px;
    padding: 0.75rem 1.25rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    min-width: 80px;
    text-align: center;
}

.stat-value[b-6ig423lg28] { font-size: 1.5rem; font-weight: 700; }
.stat-label[b-6ig423lg28] { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.4px; color: #888; margin-top: 0.1rem; }

.stat-total  .stat-value[b-6ig423lg28] { color: #2c3e50; }
.stat-mts    .stat-value[b-6ig423lg28] { color: #27ae60; }
.stat-mto    .stat-value[b-6ig423lg28] { color: #e74c3c; }
.stat-hybrid .stat-value[b-6ig423lg28] { color: #f39c12; }
.stat-conflict .stat-value[b-6ig423lg28] { color: #c0392b; }
.stat-date   .stat-value[b-6ig423lg28] { color: #3498db; font-size: 1.1rem; }

/* Filter bar */
.filter-bar[b-6ig423lg28] {
    display: flex;
    gap: 1.5rem;
    padding: 1rem 2rem;
    background: white;
    margin: 1rem 2rem 0;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    flex-wrap: wrap;
    align-items: flex-end;
}

.filter-group[b-6ig423lg28] { display: flex; flex-direction: column; gap: 0.35rem; }
.filter-group label[b-6ig423lg28] { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.4px; color: #888; }
.filter-buttons[b-6ig423lg28] { display: flex; gap: 0.4rem; flex-wrap: wrap; }

.filter-btn[b-6ig423lg28] {
    padding: 0.35rem 0.85rem;
    border: 1px solid #ddd;
    border-radius: 20px;
    background: white;
    cursor: pointer;
    font-size: 0.82rem;
    transition: all 0.15s;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.filter-btn:hover[b-6ig423lg28] { border-color: #aaa; background: #f5f5f5; }
.filter-btn.active[b-6ig423lg28] { background: #2c3e50; color: white; border-color: #2c3e50; }
.filter-btn.mts.active[b-6ig423lg28]    { background: #27ae60; border-color: #27ae60; }
.filter-btn.mto.active[b-6ig423lg28]    { background: #e74c3c; border-color: #e74c3c; }
.filter-btn.hybrid.active[b-6ig423lg28] { background: #f39c12; border-color: #f39c12; }
.filter-btn.conflict.active[b-6ig423lg28] { background: #c0392b; border-color: #c0392b; }
.filter-btn.aligned.active[b-6ig423lg28]  { background: #27ae60; border-color: #27ae60; }

.search-group[b-6ig423lg28] { flex: 1; min-width: 180px; }
.search-input[b-6ig423lg28] {
    padding: 0.4rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.85rem;
    width: 100%;
    max-width: 300px;
}

/* Empty state */
.empty-state[b-6ig423lg28] {
    text-align: center;
    padding: 4rem 2rem;
    color: #aaa;
}

.empty-state .bi[b-6ig423lg28] { font-size: 3rem; display: block; margin-bottom: 1rem; }
.empty-state h3[b-6ig423lg28]  { color: #666; margin: 0 0 0.5rem; }

/* Table */
.table-wrapper[b-6ig423lg28] {
    margin: 1rem 2rem 0;
    background: white;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    overflow-x: auto;
}

.strategy-table[b-6ig423lg28] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.strategy-table th[b-6ig423lg28] {
    background: #f8f9fa;
    padding: 0.65rem 0.85rem;
    text-align: left;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #666;
    border-bottom: 2px solid #eee;
    white-space: nowrap;
}

.strategy-table td[b-6ig423lg28] {
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.strategy-table tr:last-child td[b-6ig423lg28] { border-bottom: none; }
.strategy-table tr.row-conflict td[b-6ig423lg28] { background: #fff8f8; }
.strategy-table tr:hover td[b-6ig423lg28] { background: #fafafa; }
.strategy-table tr.row-conflict:hover td[b-6ig423lg28] { background: #fff0f0; }

.col-code[b-6ig423lg28] { font-family: monospace; font-weight: 600; white-space: nowrap; }
.col-desc[b-6ig423lg28] { max-width: 220px; }
.col-num[b-6ig423lg28]  { text-align: right; }
.col-date[b-6ig423lg28] { white-space: nowrap; color: #888; font-size: 0.8rem; }
.col-actions[b-6ig423lg28] { width: 50px; text-align: center; }

/* Strategy badges */
.strategy-badge[b-6ig423lg28] {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 4px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.3px;
}

.strategy-mts[b-6ig423lg28]    { background: #d4edda; color: #155724; }
.strategy-mto[b-6ig423lg28]    { background: #f8d7da; color: #721c24; }
.strategy-hybrid[b-6ig423lg28] { background: #fff3cd; color: #856404; }
.strategy-mt0[b-6ig423lg28]    { background: #f8d7da; color: #721c24; } /* typo variant */

.min-stock[b-6ig423lg28] {
    display: inline-block;
    margin-left: 0.4rem;
    font-size: 0.72rem;
    color: #888;
}

/* CV colouring */
.cv-value[b-6ig423lg28]  { font-weight: 600; }
.cv-low[b-6ig423lg28]    { color: #27ae60; }
.cv-med[b-6ig423lg28]    { color: #f39c12; }
.cv-high[b-6ig423lg28]   { color: #e74c3c; }

.months-low[b-6ig423lg28]  { color: #e74c3c; font-weight: 600; }
.months-high[b-6ig423lg28] { color: #27ae60; }

/* Score badges */
.score-badge[b-6ig423lg28] {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.8rem;
}

.score-high[b-6ig423lg28] { background: #d4edda; color: #155724; }
.score-med[b-6ig423lg28]  { background: #fff3cd; color: #856404; }
.score-low[b-6ig423lg28]  { background: #f8d7da; color: #721c24; }

/* Alignment badges */
.alignment-badge[b-6ig423lg28] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 4px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}

.alignment-conflict[b-6ig423lg28]       { background: #f8d7da; color: #721c24; }
.alignment-aligned[b-6ig423lg28]        { background: #d4edda; color: #155724; }
.alignment-no-assessment[b-6ig423lg28]  { background: #e9ecef; color: #6c757d; }

.no-data[b-6ig423lg28] { color: #bbb; }

/* Edit button */
.btn-edit[b-6ig423lg28] {
    background: none;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0.3rem 0.5rem;
    cursor: pointer;
    color: #666;
    font-size: 0.8rem;
    transition: all 0.15s;
}

.btn-edit:hover[b-6ig423lg28] { border-color: #3498db; color: #3498db; background: #ebf5fb; }

/* Table footer */
.table-footer[b-6ig423lg28] {
    margin: 0.5rem 2rem 1rem;
    font-size: 0.8rem;
    color: #999;
    text-align: right;
}

/* Modal / Edit Panel */
.modal-overlay[b-6ig423lg28] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.edit-panel[b-6ig423lg28] {
    background: white;
    border-radius: 10px;
    padding: 1.75rem;
    width: 100%;
    max-width: 440px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}

.edit-panel-header[b-6ig423lg28] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.35rem;
}

.edit-panel-header h3[b-6ig423lg28] {
    margin: 0;
    font-size: 1.05rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.edit-close[b-6ig423lg28] {
    background: none;
    border: none;
    font-size: 1.4rem;
    cursor: pointer;
    color: #aaa;
    line-height: 1;
}

.edit-close:hover[b-6ig423lg28] { color: #333; }

.edit-desc[b-6ig423lg28] {
    font-size: 0.85rem;
    color: #666;
    margin: 0 0 1.25rem;
}

.edit-field[b-6ig423lg28] { margin-bottom: 1.1rem; }

.edit-field > label[b-6ig423lg28] {
    display: block;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #888;
    margin-bottom: 0.45rem;
}

.field-hint[b-6ig423lg28] { font-size: 0.75rem; color: #bbb; text-transform: none; }

.strategy-radio-group[b-6ig423lg28] {
    display: flex;
    gap: 0.6rem;
}

.radio-option[b-6ig423lg28] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 1rem;
    border: 2px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
    transition: all 0.15s;
    flex: 1;
    justify-content: center;
}

.radio-option input[type="radio"][b-6ig423lg28] { display: none; }
.radio-option:hover[b-6ig423lg28] { border-color: #aaa; }
.radio-option.selected.radio-mts[b-6ig423lg28]    { border-color: #27ae60; background: #d4edda; color: #155724; }
.radio-option.selected.radio-hybrid[b-6ig423lg28] { border-color: #f39c12; background: #fff3cd; color: #856404; }
.radio-option.selected.radio-mto[b-6ig423lg28]   { border-color: #e74c3c; background: #f8d7da; color: #721c24; }

.edit-input[b-6ig423lg28] {
    width: 100%;
    padding: 0.45rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 0.9rem;
}

.edit-actions[b-6ig423lg28] {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.btn-save[b-6ig423lg28] {
    flex: 1;
    padding: 0.6rem;
    background: #27ae60;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    transition: background 0.15s;
}

.btn-save:hover:not(:disabled)[b-6ig423lg28] { background: #229954; }
.btn-save:disabled[b-6ig423lg28] { opacity: 0.6; cursor: not-allowed; }

.btn-cancel[b-6ig423lg28] {
    padding: 0.6rem 1.25rem;
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.15s;
}

.btn-cancel:hover:not(:disabled)[b-6ig423lg28] { background: #e8e8e8; }
.btn-cancel:disabled[b-6ig423lg28] { opacity: 0.6; cursor: not-allowed; }
