/* ========================================
   Auth & Dashboard Responsive Design
   ======================================== */

/* ========================================
   Fix Horizontal Overflow - Comprehensive
   ======================================== */

/* Global overflow fix - highest priority */
html {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
}

/* Fix auth pages specifically - override everything */
.login-container,
.register-container {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
}

.login-container *,
.register-container * {
    box-sizing: border-box !important;
}

/* Fix containers */
.login-container .container,
.register-container .container {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Fix rows */
.login-container .row,
.register-container .row {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
}

/* Fix columns */
.login-container .col-md-5,
.login-container .col-md-6,
.login-container .col-lg-5,
.register-container .col-md-6,
.register-container .col-lg-5 {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Fix cards */
.login-container .card,
.register-container .card {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Fix card body */
.login-container .card-body,
.register-container .card-body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Fix forms */
.login-container form,
.register-container form {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Fix input groups */
.login-container .input-group,
.register-container .input-group {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

/* Fix country code select specifically */
#country_code {
    flex-shrink: 0 !important;
    min-width: 100px !important;
    max-width: 120px !important;
}

/* Fix all inputs */
.login-container .form-control,
.login-container .form-select,
.register-container .form-control,
.register-container .form-select {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Mobile specific fixes */
@media (max-width: 768px) {
    /* Override app.css sidebar rules for auth pages */
    .login-container,
    .register-container {
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    
    .login-container .container,
    .register-container .container {
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 15px !important;
        padding-left: 15px !important;
    }
    
    .login-container .col-md-5,
    .login-container .col-md-6,
    .login-container .col-lg-5,
    .register-container .col-md-6,
    .register-container .col-lg-5 {
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 15px !important;
        padding-left: 15px !important;
    }
}

/* RTL specific fixes */
[dir="rtl"] .login-container,
[dir="rtl"] .register-container {
    direction: rtl !important;
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

[dir="rtl"] .login-container .container,
[dir="rtl"] .register-container .container {
    direction: rtl !important;
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* ========================================
   Login/Register Page Responsive
   ======================================== */

/* Extra Small Devices (< 576px) - Small Phones */
@media (max-width: 575.98px) {
    /* Login/Register Container */
    .login-container,
    .register-container {
        padding: 1rem 0;
    }
    
    /* Card adjustments */
    .login-container .card,
    .register-container .card {
        border-radius: 15px;
        margin: 0 0.5rem;
    }
    
    .login-container .card-body,
    .register-container .card-body {
        padding: 1.5rem 1rem;
    }
    
    /* Logo */
    .login-container img,
    .register-container img {
        height: 50px;
    }
    
    /* Headings */
    .login-container h2,
    .register-container h2 {
        font-size: 1.5rem;
    }
    
    .login-container p,
    .register-container p {
        font-size: 0.9rem;
    }
    
    /* Form inputs */
    .form-control-lg,
    .form-select-lg {
        font-size: 1rem;
        padding: 0.5rem 0.75rem;
    }
    
    /* Country code select */
    #country_code {
        max-width: 100px;
        font-size: 0.9rem;
    }
    
    /* Buttons */
    .btn-lg {
        padding: 0.6rem 1rem;
        font-size: 1rem;
    }
    
    /* OTP section */
    #otp-section {
        padding: 1rem 0;
    }
    
    #otp-section h5 {
        font-size: 1.1rem;
    }
    
    /* Alerts */
    .alert {
        font-size: 0.9rem;
        padding: 0.75rem 1rem;
    }
    
    /* Links */
    .text-center a {
        font-size: 0.9rem;
    }
}

/* Small Devices (576px - 767px) - Large Phones */
@media (min-width: 576px) and (max-width: 767.98px) {
    /* Card adjustments */
    .login-container .card,
    .register-container .card {
        margin: 0 1rem;
    }
    
    /* Logo */
    .login-container img,
    .register-container img {
        height: 60px;
    }
    
    /* Headings */
    .login-container h2,
    .register-container h2 {
        font-size: 1.7rem;
    }
}

/* Medium Devices (768px - 991px) - Tablets */
@media (min-width: 768px) and (max-width: 991.98px) {
    /* Card adjustments */
    .login-container .card,
    .register-container .card {
        margin: 0;
    }
    
    /* Logo */
    .login-container img,
    .register-container img {
        height: 70px;
    }
}

/* ========================================
   Dashboard Page Responsive
   ======================================== */

/* Extra Small Devices (< 576px) - Small Phones */
@media (max-width: 575.98px) {
    /* Page header */
    .page-header h1 {
        font-size: 1.5rem;
    }
    
    .page-header p {
        font-size: 0.9rem;
    }
    
    /* Stat cards */
    .stat-card {
        margin-bottom: 1rem;
    }
    
    .stat-icon {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
    }
    
    .stat-content h3 {
        font-size: 1.8rem;
    }
    
    .stat-content p {
        font-size: 0.85rem;
    }
    
    /* Activity/Notification cards */
    .card-header h5 {
        font-size: 1rem;
    }
    
    .card-body {
        padding: 1rem;
    }
    
    /* Spinner */
    .spinner-border {
        width: 2rem;
        height: 2rem;
    }
}

/* Small Devices (576px - 767px) - Large Phones */
@media (min-width: 576px) and (max-width: 767.98px) {
    /* Stat cards */
    .stat-icon {
        width: 55px;
        height: 55px;
        font-size: 1.6rem;
    }
    
    .stat-content h3 {
        font-size: 2rem;
    }
}

/* Medium Devices (768px - 991px) - Tablets */
@media (min-width: 768px) and (max-width: 991.98px) {
    /* Stat cards */
    .stat-icon {
        width: 60px;
        height: 60px;
        font-size: 1.7rem;
    }
    
    .stat-content h3 {
        font-size: 2.2rem;
    }
}

/* ========================================
   RTL Mobile Adjustments
   ======================================== */

@media (max-width: 768px) {
    [dir="rtl"] .login-container h2,
    [dir="rtl"] .register-container h2 {
        font-size: 1.4rem;
    }
    
    [dir="rtl"] .page-header h1 {
        font-size: 1.4rem;
    }
    
    [dir="rtl"] .stat-content h3 {
        font-size: 1.7rem;
    }
}

/* ========================================
   Form Validation Mobile Improvements
   ======================================== */

@media (max-width: 768px) {
    .invalid-feedback {
        font-size: 0.8rem;
        margin-top: 0.25rem;
    }
    
    .form-check-label {
        font-size: 0.9rem;
    }
    
    .form-text {
        font-size: 0.8rem;
    }
}

/* ========================================
   Touch-Friendly Improvements
   ======================================== */

@media (max-width: 768px) {
    /* Increase touch targets */
    .btn {
        min-height: 44px;
    }
    
    .form-control,
    .form-select {
        min-height: 44px;
    }
    
    .form-check-input {
        width: 1.3rem;
        height: 1.3rem;
    }
    
    /* Better spacing for touch */
    .mb-3 {
        margin-bottom: 1rem;
    }
    
    .card-body {
        padding: 1.25rem;
    }
}
