﻿:root{
    --mx-bg:#06100e;
    --mx-bg2:#091714;
    --mx-panel:#0d1d19;
    --mx-panel2:#10251f;
    --mx-panel3:#132c25;

    --mx-green:#00e6a0;
    --mx-green2:#35f0b4;

    --mx-gold:#d7b56d;
    --mx-gold2:#f0d899;

    --mx-text:#f4faf7;
    --mx-muted:#91aaa3;

    --mx-line:rgba(255,255,255,.075);
    --mx-shadow:0 25px 80px rgba(0,0,0,.28);

    --radius:22px;
}

*{
    box-sizing:border-box;
}

html,
body{
    margin:0;
    padding:0;
    min-height:100%;
}

body{
    direction:rtl;
    font-family:"Vazirmatn",Tahoma,sans-serif;
    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(0,230,160,.06),
            transparent 30%
        ),
        var(--mx-bg);
    color:var(--mx-text);
}

button,
input,
textarea,
select{
    font:inherit;
}

button{
    cursor:pointer;
}

.hidden{
    display:none !important;
}


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

.mx-login{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
    position:relative;
    overflow:hidden;
}

.mx-login-bg{
    position:absolute;
    inset:0;

    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(0,230,160,.15),
            transparent 30%
        ),
        radial-gradient(
            circle at 85% 80%,
            rgba(215,181,109,.10),
            transparent 30%
        );
}

.mx-login-card{
    position:relative;
    width:min(480px,100%);
    background:
        linear-gradient(
            145deg,
            rgba(18,42,35,.96),
            rgba(7,17,15,.98)
        );
    border:1px solid var(--mx-line);
    border-radius:30px;
    padding:35px;
    box-shadow:var(--mx-shadow);
    backdrop-filter:blur(20px);
}

.mx-brand{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:45px;
}

.mx-logo{
    width:50px;
    height:50px;
    border-radius:16px;

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

    background:
        linear-gradient(
            135deg,
            var(--mx-green),
            #078b68
        );

    color:#02110c;
    font-weight:900;
    font-size:17px;

    box-shadow:
        0 0 30px
        rgba(0,230,160,.18);
}

.mx-brand strong{
    display:block;
    font-size:18px;
    letter-spacing:2px;
}

.mx-brand span{
    display:block;
    color:var(--mx-muted);
    font-size:11px;
    margin-top:3px;
}

.mx-login-title span,
.mx-page-intro span{
    color:var(--mx-green);
    font-size:12px;
    font-weight:700;
}

.mx-login-title h1{
    font-size:32px;
    margin:8px 0;
}

.mx-login-title p{
    color:var(--mx-muted);
    font-size:13px;
    line-height:2;
    margin:0 0 28px;
}

.mx-field{
    margin-bottom:16px;
}

.mx-field label{
    display:block;
    font-size:12px;
    color:var(--mx-muted);
    margin-bottom:8px;
}

.mx-field input,
.mx-field textarea,
.mx-field select{
    width:100%;
    border:1px solid var(--mx-line);
    background:rgba(255,255,255,.035);
    color:var(--mx-text);
    border-radius:14px;
    padding:14px 15px;
    outline:none;
    transition:.2s;
}

.mx-field input:focus,
.mx-field textarea:focus,
.mx-field select:focus{
    border-color:rgba(0,230,160,.55);
    box-shadow:
        0 0 0 4px
        rgba(0,230,160,.07);
}

.mx-primary-btn{
    width:100%;
    border:0;
    border-radius:15px;
    padding:15px 18px;

    background:
        linear-gradient(
            135deg,
            var(--mx-green),
            #08a977
        );

    color:#02110c;
    font-weight:900;

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

    box-shadow:
        0 15px 35px
        rgba(0,230,160,.13);
}

.mx-primary-btn:hover{
    filter:brightness(1.08);
    transform:translateY(-1px);
}

.mx-otp{
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid var(--mx-line);
}

.mx-message{
    min-height:22px;
    margin-top:12px;
    font-size:12px;
    line-height:1.8;
}

.mx-message.error{
    color:#ff8787;
}

.mx-message.success{
    color:var(--mx-green);
}

.mx-message.warning{
    color:var(--mx-gold2);
}

.mx-login-footer{
    margin-top:28px;
    padding-top:18px;
    border-top:1px solid var(--mx-line);

    display:flex;
    justify-content:space-between;

    color:var(--mx-muted);
    font-size:10px;
}

.mx-login-footer b{
    color:var(--mx-gold);
    letter-spacing:2px;
}


/* =========================================================
   APP
========================================================= */

.mx-app{
    min-height:100vh;
    display:flex;
}

.mx-sidebar{
    width:292px;
    flex:0 0 292px;

    position:fixed;
    top:0;
    bottom:0;
    right:0;

    padding:25px 18px;

    background:
        linear-gradient(
            180deg,
            #0a1915,
            #07110f
        );

    border-left:1px solid var(--mx-line);

    z-index:100;

    display:flex;
    flex-direction:column;
}

.mx-sidebar-brand{
    display:flex;
    align-items:center;
    gap:12px;
    padding:4px 8px 25px;
}

.mx-sidebar-brand strong{
    display:block;
    font-size:17px;
    letter-spacing:2px;
}

.mx-sidebar-brand span{
    display:block;
    color:var(--mx-muted);
    font-size:9px;
    letter-spacing:1px;
    margin-top:3px;
}

.mx-user-card{
    padding:15px;
    border-radius:18px;
    background:
        linear-gradient(
            135deg,
            rgba(0,230,160,.08),
            rgba(255,255,255,.025)
        );
    border:1px solid var(--mx-line);

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

    margin-bottom:20px;
}

.mx-avatar,
.mx-mini-avatar,
.mx-profile-avatar{
    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            var(--mx-green),
            #087b5d
        );

    color:#03110d;
    font-weight:900;
}

.mx-avatar{
    width:44px;
    height:44px;
    border-radius:14px;
}

.mx-user-card strong{
    display:block;
    font-size:12px;
}

.mx-user-card span{
    display:block;
    color:var(--mx-muted);
    font-size:10px;
    margin-top:3px;
}

.mx-nav{
    flex:1;
    overflow-y:auto;
    padding-right:2px;
}

.mx-nav-item{
    width:100%;
    border:0;
    background:transparent;
    color:var(--mx-muted);

    padding:13px 14px;
    margin-bottom:5px;

    border-radius:14px;

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

    text-align:right;

    transition:.2s;
}

.mx-nav-item span{
    width:28px;
    text-align:center;
    font-size:17px;
}

.mx-nav-item b{
    font-size:12px;
    font-weight:600;
}

.mx-nav-item:hover{
    background:rgba(255,255,255,.04);
    color:var(--mx-text);
}

.mx-nav-item.active{
    background:
        linear-gradient(
            90deg,
            rgba(0,230,160,.16),
            rgba(0,230,160,.035)
        );

    color:var(--mx-green);

    border-right:3px solid var(--mx-green);
}

.mx-logout{
    border:1px solid var(--mx-line);
    background:rgba(255,255,255,.025);
    color:#ff9292;
    border-radius:14px;
    padding:13px;

    display:flex;
    justify-content:center;
    gap:8px;

    font-size:11px;
}

.mx-main{
    width:calc(100% - 292px);
    margin-right:292px;
    min-height:100vh;
    padding:0 35px 50px;
}

.mx-topbar{
    height:92px;

    position:sticky;
    top:0;

    z-index:50;

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

    background:
        linear-gradient(
            180deg,
            rgba(6,16,14,.97),
            rgba(6,16,14,.82)
        );

    backdrop-filter:blur(20px);

    border-bottom:1px solid var(--mx-line);
}

.mx-breadcrumb{
    color:var(--mx-muted);
    font-size:10px;
}

.mx-breadcrumb span{
    margin:0 7px;
}

.mx-breadcrumb b{
    color:var(--mx-green);
}

.mx-topbar h1{
    font-size:20px;
    margin:7px 0 0;
}

.mx-topbar-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.mx-top-icon{
    position:relative;
    width:42px;
    height:42px;
    border:1px solid var(--mx-line);
    border-radius:13px;
    background:rgba(255,255,255,.03);
    color:white;
}

.mx-top-icon span{
    position:absolute;
    top:-4px;
    left:-4px;
    min-width:17px;
    height:17px;
    padding:0 4px;
    border-radius:20px;
    background:var(--mx-green);
    color:#03110d;
    font-size:8px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.mx-user-mini{
    border:1px solid var(--mx-line);
    border-radius:14px;
    padding:6px 10px 6px 14px;
    background:rgba(255,255,255,.025);
    color:var(--mx-text);

    display:flex;
    align-items:center;
    gap:9px;
    text-align:right;
}

.mx-mini-avatar{
    width:34px;
    height:34px;
    border-radius:11px;
    font-size:12px;
}

.mx-user-mini strong{
    display:block;
    font-size:10px;
}

.mx-user-mini small{
    display:block;
    color:var(--mx-muted);
    font-size:8px;
    margin-top:2px;
}


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

.mx-page{
    display:none;
    max-width:1450px;
    margin:0 auto;
    padding-top:30px;
}

.mx-page.active{
    display:block;
}

.mx-welcome{
    padding:27px;
    border-radius:25px;

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

    background:
        radial-gradient(
            circle at 80% 0%,
            rgba(0,230,160,.11),
            transparent 40%
        ),
        linear-gradient(
            135deg,
            #0d211c,
            #0b1715
        );

    border:1px solid var(--mx-line);
    margin-bottom:20px;
}

.mx-welcome span{
    color:var(--mx-green);
    font-size:11px;
}

.mx-welcome h2{
    font-size:25px;
    margin:7px 0;
}

.mx-welcome p{
    color:var(--mx-muted);
    font-size:11px;
    margin:0;
}

.mx-date{
    text-align:left;
}

.mx-date span{
    display:block;
    color:var(--mx-muted);
}

.mx-date strong{
    color:var(--mx-gold);
    font-size:12px;
    display:block;
    margin-top:6px;
}

.mx-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
    margin-bottom:18px;
}

.mx-stat{
    min-height:115px;
    border-radius:20px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.018)
        );

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

    padding:18px;

    display:flex;
    align-items:center;
    gap:14px;
}

.mx-stat-icon{
    width:50px;
    height:50px;
    border-radius:16px;

    background:rgba(0,230,160,.08);

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

    font-size:20px;
}

.mx-stat span{
    display:block;
    color:var(--mx-muted);
    font-size:10px;
}

.mx-stat strong{
    display:block;
    font-size:25px;
    margin:4px 0;
}

.mx-stat small{
    color:var(--mx-muted);
    font-size:8px;
}

.mx-grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-bottom:18px;
}

.mx-panel{
    background:
        linear-gradient(
            145deg,
            rgba(17,38,31,.95),
            rgba(9,22,19,.95)
        );

    border:1px solid var(--mx-line);
    border-radius:var(--radius);
    padding:22px;

    box-shadow:
        0 15px 50px
        rgba(0,0,0,.13);
}

.mx-panel-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-bottom:20px;
}

.mx-panel-head span:first-child{
    color:var(--mx-muted);
    font-size:9px;
}

.mx-panel-head h3{
    margin:5px 0 0;
    font-size:15px;
}

.mx-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 9px;
    border-radius:20px;
    background:rgba(0,230,160,.08);
    color:var(--mx-green);
    font-size:9px;
    white-space:nowrap;
}

.mx-status.green{
    color:var(--mx-green);
}


/* =========================================================
   FUEL
========================================================= */

.mx-fuel-main{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:15px 0 22px;
}

.mx-fuel-number strong{
    display:block;
    font-size:42px;
    color:var(--mx-green);
}

.mx-fuel-number span{
    color:var(--mx-muted);
    font-size:10px;
}

.mx-fuel-ring{
    width:90px;
    height:90px;
    border-radius:50%;

    border:8px solid rgba(0,230,160,.10);
    border-top-color:var(--mx-green);

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

.mx-fuel-ring span{
    font-weight:900;
    font-size:13px;
}

.mx-progress{
    margin-top:15px;
}

.mx-progress-head{
    display:flex;
    justify-content:space-between;
    align-items:center;

    color:var(--mx-muted);
    font-size:10px;
    margin-bottom:9px;
}

.mx-progress-head b{
    color:var(--mx-text);
}

.mx-progress-track{
    height:8px;
    background:rgba(255,255,255,.05);
    border-radius:20px;
    overflow:hidden;
}

.mx-progress-bar{
    height:100%;
    border-radius:20px;

    background:
        linear-gradient(
            90deg,
            var(--mx-green),
            var(--mx-green2)
        );

    transition:
        width .7s ease;
}

.mx-outline-btn{
    width:100%;
    margin-top:20px;

    padding:12px;

    border:1px solid rgba(0,230,160,.25);
    background:rgba(0,230,160,.035);
    color:var(--mx-green);

    border-radius:13px;

    font-size:10px;
}


/* =========================================================
   QUICK
========================================================= */

.mx-quick-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.mx-quick-grid button{
    min-height:105px;

    text-align:right;

    border:1px solid var(--mx-line);
    background:rgba(255,255,255,.025);

    border-radius:16px;
    padding:14px;

    color:var(--mx-text);

    transition:.2s;
}

.mx-quick-grid button:hover{
    border-color:rgba(0,230,160,.25);
    transform:translateY(-2px);
}

.mx-quick-grid span{
    display:block;
    font-size:22px;
    margin-bottom:8px;
}

.mx-quick-grid b{
    display:block;
    font-size:11px;
}

.mx-quick-grid small{
    display:block;
    color:var(--mx-muted);
    font-size:8px;
    margin-top:4px;
}

.mx-text-btn{
    border:0;
    background:transparent;
    color:var(--mx-green);
    font-size:10px;
}

.mx-list{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.mx-list-item{
    min-height:58px;
    display:flex;
    align-items:center;
    gap:10px;

    padding:9px;

    border-radius:13px;
    background:rgba(255,255,255,.022);
    border:1px solid rgba(255,255,255,.035);
}

.mx-list-icon{
    width:37px;
    height:37px;
    border-radius:11px;
    background:rgba(0,230,160,.07);

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

.mx-list-item > div:nth-child(2){
    flex:1;
}

.mx-list-item strong{
    display:block;
    font-size:10px;
}

.mx-list-item small{
    display:block;
    color:var(--mx-muted);
    font-size:8px;
    margin-top:4px;
}


/* =========================================================
   TABLE
========================================================= */

.mx-table-wrap{
    overflow:auto;
}

.mx-table-head,
.mx-table-row{
    min-width:700px;

    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;
    gap:10px;
    align-items:center;
}

.mx-table-head{
    padding:10px 12px;
    color:var(--mx-muted);
    font-size:9px;
}

.mx-table-row{
    padding:15px 12px;
    border-top:1px solid var(--mx-line);
    font-size:10px;
}

.mx-table-row strong{
    font-size:11px;
}

.mx-primary-small{
    border:0;
    background:
        linear-gradient(
            135deg,
            var(--mx-green),
            #079d73
        );
    color:#02110c;
    border-radius:12px;
    padding:10px 15px;
    font-size:10px;
    font-weight:800;
}


/* =========================================================
   PAGE INTRO
========================================================= */

.mx-page-intro{
    margin-bottom:22px;
}

.mx-page-intro h2{
    font-size:28px;
    margin:6px 0;
}

.mx-page-intro p{
    color:var(--mx-muted);
    font-size:11px;
    margin:0;
}


/* =========================================================
   FUEL LARGE
========================================================= */

.mx-fuel-card-large{
    border-radius:25px;
    padding:30px;

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

    background:
        radial-gradient(
            circle at 20% 30%,
            rgba(0,230,160,.12),
            transparent 35%
        ),
        #0d211c;

    border:1px solid var(--mx-line);
    margin-bottom:18px;
}

.mx-fuel-card-large span{
    color:var(--mx-muted);
    display:block;
    font-size:10px;
}

.mx-fuel-card-large strong{
    display:inline-block;
    font-size:45px;
    color:var(--mx-green);
    margin-top:5px;
}

.mx-fuel-card-large small{
    color:var(--mx-muted);
}

.mx-fuel-percent{
    text-align:center;
}

.mx-fuel-percent span{
    color:var(--mx-gold);
    font-size:25px;
    font-weight:900;
}


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

.mx-empty{
    min-height:180px;

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

    text-align:center;

    color:var(--mx-muted);
    gap:7px;
}

.mx-empty > div{
    font-size:35px;
    margin-bottom:5px;
}

.mx-empty strong{
    color:var(--mx-text);
    font-size:12px;
}

.mx-empty span{
    font-size:9px;
}

.mx-empty.compact{
    min-height:90px;
    flex-direction:row;
    justify-content:flex-start;
    text-align:right;
}

.mx-empty.compact span{
    color:var(--mx-muted);
}


/* =========================================================
   REQUEST
========================================================= */

.mx-request{
    display:flex;
    gap:13px;
    padding:15px;

    border:1px solid var(--mx-line);
    background:rgba(255,255,255,.025);

    border-radius:16px;
}

.mx-request-icon{
    width:45px;
    height:45px;
    border-radius:13px;

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

    background:rgba(0,230,160,.07);
}

.mx-request-body{
    flex:1;
}

.mx-request-top{
    display:flex;
    justify-content:space-between;
    gap:10px;
}

.mx-request-top strong{
    font-size:11px;
}

.mx-request-meta{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:9px;
    color:var(--mx-muted);
    font-size:8px;
}


/* =========================================================
   MACHINERY
========================================================= */

.mx-machinery-grid,
.mx-uav-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

.mx-machine,
.mx-uav-card{
    border:1px solid var(--mx-line);
    border-radius:20px;
    padding:20px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.04),
            rgba(255,255,255,.018)
        );

    display:flex;
    gap:14px;
}

.mx-machine-icon,
.mx-uav-icon{
    width:52px;
    height:52px;
    border-radius:16px;

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

    background:rgba(0,230,160,.08);
    font-size:25px;
}

.mx-machine span,
.mx-uav-card span{
    color:var(--mx-muted);
    font-size:9px;
}

.mx-machine h3,
.mx-uav-card h3{
    margin:4px 0;
    font-size:13px;
}

.mx-machine p,
.mx-uav-card p{
    color:var(--mx-muted);
    font-size:9px;
    margin:5px 0;
}

.mx-uav-card small{
    color:var(--mx-muted);
    font-size:8px;
}


/* =========================================================
   GIS
========================================================= */

.mx-gis-card{
    min-height:480px;

    border-radius:25px;
    border:1px solid var(--mx-line);

    background:
        linear-gradient(
            135deg,
            #0e211d,
            #091512
        );

    position:relative;
    overflow:hidden;
}

.mx-gis-card::before{
    content:"";
    position:absolute;
    inset:0;

    background-image:
        linear-gradient(
            rgba(0,230,160,.05) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(0,230,160,.05) 1px,
            transparent 1px
        );

    background-size:50px 50px;
}

.mx-gis-placeholder{
    position:relative;
    min-height:480px;

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

    text-align:center;
    padding:30px;
}

.mx-gis-icon{
    font-size:55px;
}

.mx-gis-placeholder h3{
    margin:10px 0 5px;
}

.mx-gis-placeholder p{
    color:var(--mx-muted);
    font-size:10px;
    max-width:480px;
    line-height:2;
}

.mx-gis-stats{
    display:flex;
    gap:10px;
    margin-top:20px;
}

.mx-gis-stats div{
    min-width:100px;
    padding:13px;
    border-radius:14px;
    background:rgba(0,0,0,.18);
    border:1px solid var(--mx-line);
}

.mx-gis-stats strong{
    display:block;
    color:var(--mx-green);
    font-size:18px;
}

.mx-gis-stats span{
    color:var(--mx-muted);
    font-size:8px;
}


/* =========================================================
   WEATHER
========================================================= */

.mx-weather-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:18px;
}

.mx-weather-main{
    min-height:230px;
    border-radius:25px;
    border:1px solid var(--mx-line);
    background:
        linear-gradient(
            135deg,
            #112b24,
            #0a1714
        );
    padding:30px;

    display:flex;
    flex-direction:column;
    justify-content:center;
}

.mx-weather-main span{
    color:var(--mx-muted);
    font-size:10px;
}

.mx-weather-main strong{
    color:var(--mx-green);
    font-size:55px;
    margin:7px 0;
}

.mx-weather-main small{
    color:var(--mx-gold);
}

.mx-weather-side{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.mx-weather-side div{
    padding:22px;
    border:1px solid var(--mx-line);
    border-radius:20px;
    background:rgba(255,255,255,.025);
}

.mx-weather-side span{
    display:block;
    color:var(--mx-muted);
    font-size:9px;
}

.mx-weather-side b{
    display:block;
    margin-top:9px;
    font-size:18px;
}


/* =========================================================
   NOTICES
========================================================= */

.mx-notices{
    display:grid;
    gap:12px;
}

.mx-notice{
    display:flex;
    gap:15px;
    padding:20px;

    border:1px solid var(--mx-line);
    border-radius:20px;

    background:rgba(255,255,255,.025);
}

.mx-notice-icon{
    width:46px;
    height:46px;
    border-radius:14px;

    background:rgba(215,181,109,.08);

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

.mx-notice span{
    color:var(--mx-green);
    font-size:8px;
}

.mx-notice h3{
    font-size:13px;
    margin:5px 0;
}

.mx-notice p{
    color:var(--mx-muted);
    font-size:9px;
    line-height:1.9;
}

.mx-notice small{
    color:var(--mx-muted);
    font-size:8px;
}


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

.mx-profile-card{
    max-width:900px;
    border-radius:25px;
    padding:25px;

    background:
        linear-gradient(
            145deg,
            #0e211d,
            #091512
        );

    border:1px solid var(--mx-line);
}

.mx-profile-header{
    display:flex;
    align-items:center;
    gap:15px;

    padding-bottom:25px;
    margin-bottom:25px;

    border-bottom:1px solid var(--mx-line);
}

.mx-profile-avatar{
    width:70px;
    height:70px;
    border-radius:22px;
    font-size:22px;
}

.mx-profile-header span{
    color:var(--mx-muted);
    font-size:9px;
}

.mx-profile-header h3{
    margin:5px 0 0;
}

.mx-profile-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}


/* =========================================================
   MODAL
========================================================= */

.mx-modal{
    position:fixed;
    inset:0;

    z-index:500;

    background:rgba(0,0,0,.65);

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

    padding:20px;

    backdrop-filter:blur(8px);
}

.mx-modal-box{
    width:min(700px,100%);
    max-height:90vh;
    overflow:auto;

    border-radius:25px;

    padding:25px;

    background:#0b1b17;
    border:1px solid var(--mx-line);

    box-shadow:var(--mx-shadow);
}

.mx-modal-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:22px;
}

.mx-modal-head span{
    color:var(--mx-muted);
    font-size:9px;
}

.mx-modal-head h3{
    margin:4px 0;
}

.mx-modal-head button{
    width:38px;
    height:38px;
    border-radius:12px;
    border:1px solid var(--mx-line);
    background:rgba(255,255,255,.03);
    color:white;
    font-size:20px;
}


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

.mx-mobile-header{
    display:none;
}

.mx-overlay{
    display:none;
}

@media(max-width:1100px){

    .mx-sidebar{
        width:250px;
        flex-basis:250px;
    }

    .mx-main{
        width:calc(100% - 250px);
        margin-right:250px;
        padding-left:20px;
        padding-right:20px;
    }

    .mx-stats{
        grid-template-columns:1fr 1fr;
    }

    .mx-machinery-grid,
    .mx-uav-grid{
        grid-template-columns:1fr 1fr;
    }
}


@media(max-width:800px){

    .mx-app{
        display:block;
    }

    .mx-sidebar{
        width:280px;
        transform:translateX(110%);
        transition:.25s;
        box-shadow:-20px 0 60px rgba(0,0,0,.45);
    }

    .mx-sidebar.open{
        transform:translateX(0);
    }

    .mx-overlay.show{
        display:block;
        position:fixed;
        inset:0;
        z-index:90;
        background:rgba(0,0,0,.55);
    }

    .mx-main{
        width:100%;
        margin-right:0;
        padding:0 13px 30px;
    }

    .mx-topbar{
        display:none;
    }

    .mx-mobile-header{
        position:sticky;
        top:0;
        z-index:80;

        height:64px;

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

        background:rgba(6,16,14,.95);
        backdrop-filter:blur(18px);

        border-bottom:1px solid var(--mx-line);

        padding:0 12px;
    }

    .mx-menu-btn,
    .mx-icon-btn{
        width:40px;
        height:40px;
        border:1px solid var(--mx-line);
        border-radius:12px;
        background:rgba(255,255,255,.03);
        color:white;
    }

    .mx-mobile-brand{
        text-align:center;
    }

    .mx-mobile-brand b{
        display:block;
        letter-spacing:2px;
        font-size:12px;
    }

    .mx-mobile-brand span{
        display:block;
        color:var(--mx-muted);
        font-size:8px;
        margin-top:3px;
    }

    .mx-welcome{
        display:block;
        padding:20px;
    }

    .mx-date{
        text-align:right;
        margin-top:15px;
    }

    .mx-stats{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }

    .mx-stat{
        min-height:100px;
        padding:13px;
    }

    .mx-stat-icon{
        width:40px;
        height:40px;
        border-radius:12px;
    }

    .mx-stat strong{
        font-size:21px;
    }

    .mx-grid-2,
    .mx-weather-grid{
        grid-template-columns:1fr;
    }

    .mx-machinery-grid,
    .mx-uav-grid{
        grid-template-columns:1fr;
    }

    .mx-page{
        padding-top:20px;
    }

    .mx-page-intro h2{
        font-size:23px;
    }

    .mx-profile-grid{
        grid-template-columns:1fr;
    }

    .mx-quick-grid{
        grid-template-columns:1fr 1fr;
    }

    .mx-table-wrap{
        margin:0 -10px;
    }

    .mx-fuel-card-large{
        padding:22px;
    }

    .mx-fuel-card-large strong{
        font-size:36px;
    }
}


@media(max-width:500px){

    .mx-login{
        padding:15px;
    }

    .mx-login-card{
        padding:24px 18px;
        border-radius:24px;
    }

    .mx-login-title h1{
        font-size:27px;
    }

    .mx-stats{
        grid-template-columns:1fr 1fr;
    }

    .mx-stat{
        gap:8px;
    }

    .mx-stat span{
        font-size:8px;
    }

    .mx-stat strong{
        font-size:19px;
    }

    .mx-stat small{
        display:none;
    }

    .mx-panel{
        padding:17px;
        border-radius:19px;
    }

    .mx-quick-grid{
        gap:7px;
    }

    .mx-quick-grid button{
        min-height:95px;
        padding:11px;
    }

    .mx-request{
        padding:11px;
    }

    .mx-request-top{
        display:block;
    }

    .mx-request-top .mx-status{
        margin-top:7px;
    }

    .mx-request-meta{
        gap:7px;
    }

    .mx-weather-side{
        grid-template-columns:1fr;
    }

    .mx-gis-stats{
        width:100%;
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
    }

    .mx-gis-stats div{
        min-width:0;
    }

    .mx-fuel-main{
        gap:10px;
    }
}