/**
 * ==========================================
 * Outel Frontend Pages
 * ==========================================
 */


/**
 * ==========================================
 * Customer Dashboard
 * ==========================================
 */


.outel-customer-dashboard {

    width:100%;

    max-width:none;

    padding:20px;

    direction:rtl;

}



/**
 * Welcome Title
 */


.outel-customer-dashboard h2 {

    font-size:32px;

    margin-bottom:30px;

}







/**
 * Dashboard Cards
 */





.outel-dashboard-card h3 {

    margin-top:0;

    margin-bottom:20px;

    font-size:22px;

    color:#111827;

}



.outel-dashboard-card p {

    margin:10px 0;

    color:#374151;

    font-size:15px;

}


/**
 * ==========================================
 * Dashboard Card Enhancement
 * ==========================================
 */





.outel-dashboard-card h3 {

    border-bottom:1px solid #e5e7eb;

    padding-bottom:15px;

}



.outel-dashboard-card p {

    line-height:1.8;

}




/**
 * Orders
 */


.outel-order-item {

    background:#f9fafb;

    border-radius:10px;

    padding:15px;

    margin-bottom:12px;

    border-bottom:1px solid #eee;

}



/**
 * Invoices
 */


.outel-invoice-item {

    background:#f9fafb;

    border-radius:10px;

    padding:15px;

    margin-bottom:12px;

    border-bottom:1px solid #eee;

}



/**
 * Mobile
 */


@media (max-width:768px) {

    .outel-dashboard-top-grid {

        grid-template-columns:100%;

    }

}
/**
 * ==========================================
 * Status Badge
 * ==========================================
 */


.outel-status-badge {

    display:inline-block;

    padding:6px 14px;

    border-radius:20px;

    font-size:13px;

    font-weight:600;

}



.outel-status-active {

    background:#dcfce7;

    color:#166534;

}



.outel-status-pending {

    background:#fef3c7;

    color:#92400e;

}



.outel-status-expired {

    background:#fee2e2;

    color:#991b1b;

}



.outel-status-failed {

    background:#fee2e2;

    color:#991b1b;

}
.outel-data-row {

    display:grid;

    grid-template-columns: repeat(3, 1fr);

    align-items:center;

    gap:20px;

}



@media (max-width:768px){

    .outel-data-row {

        grid-template-columns:1fr;

    }

}

/**
 * ==========================================
 * SaaS Dashboard Layout
 * ==========================================
 */

.outel-dashboard-layout{

    display:flex;
    direction:rtl;
    gap:30px;
    width:100%;
    min-height:100vh;
    padding:40px;
    box-sizing:border-box;
    align-items:flex-start;

}

.outel-dashboard-sidebar{

    width:280px;
    flex-shrink:0;

    display:flex;
    flex-direction:column;
    gap:20px;

}



.outel-dashboard-content{

    flex:1;
    min-width:0;

    background:#f3f4f6;

    border-radius:24px;

    padding:40px;

}





@media (max-width:768px){

    .outel-dashboard-layout{

        flex-direction:column;

    }

    .outel-dashboard-sidebar{

        width:100%;

    }

}



/**
 * ==========================================
 * Customer Card
 * ==========================================
 */

.outel-customer-card{

    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:20px;

    box-shadow:0 4px 15px rgba(0,0,0,.05);

}

.outel-sidebar-user{

    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;

}

.outel-sidebar-user small{

    display:block;
    margin-top:5px;
    color:#6b7280;

}

.outel-avatar{

    width:46px;
    height:46px;

    border-radius:50%;

    background:#2563eb;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-weight:bold;

}

.outel-customer-nav{

    display:flex;
    flex-direction:column;
    gap:8px;

}

.outel-customer-nav a{

    display:flex;
    align-items:center;
    gap:10px;

    padding:12px 14px;

    border-radius:12px;

    color:#374151;

    text-decoration:none;

    transition:.2s;

}

.outel-customer-nav a:hover{

    background:#eff6ff;
    color:#2563eb;

}

.outel-customer-nav a.active{

    background:#eff6ff;
    color:#2563eb;
    font-weight:600;

}

.outel-customer-card hr{

    margin:20px 0;
    border:0;
    border-top:1px solid #e5e7eb;

}

.logout{

    display:block;

    text-align:center;

    padding:12px;

    border-radius:12px;

    color:#dc2626;

    text-decoration:none;

}

.logout:hover{

    background:#fef2f2;

}





.outel-customer-dashboard{

    width:100%;

    max-width:none;

    margin:0;

}






.outel-dashboard-content input[type=text],
.outel-dashboard-content input[type=email],
.outel-dashboard-content input[type=number],
.outel-dashboard-content input[type=url],
.outel-dashboard-content input[type=password],
.outel-dashboard-content select,
.outel-dashboard-content textarea{

    width:100%;

    min-height:48px;

    border:1px solid #d1d5db;

    border-radius:10px;

    padding:12px 15px;

    background:#fff;

    font-size:15px;

    transition:.2s;

}

.outel-dashboard-content textarea{

    min-height:130px;

}

.outel-dashboard-content input:focus,
.outel-dashboard-content textarea:focus,
.outel-dashboard-content select:focus{

    outline:none;

    border-color:#2563eb;

    box-shadow:0 0 0 4px rgba(37,99,235,.12);

}


.outel-dashboard-content button,
.outel-dashboard-content .button,
.outel-dashboard-content input[type=submit]{

    background:#2563eb;

    color:#fff;

    border:none;

    border-radius:10px;

    padding:12px 24px;

    cursor:pointer;

    transition:.2s;

}

.outel-dashboard-content button:hover,
.outel-dashboard-content .button:hover,
.outel-dashboard-content input[type=submit]:hover{

    background:#1d4ed8;

}

.outel-dashboard-content h1{

    font-size:42px;

    margin-bottom:10px;

}

.outel-dashboard-content h2{

    font-size:32px;

    margin-bottom:25px;

}

.outel-dashboard-content h3{

    font-size:24px;

}
/**
 * ==========================================
 * Outel SaaS Dashboard v2
 * ==========================================
 */

.outel-dashboard-hero{

    background:linear-gradient(
        135deg,
        #fbfdff 0%,
        #f3f8ff 100%
    );

    color:#1f2937;

    border:1px solid #dbeafe;

    border-radius:24px;

    padding:45px;

    margin-bottom:30px;

    box-shadow:0 8px 20px rgba(15,23,42,.05);

}

.outel-dashboard-hero h1{

    color:#111827;

    font-weight:700;

}

.outel-dashboard-hero p{

    color:#6b7280;

}






.outel-dashboard-top-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

    gap:22px;

}


.outel-dashboard-card{

    position:relative;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    background:#ffffff;

    border-radius:18px;

    border:1px solid #edf2f7;

    padding:30px;

    min-height:150px;

    box-shadow:0 8px 25px rgba(15,23,42,.08);

    transition:.25s;

}




.outel-dashboard-card:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 45px rgba(15,23,42,.12);

}



.outel-dashboard-card span{

    display:block;

    color:#6b7280;

    font-size:13px;

    text-transform:uppercase;

    letter-spacing:.08em;

    margin-bottom:12px;

}



.outel-dashboard-card h2{

    margin:0;

    font-size:34px;

    color:#111827;

}


.outel-dashboard-card strong{

    display:block;

    margin-top:10px;

    font-size:14px;

    font-weight:600;

    color:#6b7280;

}


.outel-dashboard-actions{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:16px;

    margin-top:20px;

}

.outel-dashboard-actions .button{

    display:flex;

    justify-content:center;

    align-items:center;

    height:56px;

    border-radius:14px;

    background:#eef4ff;

    border:1px solid #c9dcff;

    color:#2b5fd9;

    font-size:15px;

    font-weight:600;

    text-decoration:none;

    transition:.25s;

}

.outel-dashboard-actions .button:hover{

    background:#2563eb;

    border-color:#2563eb;

    color:#fff;

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(37,99,235,.18);

}











.outel-dashboard-card li{

    padding:16px 0;

    border-bottom:1px solid #eef2f7;

    font-size:15px;

}



.outel-dashboard-card li:last-child{

    border-bottom:none;

}





.outel-card-subscription{

    background:#eef5ff;
    border-color:#c7ddff;

}

.outel-card-orders{

    background:#eefbf3;
    border-color:#b8efcf;

}

.outel-card-invoices{

    background:#fff8ec;
    border-color:#ffdca8;

}

.outel-card-account{

    background:#fff2f2;
    border-color:#ffcaca;

}



.outel-dashboard-content{

    background:#f8fafc;

}



.outel-dashboard-sidebar{

    position:sticky;

    top:30px;

}



@media(max-width:768px){

    .outel-dashboard-hero{

        padding:30px;

    }

    .outel-dashboard-hero h1{

        font-size:30px;

    }

}
/*
==========================================
Account Status
==========================================
*/

.outel-account-status{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:20px;

    margin-top:25px;

}

.outel-status-box{

    display:flex;

    align-items:center;

    gap:22px;

    padding:30px;

    border-radius:18px;

}

.outel-status-success{

    background:#eefbf3;

    border:1px solid #b8efcf;

}

.outel-status-icon{

    width:82px;

    height:82px;

    border-radius:50%;

    background:#dff7e8;

    color:#16a34a;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    font-weight:bold;

}

.outel-status-box h4{

    margin:0;

    color:#6b7280;

}

.outel-status-box strong{

    display:block;

    font-size:34px;

    color:#16a34a;

    margin:8px 0;

}

.outel-status-box p{

    margin:0;

    color:#6b7280;

}

.outel-status-mini{

    display:flex;

    justify-content:center;

    align-items:center;

    background:#ffffff;

    border:1px solid #edf2f7;

    border-radius:18px;

    min-height:180px;

    text-align:center;

}

.outel-status-mini span{

    display:block;

    color:#6b7280;

    margin-bottom:12px;

}

.outel-status-mini strong{

    font-size:32px;

    color:#111827;

}

@media(max-width:900px){

    .outel-account-status{

        grid-template-columns:1fr;

    }

}
/*
==========================================
Orders
==========================================
*/

.outel-orders-table{

    margin-top:25px;

}

.outel-orders-head{

    display:grid;

    grid-template-columns:160px 1fr 180px 220px;

    gap:20px;

    align-items:center;

    padding:18px 28px;

    margin-bottom:14px;

    background:#f8fafc;

    border:1px solid #e2e8f0;

    border-radius:14px;

    font-size:14px;

    font-weight:600;

    color:#64748b;

}


.outel-order-row{

    display:grid;

    grid-template-columns:160px 1fr 180px 220px;

    gap:20px;

    align-items:center;

    padding:24px 28px;

    min-height:82px;

    margin-top:12px;

    background:#fff;

    border:1px solid #edf2f7;

    border-radius:14px;

    transition:.25s;

}




.outel-order-row:hover{

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(15,23,42,.08);

}



.outel-badge{

    display:inline-block;

    min-width:100px;

    text-align:center;

    padding:8px 18px;

    border-radius:30px;

    font-size:13px;

    font-weight:600;

}



.outel-success{

    background:#dcfce7;

    color:#15803d;

}

.outel-warning{

    background:#fef3c7;

    color:#b45309;

}

.outel-danger{

    background:#fee2e2;

    color:#b91c1c;

}

.outel-info{

    background:#dbeafe;

    color:#2563eb;

}



.outel-empty-state{

    text-align:center;

    padding:80px 20px;

}

.outel-empty-icon{

    font-size:60px;

    margin-bottom:15px;

    opacity:.6;

}

.outel-order-row strong{

    font-size:18px;

    font-weight:700;

    color:#111827;

}

.outel-order-row div:nth-child(2){

    font-size:17px;

    font-weight:600;

    color:#111827;

}


@media(max-width:900px){

    .outel-orders-head{

        display:none;

    }

    .outel-order-row{

        grid-template-columns:1fr;

        gap:12px;

    }

}



.outel-activity-feed{

    display:flex;
    flex-direction:column;

}

.outel-activity-item{

    padding:18px 0;

    border-bottom:1px solid #edf2f7;

}

.outel-activity-item:last-child{

    border-bottom:none;

}

.outel-activity-item strong{

    display:block;

    font-size:15px;

    color:#111827;

    margin-bottom:6px;

}

.outel-activity-item small{

    color:#6b7280;

    font-size:13px;

}

.outel-activity-more{

    margin-top:20px;

    text-align:center;

}

.outel-activity-more .button{

    min-width:180px;

}
/*
==========================================
Subscription Card Link
==========================================
*/

.outel-dashboard-link{

    display:inline-block;

    margin-top:18px;

    font-size:20px;

    font-weight:700;

    color:#2563eb;

    text-decoration:none;

    transition:.2s;

}

.outel-dashboard-link:hover{

    color:#1d4ed8;

    transform:translateX(-2px);

}
.outel-subscribe-cta{

    text-align:center;

    margin:35px 0 25px;

}
.outel-dashboard-card{

    margin-top:40px;

}





/*
 * ==========================================
 * Invoices Page
 * ==========================================
 */

.outel-invoices-filters {
    margin-top: 25px;
    padding: 22px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
}


.outel-invoice-filter-row {
    display: grid;

    grid-template-columns:
        minmax(220px, 1.6fr)
        minmax(170px, 1fr)
        minmax(160px, 1fr)
        minmax(160px, 1fr)
        auto;

    gap: 16px;

    align-items: end;
}


.outel-invoice-filter-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}


.outel-invoice-filter-field label {
    color: #374151;
    font-size: 13px;
    font-weight: 600;
}


.outel-invoice-filter-field input,
.outel-invoice-filter-field select {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
}


.outel-invoice-filter-actions {
    display: flex;
    align-items: flex-end;
}


.outel-invoice-filter-actions .button {
    min-height: 48px;
    white-space: nowrap;
}



/*
 * ==========================================
 * Invoice Summary
 * ==========================================
 */

.outel-invoices-summary {
    display: flex;
    align-items: center;

    margin-top: 22px;
    margin-bottom: 15px;

    color: #6b7280;
    font-size: 14px;
}


.outel-invoices-summary strong {
    color: #111827;
    font-weight: 700;
}



/*
 * ==========================================
 * Invoice Table
 * ==========================================
 */

.outel-invoices-table-wrapper {
    width: 100%;
    overflow-x: auto;

    margin-top: 10px;

    border: 1px solid #e5e7eb;
    border-radius: 14px;

    background: #ffffff;
}


.outel-invoices-table {
    width: 100%;
    min-width: 760px;

    border-collapse: collapse;

    direction: rtl;
}


.outel-invoices-table th {
    padding: 16px 18px;

    background: #f8fafc;

    border-bottom: 1px solid #e5e7eb;

    color: #64748b;

    font-size: 13px;
    font-weight: 600;

    text-align: right;

    white-space: nowrap;
}


.outel-invoices-table td {
    padding: 18px;

    border-bottom: 1px solid #eef2f7;

    color: #374151;

    font-size: 14px;

    text-align: right;
    vertical-align: middle;
}


.outel-invoices-table tbody tr:last-child td {
    border-bottom: none;
}


.outel-invoices-table tbody tr {
    transition: .2s;
}


.outel-invoices-table tbody tr:hover {
    background: #f9fafb;
}


.outel-invoices-table td strong {
    color: #111827;
    font-weight: 700;
}



/*
 * ==========================================
 * Invoice View Button
 * ==========================================
 */

.outel-invoices-table .button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 80px;
    min-height: 38px;

    padding: 8px 16px;

    border-radius: 9px;

    font-size: 13px;
}



/*
 * ==========================================
 * Empty State
 * ==========================================
 */

.outel-invoices-empty {
    margin-top: 20px;
    padding: 50px 20px;

    background: #f8fafc;

    border: 1px dashed #d1d5db;
    border-radius: 14px;

    color: #6b7280;

    text-align: center;
}


.outel-invoices-empty p {
    margin: 0;
}



/*
 * ==========================================
 * Invoice Page Responsive
 * ==========================================
 */

@media (max-width: 1100px) {

    .outel-invoice-filter-row {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .outel-invoice-filter-actions {
        grid-column: 1 / -1;
    }


    .outel-invoice-filter-actions .button {
        width: 100%;
    }

}


@media (max-width: 768px) {

    .outel-invoices-filters {
        padding: 16px;
    }


    .outel-invoice-filter-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }


    .outel-invoice-filter-actions {
        grid-column: auto;
    }


    .outel-invoice-filter-actions .button {
        width: 100%;
    }


    .outel-invoices-table-wrapper {
        margin-top: 15px;
    }

}


/* ==========================================
   Outel Invoices - Gregorian Date Picker
   ========================================== */

.outel-date-picker-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}


.outel-date-picker-wrapper input {
    direction: ltr;
    text-align: left;
}


.outel-date-picker {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 99999;

    width: 280px;

    background: #fff;

    border: 1px solid #dcdcde;

    border-radius: 8px;

    padding: 12px;

    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);

    direction: ltr;
    text-align: center;
}


.outel-date-picker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
}


.outel-date-picker-header button {
    width: 32px;
    height: 32px;
    padding: 0;

    border: 1px solid #dcdcde;
    background: #f6f7f7;
    border-radius: 5px;

    cursor: pointer;

    font-size: 20px;
    line-height: 30px;
}


.outel-date-picker-header button:hover {
    background: #eee;
}


.outel-date-picker-title {
    flex: 1;

    font-size: 15px;
    font-weight: 600;
    text-align: center;
}


.outel-date-picker-weekdays,
.outel-date-picker-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}


.outel-date-picker-weekdays {
    margin-bottom: 5px;
}


.outel-date-picker-weekdays span {
    font-size: 11px;
    font-weight: 600;
    text-align: center;
    color: #646970;
}


.outel-date-picker-days button {
    width: 34px;
    height: 34px;

    padding: 0;

    border: 0;
    background: transparent;
    border-radius: 5px;

    cursor: pointer;

    font-size: 13px;
}


.outel-date-picker-days button:hover {
    background: #f0f0f1;
}


.outel-date-picker-days button.today {
    font-weight: 700;

    box-shadow:
        inset 0 0 0 1px #2271b1;
}


.outel-date-picker-days button.selected {
    background: #2271b1;
    color: #fff;
    font-weight: 700;
}


.outel-date-picker-days button.selected:hover {
    background: #135e96;
}


.outel-date-empty {
    width: 34px;
    height: 34px;
}

