/* ==========================================================
   STUDENT FORUM
   GLOBAL STYLESHEET
   PART 1 - GLOBAL LAYOUT
========================================================== */

/* ==========================================================
   RESET
========================================================== */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ==========================================================
   THEME
========================================================== */

:root{

    --primary:#ef5981;
    --primary-dark:#d63d68;

    --secondary:#e8bb25;
    --secondary-dark:#d5a90b;

    --success:#22c55e;
    --danger:#ef4444;
    --warning:#f59e0b;
    --info:#3b82f6;

    --text:#2d3748;
    --muted:#718096;

    --background:#f5f7fb;
    --card:#ffffff;
    --border:#eceff3;

    --shadow:
        0 10px 35px rgba(0,0,0,.08);

    --radius:18px;

}

/* ==========================================================
   BODY
========================================================== */

html{

    scroll-behavior:smooth;

}

body{

    background:var(--background);

    color:var(--text);

    font-family:Arial, Helvetica, sans-serif;

    font-size:16px;

    line-height:1.6;

}

/* ==========================================================
   LINKS
========================================================== */

a{

    text-decoration:none;

    color:var(--primary);

    transition:.25s;

}

a:hover{

    color:var(--primary-dark);

}

/* ==========================================================
   HEADINGS
========================================================== */

h1,
h2,
h3,
h4,
h5{

    font-family:'Lemonada',cursive;

    color:var(--primary);

    line-height:1.3;

}

h1{

    font-size:38px;

}

h2{

    font-size:30px;

}

h3{

    font-size:24px;

}

/* ==========================================================
   PARAGRAPHS
========================================================== */

p{

    margin-bottom:14px;

}

/* ==========================================================
   IMAGES
========================================================== */

img{

    max-width:100%;

    display:block;

}

/* ==========================================================
   MAIN
========================================================== */

main{

    width:min(1200px,95%);

    margin:35px auto;

}

/* ==========================================================
   HEADER
========================================================== */

header{

    position:sticky;

    top:0;

    z-index:999;

    background:#fff;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding:15px 30px;

    box-shadow:

        0 3px 15px rgba(0,0,0,.08);

}

.brand{

    flex-shrink:0;

}

.brand a{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:22px;

    font-family:'Lemonada',cursive;

    font-weight:bold;

    color:var(--primary);

}

.brand i{

    color:var(--secondary);

}

/* ==========================================================
   NAVIGATION
========================================================== */

nav{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:8px;

    flex-wrap:wrap;

    flex:1;

}

nav a{

    display:flex;

    align-items:center;

    gap:8px;

    color:#444;

    padding:10px 16px;

    border-radius:12px;

    font-weight:600;

    transition:.25s;

}

nav a:hover{

    background:var(--primary);

    color:#fff;

}

nav a.active{

    background:var(--primary);

    color:#fff;

}

/* ==========================================================
   USER PILL
========================================================== */

.pill{

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:#fff;

    padding:8px 16px;

    border-radius:999px;

    font-size:14px;

    font-weight:bold;

}

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

.card{

    background:var(--card);

    border-radius:24px;

    padding:30px;

    margin-bottom:25px;

    box-shadow:var(--shadow);

}

/* ==========================================================
   GRID
========================================================== */

.grid{

    display:grid;

    grid-template-columns:

        repeat(auto-fit,minmax(300px,1fr));

    gap:25px;

}

.row{

    display:flex;

    gap:20px;

}

.space-between{

    justify-content:space-between;

}

.center{

    align-items:center;

}

/* ==========================================================
   FORM ELEMENTS
========================================================== */

label{

    display:block;

    margin-bottom:6px;

    font-weight:600;

}

input,
select,
textarea{

    width:100%;

    padding:14px 16px;

    border:2px solid var(--border);

    border-radius:14px;

    background:#fff;

    font-size:15px;

    transition:.25s;

}

textarea{

    resize:vertical;

    min-height:120px;

}

input:focus,
select:focus,
textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:

        0 0 0 4px rgba(239,89,129,.15);

}

/* ==========================================================
   BUTTONS
========================================================== */

button,
.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    border:none;

    border-radius:12px;

    padding:12px 22px;

    cursor:pointer;

    font-size:15px;

    font-weight:bold;

    color:#fff;

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

    transition:.25s;

}

button:hover,
.btn:hover{

    transform:translateY(-2px);

    box-shadow:

        0 10px 25px rgba(239,89,129,.25);

}

.btn-secondary{

    background:#f3f4f6;

    color:#444;

}

.btn-danger{

    background:var(--danger);

}

.btn-success{

    background:var(--success);

}

/* ==========================================================
   BADGES
========================================================== */

.badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:24px;

    height:24px;

    padding:0 8px;

    border-radius:999px;

    background:var(--danger);

    color:#fff;

    font-size:12px;

    font-weight:bold;

}

/* ==========================================================
   UTILITIES
========================================================== */

.text-center{

    text-align:center;

}

.text-right{

    text-align:right;

}

.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}

.hidden{

    display:none !important;

}

.muted{

    color:var(--muted);

    font-size:14px;

}

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

@media(max-width:1024px){

    main{

        width:96%;

    }

    .row{

        flex-direction:column;

    }

}

@media(max-width:768px){

    header{

        padding:15px;

    }

    .card{

        padding:20px;

        border-radius:18px;

    }

    h1{

        font-size:30px;

    }

    h2{

        font-size:24px;

    }

    nav{

        gap:4px;

    }

    nav a{

        padding:8px 10px;

        font-size:14px;

    }

}

/* ==========================================================
   PART 2
   THREADS & COMMENTS
==========================================================*/


/*==========================================================
THREAD LIST
==========================================================*/

.thread-card{

    background:#fff;

    border-radius:22px;

    padding:28px;

    margin-bottom:25px;

    box-shadow:var(--shadow);

    transition:.3s;

    border:1px solid var(--border);

}

.thread-card:hover{

    transform:translateY(-4px);

    box-shadow:0 15px 35px rgba(0,0,0,.10);

}

.thread-title{

    color:var(--primary);

    font-size:28px;

    margin-bottom:12px;

    word-break:break-word;

}

.thread-category{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    border-radius:999px;

    background:#fff5d9;

    color:#9b6a00;

    font-weight:700;

    font-size:13px;

    margin-bottom:18px;

}

.thread-author{

    display:flex;

    align-items:center;

    gap:10px;

    color:#777;

    font-size:14px;

    margin-bottom:20px;

}

.thread-author i{

    color:var(--primary);

}

.thread-body{

    font-size:16px;

    line-height:1.9;

    color:#444;

    white-space:pre-wrap;

    word-break:break-word;

}


/*==========================================================
COMMENTS
==========================================================*/

.comments-card{

    background:#fff;

    border-radius:22px;

    padding:30px;

    box-shadow:var(--shadow);

}

.comments-title{

    color:var(--primary);

    margin-bottom:30px;

}


/*==========================================================
COMMENT
==========================================================*/

.comment{

    display:flex;

    align-items:flex-start;

    gap:18px;

    padding:22px;

    margin-bottom:20px;

    border-radius:18px;

    background:#fff;

    border:1px solid var(--border);

    transition:.25s;

    position:relative;

}

.comment:hover{

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(0,0,0,.06);

}

.comment-main{

    flex:1;

    min-width:0;

}


/*==========================================================
NESTED COMMENTS
==========================================================*/

.comment.level-1{

    margin-left:40px;

}

.comment.level-2{

    margin-left:80px;

}

.comment.level-3{

    margin-left:120px;

}

.comment.level-4{

    margin-left:160px;

}

.comment.level-1::before,
.comment.level-2::before,
.comment.level-3::before,
.comment.level-4::before{

    content:"";

    position:absolute;

    left:-20px;

    top:38px;

    width:20px;

    height:2px;

    background:var(--primary);

}


/*==========================================================
AVATAR
==========================================================*/

.avatar{

    width:60px;

    height:60px;

    border-radius:50%;

    object-fit:cover;

    flex-shrink:0;

    border:4px solid var(--secondary);

    background:#eee;

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

}


/*==========================================================
HEADER
==========================================================*/

.comment-head{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:15px;

    flex-wrap:wrap;

    margin-bottom:10px;

}

.comment-user{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:18px;

    font-weight:bold;

    color:#222;

}

.comment-date{

    color:#999;

    font-size:13px;

}


/*==========================================================
BODY
==========================================================*/

.comment p{

    margin:0;

    color:#444;

    line-height:1.8;

    font-size:15px;

}


/*==========================================================
ACTION BAR
==========================================================*/

.comment-actions{

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:18px;

    flex-wrap:wrap;

}

.comment-actions form{

    margin:0;

}


/*==========================================================
ACTION BUTTONS
==========================================================*/

.linkbtn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    height:38px;

    padding:0 18px;

    border-radius:999px;

    border:1px solid #ddd;

    background:#fff;

    color:var(--primary);

    font-size:14px;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}

.linkbtn:hover{

    background:var(--primary);

    color:#fff;

    border-color:var(--primary);

}


/*==========================================================
REPLY FORM
==========================================================*/

.reply-form{

    margin-top:20px;

    padding:18px;

    background:#fafafa;

    border-radius:16px;

    border:1px solid #eee;

}

.reply-form textarea{

    min-height:100px;

}

.reply-form button{

    margin-top:15px;

}


/*==========================================================
DELETED COMMENTS
==========================================================*/

.comment-deleted{

    color:#999;

    font-style:italic;

}


/*==========================================================
ONLINE STATUS
==========================================================*/

.online{

    color:#22c55e;

}

.offline{

    color:#cbd5e1;

}


/*==========================================================
TABLET
==========================================================*/

@media(max-width:1024px){

.comment{

    padding:18px;

}

.avatar{

    width:52px;

    height:52px;

}

.comment.level-1{

    margin-left:25px;

}

.comment.level-2{

    margin-left:50px;

}

.comment.level-3{

    margin-left:75px;

}

.comment.level-4{

    margin-left:100px;

}

}


/*==========================================================
MOBILE
==========================================================*/

@media(max-width:768px){

.thread-card,
.comments-card{

    padding:20px;

}

.thread-title{

    font-size:24px;

}

.comment{

    padding:16px;

    gap:12px;

}

.comment.level-1,
.comment.level-2,
.comment.level-3,
.comment.level-4{

    margin-left:12px;

}

.comment.level-1::before,
.comment.level-2::before,
.comment.level-3::before,
.comment.level-4::before{

    left:-12px;

    width:12px;

}

.avatar{

    width:46px;

    height:46px;

}

.comment-head{

    flex-direction:column;

    align-items:flex-start;

    gap:4px;

}

.comment-user{

    font-size:16px;

}

.comment-date{

    font-size:12px;

}

.comment-actions{

    gap:8px;

}

.linkbtn{

    flex:1;

    min-width:100px;

}

.reply-form{

    padding:14px;

}

}


/*==========================================================
SMALL PHONES
==========================================================*/

@media(max-width:480px){

.comment{

    flex-direction:column;

}

.avatar{

    width:42px;

    height:42px;

}

.comment.level-1,
.comment.level-2,
.comment.level-3,
.comment.level-4{

    margin-left:0;

}

.comment.level-1::before,
.comment.level-2::before,
.comment.level-3::before,
.comment.level-4::before{

    display:none;

}

.linkbtn{

    width:100%;

}

}

/* ==========================================================
   PART 3
   CHAT, MESSAGES & NOTIFICATIONS
==========================================================*/


/*==========================================================
CHAT LIST
==========================================================*/

.chat-list{

    display:flex;

    flex-direction:column;

    gap:18px;

}


/*==========================================================
CONVERSATION CARD
==========================================================*/

.chat-item{

    display:flex;

    align-items:center;

    gap:16px;

    background:#fff;

    border-radius:18px;

    padding:18px;

    border:1px solid var(--border);

    box-shadow:var(--shadow);

    transition:.25s;

}

.chat-item:hover{

    transform:translateY(-3px);

    box-shadow:0 12px 28px rgba(0,0,0,.08);

}

.chat-item-avatar{

    width:60px;

    height:60px;

    border-radius:50%;

    object-fit:cover;

    border:3px solid var(--secondary);

    flex-shrink:0;

}

.chat-item-body{

    flex:1;

    min-width:0;

}

.chat-item-name{

    font-size:18px;

    font-weight:bold;

    color:#222;

}

.chat-item-last{

    color:#777;

    margin-top:6px;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;

}

.chat-item-time{

    color:#999;

    font-size:13px;

}


/*==========================================================
CHAT WINDOW
==========================================================*/

.chat-window{

    background:#fff;

    border-radius:24px;

    box-shadow:var(--shadow);

    overflow:hidden;

}

.chat-header{

    display:flex;

    align-items:center;

    gap:14px;

    padding:20px;

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

    color:#fff;

}

.chat-header img{

    width:54px;

    height:54px;

    border-radius:50%;

    border:3px solid rgba(255,255,255,.7);

}


/*==========================================================
MESSAGE AREA
==========================================================*/

.messages{

    padding:25px;

    background:#fafafa;

    max-height:600px;

    overflow-y:auto;

}


/*==========================================================
MESSAGE ROW
==========================================================*/

.message-row{

    display:flex;

    margin-bottom:16px;

}

.message-row.me{

    justify-content:flex-end;

}

.message-row.them{

    justify-content:flex-start;

}


/*==========================================================
MESSAGE BUBBLE
==========================================================*/

.chat-bubble{

    max-width:70%;

    padding:14px 18px;

    border-radius:18px;

    background:#eceff3;

    color:#333;

    position:relative;

    word-break:break-word;

    line-height:1.6;

}

.chat-bubble.me{

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

    color:#fff;

}

.chat-time{

    margin-top:8px;

    font-size:12px;

    opacity:.75;

}


/*==========================================================
QUOTED MESSAGE
==========================================================*/

.quoted{

    margin-bottom:10px;

    padding:10px 14px;

    border-left:4px solid var(--secondary);

    background:#fff;

    border-radius:10px;

    color:#666;

    font-size:14px;

}


/*==========================================================
MESSAGE FORM
==========================================================*/

.chat-form{

    padding:20px;

    border-top:1px solid var(--border);

    display:flex;

    gap:15px;

    align-items:flex-end;

}

.chat-form textarea{

    min-height:60px;

    max-height:180px;

}

.chat-form button{

    height:54px;

    min-width:120px;

}


/*==========================================================
USER SEARCH
==========================================================*/

.search-result{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    background:#fff;

    padding:18px;

    border-radius:18px;

    border:1px solid var(--border);

    margin-bottom:15px;

    transition:.25s;

}

.search-result:hover{

    transform:translateY(-2px);

}

.search-user{

    display:flex;

    align-items:center;

    gap:14px;

}

.search-user img{

    width:52px;

    height:52px;

    border-radius:50%;

}


/*==========================================================
ONLINE STATUS
==========================================================*/

.online-dot{

    width:12px;

    height:12px;

    border-radius:50%;

    background:#22c55e;

    display:inline-block;

}

.offline-dot{

    width:12px;

    height:12px;

    border-radius:50%;

    background:#cbd5e1;

    display:inline-block;

}


/*==========================================================
NOTIFICATION BADGE
==========================================================*/

.nav-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:22px;

    height:22px;

    padding:0 6px;

    border-radius:999px;

    background:#ef4444;

    color:#fff;

    font-size:11px;

    font-weight:bold;

    animation:pulse 1.2s infinite;

}

@keyframes pulse{

0%{

transform:scale(1);

}

50%{

transform:scale(1.15);

}

100%{

transform:scale(1);

}

}


/*==========================================================
UNREAD MESSAGE
==========================================================*/

.unread{

    background:#fff8ec;

    border-left:5px solid var(--secondary);

}


/*==========================================================
TABLET
==========================================================*/

@media(max-width:1024px){

.chat-bubble{

    max-width:80%;

}

.messages{

    max-height:500px;

}

}


/*==========================================================
MOBILE
==========================================================*/

@media(max-width:768px){

.chat-item{

    padding:15px;

}

.chat-item-avatar{

    width:48px;

    height:48px;

}

.chat-item-name{

    font-size:16px;

}

.chat-header{

    padding:15px;

}

.chat-header img{

    width:46px;

    height:46px;

}

.messages{

    padding:18px;

}

.chat-bubble{

    max-width:90%;

    font-size:15px;

}

.chat-form{

    flex-direction:column;

}

.chat-form button{

    width:100%;

}

.search-result{

    flex-direction:column;

    align-items:flex-start;

}

}


/*==========================================================
SMALL DEVICES
==========================================================*/

@media(max-width:480px){

.chat-item{

    gap:10px;

}

.chat-item-avatar{

    width:42px;

    height:42px;

}

.chat-header{

    flex-direction:column;

    text-align:center;

}

.chat-bubble{

    max-width:100%;

}

.messages{

    padding:14px;

}

}

/* ==========================================================
   PART 4
   ADMIN • TABLES • AUTH • UTILITIES
==========================================================*/


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

.dashboard{

    display:grid;

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

    gap:25px;

    margin-bottom:35px;

}

.stat-card{

    background:#fff;

    border-radius:22px;

    padding:30px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.3s;

    border-top:5px solid var(--primary);

}

.stat-card:hover{

    transform:translateY(-5px);

}

.stat-card i{

    font-size:40px;

    color:var(--primary);

    margin-bottom:15px;

}

.stat-card h2{

    font-size:36px;

    margin:10px 0;

}

.stat-card p{

    color:#777;

}


/*==========================================================
TABLES
==========================================================*/

.table-responsive{

    overflow-x:auto;

}

table{

    width:100%;

    border-collapse:collapse;

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:var(--shadow);

}

thead{

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

    color:#fff;

}

thead th{

    padding:18px;

    text-align:left;

    font-weight:bold;

}

tbody td{

    padding:16px 18px;

    border-bottom:1px solid #eee;

}

tbody tr{

    transition:.2s;

}

tbody tr:hover{

    background:#fafafa;

}

tbody tr:last-child td{

    border-bottom:none;

}


/*==========================================================
STATUS BADGES
==========================================================*/

.status{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 14px;

    border-radius:999px;

    font-size:13px;

    font-weight:bold;

}

.status-success{

    background:#dcfce7;

    color:#15803d;

}

.status-warning{

    background:#fef3c7;

    color:#b45309;

}

.status-danger{

    background:#fee2e2;

    color:#b91c1c;

}

.status-info{

    background:#dbeafe;

    color:#1d4ed8;

}


/*==========================================================
ALERTS
==========================================================*/

.alert{

    padding:18px;

    border-radius:16px;

    margin-bottom:20px;

    font-weight:600;

}

.alert-success{

    background:#dcfce7;

    color:#166534;

}

.alert-warning{

    background:#fef3c7;

    color:#92400e;

}

.alert-danger{

    background:#fee2e2;

    color:#991b1b;

}

.alert-info{

    background:#dbeafe;

    color:#1d4ed8;

}


/*==========================================================
TOASTS
==========================================================*/

#toastContainer{

    position:fixed;

    top:20px;

    right:20px;

    display:flex;

    flex-direction:column;

    gap:12px;

    z-index:999999;

}

.toast{

    min-width:300px;

    background:#fff;

    border-left:6px solid var(--primary);

    border-radius:16px;

    padding:18px;

    box-shadow:var(--shadow);

    animation:slideIn .35s ease;

}

@keyframes slideIn{

from{

opacity:0;

transform:translateX(60px);

}

to{

opacity:1;

transform:translateX(0);

}

}


/*==========================================================
AUTH PAGES
==========================================================*/

.auth-container{

    max-width:500px;

    margin:60px auto;

}

.auth-card{

    background:#fff;

    padding:35px;

    border-radius:24px;

    box-shadow:var(--shadow);

}

.auth-card h1{

    text-align:center;

    margin-bottom:25px;

}

.auth-card button{

    width:100%;

}


/*==========================================================
PROFILE
==========================================================*/

.profile-card{

    text-align:center;

    background:#fff;

    border-radius:24px;

    padding:35px;

    box-shadow:var(--shadow);

}

.profile-avatar{

    width:120px;

    height:120px;

    border-radius:50%;

    margin:auto;

    border:5px solid var(--secondary);

    object-fit:cover;

}


/*==========================================================
EMPTY STATES
==========================================================*/

.empty-state{

    text-align:center;

    padding:50px 20px;

    color:#777;

}

.empty-state i{

    font-size:60px;

    color:#ddd;

    margin-bottom:20px;

}


/*==========================================================
LOADER
==========================================================*/

.loader{

    width:50px;

    height:50px;

    border:5px solid #eee;

    border-top:5px solid var(--primary);

    border-radius:50%;

    animation:spin 1s linear infinite;

    margin:auto;

}

@keyframes spin{

to{

transform:rotate(360deg);

}

}


/*==========================================================
PAGINATION
==========================================================*/

.pagination{

    display:flex;

    justify-content:center;

    gap:10px;

    margin-top:30px;

}

.pagination a{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:10px;

    background:#fff;

    color:#555;

    box-shadow:var(--shadow);

}

.pagination a:hover{

    background:var(--primary);

    color:#fff;

}

.pagination .active{

    background:var(--primary);

    color:#fff;

}


/*==========================================================
FOOTER
==========================================================*/

footer{

    margin-top:50px;

    padding:25px;

    text-align:center;

    color:#777;

    font-size:14px;

}


/*==========================================================
ANIMATIONS
==========================================================*/

.fade-in{

    animation:fadeIn .4s ease;

}

@keyframes fadeIn{

from{

opacity:0;

transform:translateY(15px);

}

to{

opacity:1;

transform:translateY(0);

}

}


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

@media(max-width:1024px){

.dashboard{

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

}

}

@media(max-width:768px){

.dashboard{

    grid-template-columns:1fr;

}

.stat-card{

    padding:24px;

}

thead{

    display:none;

}

table,
tbody,
tr,
td{

    display:block;

    width:100%;

}

tbody tr{

    margin-bottom:20px;

    border-radius:16px;

    overflow:hidden;

    box-shadow:var(--shadow);

}

tbody td{

    text-align:right;

    position:relative;

    padding-left:45%;

}

tbody td::before{

    content:attr(data-label);

    position:absolute;

    left:18px;

    font-weight:bold;

    color:#555;

}

.auth-card{

    padding:25px;

}

.toast{

    min-width:unset;

    width:calc(100vw - 40px);

}

}

@media(max-width:480px){

h1{

    font-size:28px;

}

h2{

    font-size:22px;

}

.stat-card h2{

    font-size:30px;

}

.profile-avatar{

    width:90px;

    height:90px;

}

}