/* =========================
   GLOBAL RESET & BASE
========================= */
*{
    box-sizing:border-box;
}
body{
    margin:0;
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
    background:#0f1115;
    color:#e5e7eb;
}
a{
    text-decoration:none;
    color:inherit;
}

/* =========================
   APP LAYOUT
========================= */
.app{
    display:flex;
    min-height:100vh;
}

/* =========================
   SIDEBAR (PREMIUM DARK)
========================= */
.sidebar{
    width:250px;
    background:linear-gradient(180deg,#111827,#020617);
    color:#fff;
    padding:20px;
    overflow-y:auto;
    border-right:1px solid #1f2933;
}
.sidebar h2{
    margin:0 0 20px;
    font-size:20px;
    letter-spacing:0.5px;
}
.sidebar h4{
    margin:20px 0 8px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:#9ca3af;
}
.sidebar a{
    display:block;
    padding:10px 12px;
    border-radius:8px;
    font-size:14px;
    color:#e5e7eb;
    transition:all 0.2s ease;
}
.sidebar a:hover{
    background:#1f2937;
    color:#22c55e;
}
.sidebar hr{
    border:none;
    border-top:1px solid #1f2937;
    margin:15px 0;
}

/* =========================
   CONTENT AREA
========================= */
.content{
    flex:1;
    padding:25px;
    background:radial-gradient(circle at top,#111827,#020617);
}

/* =========================
   HEADINGS
========================= */
h2{
    margin-top:0;
    font-size:22px;
    font-weight:600;
}
h3{
    margin-bottom:10px;
    font-size:16px;
    font-weight:500;
}

/* =========================
   LOGIN PAGE
========================= */
.login-body{
    display:flex;
    justify-content:center;
    align-items:center;
    height:100vh;
    background:linear-gradient(135deg,#020617,#111827);
}
.login-box{
    background:#020617;
    padding:30px;
    width:320px;
    border-radius:14px;
    box-shadow:0 20px 40px rgba(0,0,0,0.6);
}
.login-box h2{
    text-align:center;
    margin-bottom:20px;
}
.login-box input,
.login-box button{
    width:100%;
    padding:12px;
    margin:10px 0;
    border-radius:10px;
    border:none;
    font-size:14px;
}
.login-box input{
    background:#111827;
    color:#fff;
    border:1px solid #1f2937;
}
.login-box input:focus{
    outline:none;
    border-color:#22c55e;
}
.login-box button{
    background:linear-gradient(135deg,#22c55e,#16a34a);
    color:#022c22;
    font-weight:600;
    cursor:pointer;
}
.login-box button:hover{
    opacity:0.9;
}
.error{
    color:#ef4444;
    font-size:13px;
    text-align:center;
}

/* =========================
   DASHBOARD CARDS
========================= */
.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:18px;
    margin-bottom:25px;
}
.card{
    background:linear-gradient(180deg,#020617,#111827);
    padding:18px;
    border-radius:16px;
    box-shadow:0 10px 25px rgba(0,0,0,0.5);
    font-size:14px;
    transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.card b{
    display:block;
    font-size:18px;
    margin-top:6px;
    color:#22c55e;
}
.card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 40px rgba(0,0,0,0.6);
}

/* =========================
   SPLIT SECTIONS
========================= */
.split{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:20px;
}
.split > div{
    background:#020617;
    padding:20px;
    border-radius:16px;
    box-shadow:0 10px 25px rgba(0,0,0,0.5);
}

/* =========================
   TABLES (PREMIUM)
========================= */
table{
    width:100%;
    border-collapse:collapse;
    background:#020617;
    border-radius:14px;
    overflow:hidden;
    font-size:14px;
}
th,td{
    padding:12px;
    text-align:left;
}
th{
    background:#020617;
    color:#9ca3af;
    font-weight:500;
    border-bottom:1px solid #1f2937;
}
td{
    border-bottom:1px solid #1f2937;
}
tr:hover{
    background:#111827;
}

/* =========================
   FORMS
========================= */
input,select,button{
    background:#020617;
    color:#fff;
    border:1px solid #1f2937;
    padding:10px;
    border-radius:10px;
    font-size:14px;
}
input:focus,select:focus{
    outline:none;
    border-color:#22c55e;
}
button{
    background:linear-gradient(135deg,#22c55e,#16a34a);
    color:#022c22;
    font-weight:600;
    cursor:pointer;
}
button:hover{
    opacity:0.9;
}

/* =========================
   LINKS / ACTIONS
========================= */
a.button-link{
    display:inline-block;
    padding:10px 14px;
    border-radius:10px;
    background:#1f2937;
    color:#22c55e;
    margin-bottom:10px;
}
a.button-link:hover{
    background:#22c55e;
    color:#022c22;
}

/* =========================
   SCROLLBAR (PREMIUM)
========================= */
::-webkit-scrollbar{
    width:8px;
}
::-webkit-scrollbar-thumb{
    background:#1f2937;
    border-radius:10px;
}
::-webkit-scrollbar-track{
    background:#020617;
}

/* =========================
   FIX: MONTH INPUT
========================= */
input[type="month"]{
    background:#111827;
    color:#ffffff;
    border:1px solid #374151;
    padding:10px 12px;
    border-radius:10px;
    font-size:14px;
    cursor:pointer;
}

/* Calendar / month picker icon visible */
input[type="month"]::-webkit-calendar-picker-indicator{
    filter:invert(1);
    cursor:pointer;
}

/* Hover + focus */
input[type="month"]:hover{
    border-color:#22c55e;
}
input[type="month"]:focus{
    outline:none;
    border-color:#22c55e;
    box-shadow:0 0 0 2px rgba(34,197,94,0.3);
}
.form-card{
  max-width:900px;
  margin:auto;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}

.field{
  display:flex;
  flex-direction:column;
}

.field.full{
  grid-column:1 / -1;
}

.field label{
  font-size:13px;
  color:#9ca3af;
  margin-bottom:6px;
}

.field input,
.field select{
  padding:10px;
  border-radius:10px;
  border:1px solid #1f2937;
  background:#020617;
  color:#fff;
}

.field small{
  color:#6b7280;
  margin-top:4px;
}

.divider{
  grid-column:1 / -1;
  margin:10px 0;
  padding-top:10px;
  border-top:1px dashed #1f2937;
  color:#a5b4fc;
  font-size:13px;
}

.btn-primary{
  background:#22c55e;
  color:#000;
  border:none;
  padding:12px;
  border-radius:12px;
  font-weight:600;
  cursor:pointer;
}

.btn-primary:hover{
  background:#16a34a;
}

.success{color:#22c55e;margin-top:10px}
.error{color:#ef4444;margin-top:10px}

@media(max-width:768px){
  .form-grid{grid-template-columns:1fr}
}

