/* =======================================
   GLOBAL
======================================= */

* {
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

body {
    margin: 0;
    background: #080808;
    color: #ffffff;
    direction: ltr;
    text-align: left;
}


/* =======================================
   LOGIN
======================================= */

.login-container {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.login-box {
    width: 350px;
    padding: 35px;
    background: #151515;
    border-radius: 15px;
    text-align: center;
}

.login-box h1 {
    margin: 0 0 10px;
}

.login-box input {
    width: 100%;
    padding: 12px;
    margin: 10px 0;
    background: #222222;
    border: none;
    color: #ffffff;
    border-radius: 8px;
    outline: none;
}

.login-box input:focus {
    box-shadow: 0 0 0 1px #b00000;
}

.login-box button {
    width: 100%;
    padding: 12px;
    margin-top: 15px;
    background: #b00000;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.login-box button:hover {
    background: #c00000;
}

.login-box button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

#error {
    color: #ff3333;
    margin-top: 15px;
}


/* =======================================
   DASHBOARD
======================================= */

.dashboard {
    padding: 30px;
}

.dashboard header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.dashboard button {
    padding: 10px 20px;
    background: #b00000;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.dashboard button:hover {
    background: #c00000;
}


/* =======================================
   CARDS
======================================= */

.cards {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(250px, 1fr)
    );
    gap: 20px;
    margin-top: 40px;
}

.card {
    background: #151515;
    padding: 25px;
    border-radius: 15px;
}

.card a {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 15px;
    background: #b00000;
    color: #ffffff;
    text-decoration: none;
    border-radius: 8px;
}

.card a:hover {
    background: #c00000;
}


/* =======================================
   CARD FORM
======================================= */

.card input,
.card textarea {
    width: 100%;
    padding: 12px;
    margin: 10px 0;
    background: #222222;
    border: none;
    color: #ffffff;
    border-radius: 8px;
    outline: none;
}

.card input:focus,
.card textarea:focus {
    box-shadow: 0 0 0 1px #b00000;
}

.card textarea {
    height: 100px;
    resize: vertical;
}


/* =======================================
   NEWS
======================================= */

.news-item {
    background: #151515;
    padding: 20px;
    margin: 15px 0;
    border-radius: 12px;
}

.news-item button {
    padding: 8px 15px;
    background: #990000;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.news-item button:hover {
    background: #b00000;
}


/* =======================================
   JOINS
======================================= */

.join-item {
    background: #151515;
    padding: 20px;
    margin: 15px 0;
    border-radius: 12px;
}

.join-item button {
    padding: 8px 15px;
    margin: 5px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    color: #ffffff;
}

.accept {
    background: #008000;
}

.accept:hover {
    background: #009900;
}

.reject {
    background: #990000;
}

.reject:hover {
    background: #b00000;
}


/* =======================================
   NEWS FORM - RTL
======================================= */

.news-form {
    direction: rtl;
    text-align: right;
}

.news-form input,
.news-form textarea {
    direction: rtl;
    text-align: right;
}


/* =======================================
   TICKETS
======================================= */

.ticket-item {
    background: #151515;
    padding: 20px;
    margin: 15px 0;
    border-radius: 12px;
}

.ticket-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}

.ticket-actions button {
    padding: 8px 15px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    color: #ffffff;
}


/* =======================================
   RESPONSIVE
======================================= */

@media (max-width: 600px) {

    .dashboard {
        padding: 20px;
    }

    .dashboard header {
        flex-direction: column;
        align-items: stretch;
    }

    .login-box {
        width: 100%;
        max-width: 350px;
        padding: 25px;
    }

    .cards {
        grid-template-columns: 1fr;
    }

}