/* =====================================================
   MODERNTANK CMAG 2.0
   ===================================================== */

:root{

    --mt-blue:#0798d5;
    --mt-blue-dark:#08142c;

    --success:#16a34a;
    --danger:#dc2626;
    --warning:#f97316;

    --bg:#f4f6f9;
    --card:#ffffff;

    --text:#1f2937;
    --muted:#6b7280;

    --border:#e5e7eb;

    --shadow:
        0 8px 24px rgba(0,0,0,.08);

    --radius:24px;
}

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

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:
        Inter,
        Segoe UI,
        Arial,
        sans-serif;

    background:var(--bg);
    color:var(--text);
}

/* =====================================================
   TOPBAR
   ===================================================== */

.topbar{

    height:84px;

    background:var(--mt-blue-dark);

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

    padding:0 28px;

    position:sticky;
    top:0;
    z-index:999;
}

.topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
}

.topbar-logo{
    height:46px;
    width:auto;
}

.topbar strong{
    color:white;
    font-size:28px;
    font-weight:700;
}

.topbar span{
    color:#d1d5db;
    font-size:18px;
}

.topbar a{
    color:white;
    text-decoration:none;
    font-size:18px;
    font-weight:600;
}

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

.dashboard{
    padding:32px;
}

.dashboard-title{
    font-size:52px;
    font-weight:800;
    margin-bottom:10px;
}

.dashboard-subtitle{
    color:var(--muted);
    font-size:20px;
    margin-bottom:30px;
}

.user-info{

    background:white;

    border-radius:20px;

    padding:20px;

    margin-bottom:28px;

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

.user-info strong{
    color:var(--mt-blue-dark);
}

/* =====================================================
   KPI
   ===================================================== */

.kpi-grid{

    display:grid;

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

    gap:20px;

    margin-bottom:30px;
}

.kpi-card{

    background:white;

    border-radius:24px;

    padding:22px;

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

.kpi-value{

    font-size:42px;
    font-weight:800;

    color:var(--mt-blue);
}

.kpi-label{

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

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

.tiles{

    display:grid;

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

    gap:22px;
}

.tile{

    background:white;

    border-radius:28px;

    padding:28px;

    min-height:180px;

    text-decoration:none;

    color:var(--text);

    transition:.2s;

    box-shadow:var(--shadow);

    border:2px solid transparent;
}

.tile:hover{

    transform:translateY(-3px);

    border-color:var(--mt-blue);
}

.tile-title{

    font-size:42px;
    font-weight:800;

    margin-bottom:10px;
}

.tile-sub{

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

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

.card{

    background:white;

    border-radius:var(--radius);

    padding:28px;

    box-shadow:var(--shadow);

    margin-bottom:24px;
}

.card-title{

    font-size:32px;
    font-weight:700;

    margin-bottom:20px;
}

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

.btn{

    height:72px;

    border:none;

    border-radius:18px;

    padding:0 30px;

    font-size:24px;

    font-weight:700;

    cursor:pointer;

    transition:.2s;
}

.btn-primary{

    background:var(--mt-blue-dark);
    color:white;
}

.btn-primary:hover{
    opacity:.95;
}

.btn-success{

    background:var(--success);
    color:white;
}

.btn-danger{

    background:var(--danger);
    color:white;
}

.btn-warning{

    background:var(--warning);
    color:white;
}

/* =====================================================
   FORMS
   ===================================================== */

label{

    display:block;

    margin-bottom:8px;

    font-size:18px;

    font-weight:600;
}

input,
select,
textarea{

    width:100%;

    min-height:68px;

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

    border-radius:16px;

    padding:16px;

    font-size:22px;

    background:white;

    color:var(--text);
}

textarea{
    min-height:120px;
}

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

    outline:none;

    border-color:var(--mt-blue);
}

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

.table-wrap{
    overflow:auto;
}

table{

    width:100%;

    border-collapse:collapse;
}

th{

    background:#eef2f7;

    text-align:left;

    padding:16px;
}

td{

    padding:16px;

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

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

.success{

    background:#dcfce7;

    color:#166534;

    padding:20px;

    border-radius:18px;

    margin-bottom:20px;
}

.error{

    background:#fee2e2;

    color:#991b1b;

    padding:20px;

    border-radius:18px;

    margin-bottom:20px;
}

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

.badge{

    display:inline-block;

    padding:8px 14px;

    border-radius:999px;

    color:white;

    font-size:14px;

    font-weight:700;
}

.badge-pz{
    background:var(--success);
}

.badge-wz{
    background:var(--danger);
}

.badge-mm{
    background:#2563eb;
}

.badge-inv{
    background:var(--warning);
}

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

.login-body{

    min-height:100vh;

    display:flex;

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

    background:
        linear-gradient(
            135deg,
            #08142c,
            #0a2447
        );
}

.login-box{

    width:480px;

    background:white;

    border-radius:30px;

    padding:40px;

    box-shadow:
        0 20px 60px rgba(0,0,0,.25);
}

.login-logo{

    display:block;

    margin:0 auto 20px;

    width:220px;
}

.login-title{

    text-align:center;

    font-size:48px;

    font-weight:800;

    color:var(--mt-blue-dark);

    margin-bottom:10px;
}

.login-sub{

    text-align:center;

    color:var(--muted);

    margin-bottom:30px;
}

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

@media(max-width:900px){

    .dashboard{
        padding:18px;
    }

    .dashboard-title{
        font-size:36px;
    }

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

    .tile{
        min-height:140px;
    }

    .tile-title{
        font-size:34px;
    }

    .topbar{
        padding:0 16px;
    }

    .login-box{
        width:95%;
    }
}