
/* SENTRAMUDA V2.1 — Admin Elegant Theme (Modern Light)
   Palette:
     Blue  : #2563EB (hover #1D4ED8)
     Green : #16A34A (hover #15803D)
     White : #FFFFFF
     Black : #0B1220
   Goal: clean, elegant, balanced; mobile-first; no HTML/JS changes required.
*/

:root{
  --ink:#0B1220; --ink-600:#111827; --muted:#4B5563; --muted-500:#6B7280;
  --blue:#2563EB; --blue-700:#1D4ED8; --blue-050:#EEF2FF;
  --green:#16A34A; --green-700:#15803D; --green-050:#ECFDF5;
  --white:#FFFFFF; --surface:#FFFFFF; --surface-2:#F8FAFC; --border:#E5E7EB;
  --radius:14px; --shadow:0 10px 24px rgba(2,6,23,0.06);
  --ring:0 0 0 3px rgba(37,99,235,.18);
  --gap:16px;
  --container-pad: clamp(12px, 2vw, 22px);
}

/* Base & Typography */
html,body{background:var(--surface);color:var(--ink);font-family:"Inter","Plus Jakarta Sans","Segoe UI",Roboto,Arial,sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{color:var(--ink);font-weight:700;letter-spacing:.1px}
h5,h6{color:var(--ink);font-weight:600}
p,li,td,th,small{font-weight:400;color:var(--ink)}
strong,b{font-weight:700;color:var(--ink)}
.muted,.text-muted{color:var(--muted)!important}
a{color:var(--blue);text-decoration:none} a:hover{color:var(--blue-700)}

/* Layout shells */
.container,.container-fluid,.wrapper,.content,.page-content,.main-content{padding:var(--container-pad)}
.navbar, .topbar, header{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 6px 14px rgba(15,23,42,0.04);}
.sidebar,.side-menu,.nav-left{background:var(--white);border-right:1px solid var(--border)}
.footer{background:var(--surface-2);border-top:1px solid var(--border)}

/* Sidebar links */
.sidebar a,.side-menu a,.nav-left a{color:var(--muted);display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px}
.sidebar a:hover,.side-menu a:hover,.nav-left a:hover,.sidebar a.active,.side-menu a.active,.nav-left a.active{color:var(--ink);background:linear-gradient(90deg,rgba(37,99,235,.10),rgba(22,163,74,.10))}

/* Cards / Panels */
.card,.panel,.widget,.box{background:var(--surface);border:1px solid var(--border)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow);color:var(--ink)}
.card-header,.panel-heading{background:var(--surface);border-bottom:1px solid var(--border)!important;padding:14px 18px}
.card-title,.panel-title{color:var(--ink);font-weight:700}

/* Buttons */
.btn,button,[type="button"],[type="submit"]{border-radius:12px!important;border:1px solid transparent;padding:10px 16px;font-weight:600;transition:transform .08s, box-shadow .2s, background .2s, color .2s}
.btn:hover{transform:translateY(-1px)} .btn:active{transform:translateY(0)}
.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff!important;box-shadow:0 8px 18px rgba(37,99,235,.22)}
.btn-primary:hover{background:var(--blue-700);border-color:var(--blue-700)}
.btn-success{background:var(--green);border-color:var(--green);color:#fff!important;box-shadow:0 8px 18px rgba(22,163,74,.22)}
.btn-success:hover{background:var(--green-700);border-color:var(--green-700)}
.btn-outline,.btn-outline-primary,.btn-secondary{background:#fff;border-color:var(--blue);color:var(--blue)}
.btn-outline:hover,.btn-outline-primary:hover,.btn-secondary:hover{background:rgba(37,99,235,.08)}

/* Tables */
table{border-collapse:separate!important;border-spacing:0!important;width:100%;background:transparent;color:var(--ink)}
thead th{background:var(--surface-2);color:var(--ink);border-bottom:1px solid var(--border)!important;position:sticky;top:0;z-index:1}
tbody tr:nth-child(even){background:#FCFDFF} tbody tr:nth-child(odd){background:#FFFFFF}
td,th{padding:12px 14px!important;border-bottom:1px solid var(--border)!important}

/* Forms */
input,select,textarea{background:#fff!important;color:var(--ink)!important;border:1px solid var(--border)!important;border-radius:10px!important;padding:10px 12px!important;outline:none!important}
input:focus,select:focus,textarea:focus{border-color:var(--blue)!important;box-shadow:var(--ring)!important}

/* Breadcrumbs */
.breadcrumb{background:transparent;margin-bottom:10px}
.breadcrumb .breadcrumb-item a{color:var(--blue)} .breadcrumb .breadcrumb-item.active{color:var(--muted)}

/* Alerts & Modals */
.alert,.toast{background:#fff;border:1px solid var(--border);color:var(--ink);border-radius:12px}
.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink)}

/* Scrollbar */
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--blue),var(--green));border-radius:10px}
*::-webkit-scrollbar-track{background:#EEF2FF}

/* KPI / Tiles */
.kpi,.metric,.stat,.info-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.kpi .value,.metric .value,.stat .value{font-size:clamp(22px,4.5vw,34px);font-weight:700;color:var(--ink)}
.kpi .label,.metric .label,.stat .label{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.12em}

/* Layout Balancing — gaps & density (without changing HTML) */
.row{row-gap:16px}
.card + .card{margin-top:12px}
.section + .section{margin-top:18px}

/* Responsive Sidebar */
@media (max-width:1024px){
  .sidebar,.side-menu,.nav-left{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);width:260px;z-index:1000;background:#fff}
  .sidebar.open,.side-menu.open,.nav-left.open{transform:translateX(0);transition:transform .25s ease}
  .content,.page-content,.main-content{margin-left:0!important}
  table{display:block;overflow-x:auto;background:#fff}
}
@media (max-width:640px){
  .card,.panel,.widget,.box{padding:12px}
  .btn,button,[type=button],[type=submit]{padding:10px 14px}
  .kpi .value{font-size:24px}
}

/* Emphasis rules (bold/thin) for visual hierarchy */
h1{font-size:clamp(22px,3.6vw,28px)}
h2{font-size:clamp(20px,3.2vw,24px)}
h3{font-size:clamp(18px,2.8vw,20px)}
.card-title{font-size:clamp(18px,2.6vw,20px);font-weight:700}
.section-title{font-weight:700;color:var(--ink)}
small, .subtle{color:var(--muted-500)}

/* Nav shadow on scroll */
body.nav-shadow .navbar, body.nav-shadow header{box-shadow:0 8px 18px rgba(2,6,23,.08)}
