/* ==========================================
   REMOTE IT SUPPORT PORTAL
   Global Styles
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;
    background:#F4F6F9;
    color:#333;
    line-height:1.6;

}


/* ==========================================
   Navigation
========================================== */

nav{

    background:#1565C0;
    color:#fff;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:15px 40px;

    box-shadow:0 2px 10px rgba(0,0,0,.10);

}

.logo{

    font-size:24px;
    font-weight:bold;

}

.menu{

    display:flex;
    align-items:center;
    gap:20px;

}

.menu a{

    color:#fff;
    text-decoration:none;
    font-weight:500;
    transition:.3s;

}

.menu a:hover{

    color:#E3F2FD;

}


/* ==========================================
   Container
========================================== */

.container{

    width:90%;
    max-width:1200px;

    margin:40px auto;

}


/* ==========================================
   Cards
========================================== */

.card{

    background:#fff;

    padding:25px;

    border-radius:12px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    margin-bottom:25px;

}


/* ==========================================
   Headings
========================================== */

h1{

    margin-bottom:15px;
    color:#1565C0;

}

h2{

    margin-bottom:15px;

}

h3{

    margin-bottom:10px;

}


/* ==========================================
   Forms
========================================== */

form{

    margin-top:20px;

}

label{

    display:block;

    margin-top:15px;
    margin-bottom:8px;

    font-weight:600;

}

input,
select,
textarea{

    width:100%;

    padding:12px;

    border:1px solid #CCC;

    border-radius:8px;

    font-size:15px;

    transition:.3s;

}

input:focus,
select:focus,
textarea:focus{

    outline:none;

    border-color:#1565C0;

    box-shadow:0 0 6px rgba(21,101,192,.25);

}

textarea{

    min-height:150px;
    resize:vertical;

}


/* ==========================================
   Buttons
========================================== */

button{

    margin-top:20px;

    background:#1565C0;

    color:#fff;

    border:none;

    padding:12px 24px;

    border-radius:8px;

    cursor:pointer;

    font-size:15px;

    transition:.3s;

}

button:hover{

    background:#0D47A1;

}


/* ==========================================
   Tables
========================================== */

table{

    width:100%;
    border-collapse:collapse;

}

th{

    background:#1565C0;
    color:#fff;

    padding:12px;

}

td{

    padding:12px;

    border-bottom:1px solid #EEE;

}

tr:hover{

    background:#F8F9FA;

}


/* ==========================================
   Ticket Cards
========================================== */

.ticket-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(320px,1fr));

    gap:20px;

}

.ticket-card{

    background:#fff;

    border-radius:12px;

    padding:20px;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.ticket-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:15px;

}

.status{

    background:#1565C0;

    color:#fff;

    padding:5px 12px;

    border-radius:30px;

    font-size:13px;

}


/* ==========================================
   Dashboard Statistics
========================================== */

.stats{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(220px,1fr));

    gap:20px;

    margin-bottom:30px;

}

.stat-card{

    background:#fff;

    border-radius:12px;

    padding:25px;

    text-align:center;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.stat-card h2{

    color:#1565C0;

    font-size:34px;

}


/* ==========================================
   Footer
========================================== */

footer{

    margin-top:60px;

    padding:25px;

    text-align:center;

    color:#777;

}


/* ==========================================
   Mobile
========================================== */

@media(max-width:768px){

nav{

    flex-direction:column;

    gap:15px;

    padding:20px;

}

.menu{

    flex-direction:column;

}

.container{

    width:95%;

}

}
/* ==========================================
   Authentication Pages
========================================== */

.auth-container{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#F4F6F9;

    padding:20px;

}

.auth-card{

    width:100%;
    max-width:450px;

    background:#fff;

    padding:40px;

    border-radius:16px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.auth-card h1{

    text-align:center;

    margin-bottom:10px;

    color:#1565C0;

}

.auth-card p{

    text-align:center;

    color:#666;

    margin-bottom:30px;

}

.auth-footer{

    text-align:center;

    margin-top:25px;

}

.auth-footer a{

    color:#1565C0;

    text-decoration:none;

    font-weight:bold;

}

.auth-footer a:hover{

    text-decoration:underline;

}

.full-width{

    width:100%;

}
/* ==============================
   Dashboard
============================== */

.dashboard-actions{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:25px;

    margin-top:30px;

}

.dashboard-actions a{

    text-decoration:none;

    color:inherit;

}

.action-card{

    background:#fff;

    padding:30px;

    border-radius:16px;

    text-align:center;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.3s;

}

.action-card:hover{

    transform:translateY(-6px);

    box-shadow:0 15px 30px rgba(0,0,0,.12);

}

.action-icon{

    font-size:50px;

    margin-bottom:15px;

}

.action-card h2{

    color:#1565C0;

    margin-bottom:10px;

}

.action-card p{

    color:#666;

}
/* Ticket Status */

.status-open{

    background:#1976D2;

}

.status-waiting{

    background:#FB8C00;

}

.status-resolved{

    background:#2E7D32;

}

.status-closed{

    background:#616161;

}
/* ==============================
   Conversation Chat
============================== */


.conversation{

    display:flex;

    flex-direction:column;

    gap:15px;

    margin:25px 0;

}


.message{

    max-width:75%;

    padding:15px;

    border-radius:15px;

}


.message-header{

    display:flex;

    justify-content:space-between;

    gap:20px;

    margin-bottom:8px;

    font-size:14px;

}


.message-header span{

    color:#777;

    font-size:12px;

}


.my-message{

    align-self:flex-end;

    background:#1565C0;

    color:white;

    border-bottom-right-radius:3px;

}


.my-message .message-header span{

    color:#E3F2FD;

}



.other-message{

    align-self:flex-start;

    background:#E9EEF5;

    color:#333;

    border-bottom-left-radius:3px;

}



.reply-box textarea{

    min-height:100px;

}
/* ==============================
   Ticket Header
============================== */


.ticket-title-box{

    background:white;

    padding:25px;

    border-radius:12px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;

}


.ticket-title-box h1{

    margin-bottom:5px;

}


.ticket-title-box h3{

    color:#555;

}



.ticket-info{

    background:#fff;

    padding:20px;

    border-radius:12px;

    display:flex;

    gap:60px;

    box-shadow:0 5px 15px rgba(0,0,0,.06);

    margin-bottom:25px;

}


@media(max-width:600px){

    .ticket-title-box{

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }


    .ticket-info{

        flex-direction:column;

        gap:15px;

    }

}
.recent-ticket{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:15px 0;

}


.recent-ticket h3{

    color:#1565C0;

    margin-bottom:8px;

}


@media(max-width:600px){

    .recent-ticket{

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }

}
.filter-box{

    background:white;

    padding:20px;

    border-radius:12px;

    margin-bottom:25px;

    display:flex;

    gap:15px;

    align-items:center;

}


@media(max-width:600px){

    .filter-box{

        flex-direction:column;

        align-items:flex-start;

    }

}
.priority{

    padding:5px 12px;

    border-radius:20px;

    font-size:13px;

    font-weight:bold;

}


.priority-emergency{

    background:#ffdddd;

    color:#c62828;

}


.priority-high{

    background:#fff3cd;

    color:#856404;

}


.priority-normal{

    background:#d4edda;

    color:#2e7d32;

}
.filter-box input{

    flex:1;

    min-width:250px;

    padding:10px 15px;

    border:1px solid #ddd;

    border-radius:8px;

}
.attachment-card{

    display:flex;

    justify-content:space-between;

    align-items:center;

    background:#f5f5f5;

    padding:12px;

    margin-bottom:10px;

    border-radius:8px;

}