/* Put into assets/css/style.css */

:root{
  --maroon: #7f1d1d; /* maroon-700; adjust for softer tone */
  --maroon-soft: #8b2a2a; /* slightly lighter */
  --bg: #fffaf9;
  --muted: #6b6b6b;
}
*{box-sizing:border-box}
body{
    padding-top: 56px;
    font-family: 'Nunito', sans-serif;margin:0;background:var(--bg);color:#222
}
.header {
    position: fixed;       /* tetap di atas */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;          /* supaya selalu di depan */
    background: linear-gradient(90deg,var(--maroon) 0%,var(--maroon-soft) 100%);
    color:white;
    padding:12px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15); /* biar tidak nempel */
}
.container{min-height:calc(100vh - 56px)}
.sidebar {
    position: fixed;
    top: 56px;                 /* pas di bawah header */
    left: 0;
    width: 220px;
    height: calc(100vh - 56px);
    overflow-y: auto;          /* scroll jika panjang */
    background: #fff;
    padding: 16px 12px;
    border-right: 1px solid #eee;
    transition: width 0.25s ease-in-out, padding 0.25s ease-in-out;
    z-index: 998;              /* di bawah header yang z-index 999 */
}
.sidebar .brand{font-weight:700;color:var(--maroon);margin-bottom:12px}
.nav-item{display:block;padding:10px;border-radius:8px;color:var(--maroon);text-decoration:none;margin-bottom:6px}
.nav-item:hover{background:#fdecec}
.content{margin-left: 220px;flex:1;padding:20px;transition: margin-left 0.25s ease-in-out;}
.cards{display:flex;gap:16px;flex-wrap:wrap}
.card{background:white;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,0.06);padding:18px;flex:1;min-width:180px}
.table{width:100%;border-collapse:collapse;background:white}
.table th,.table td{padding:8px;border-bottom:1px solid #f0f0f0}
.btn{display:inline-block;padding:8px 12px;border-radius:8px;text-decoration:none}
.btn-primary{background:var(--maroon);color:white}
.form-row{margin-bottom:12px}
.input{width:100%;padding:8px;border:1px solid #e5e5e5;border-radius:8px}
.footer{padding:12px;text-align:center;color:var(--muted);font-size:13px}
/* collapse behavior */
.sidebar.collapsed{
    width: 60px;
    padding-left: 8px;
    padding-right: 8px;
}
.sidebar.collapsed .nav-text{display:none}
.sidebar.collapsed + .content{margin-left: 60px}

/* === FORM TWO COLUMN === */
.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px; /* jarak antar kolom */
}

.three-col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px; /* jarak antar kolom */
}

/* Mobile tetap 1 kolom */
@media (max-width: 768px) {
    .two-col {
        grid-template-columns: 1fr;
    }
}

/* Elemen full width dalam 2 kolom */
.col-full {
    grid-column: span 2;
}

.badge {
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    display: inline-block;
    text-decoration: none;
}

.badge-edit {
    background: #3b82f6; /* biru */
    color: #fff;
}

.badge-delete {
    background: #ef4444; /* merah */
    color: #fff;
}

.badge:hover {
    opacity: .85;
}

.table td, 
.table th {
    text-align: center;
    vertical-align: middle;
}
.table th {
    font-weight: 700;
}

/* Group form */
.form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;          /* Jarak antara label dan input */
    margin-bottom: 14px; /* Jarak antar field */
}

/* Biar input rapi */
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
}

/* Smooth collapse */
#sidebar {
    transition: width 0.25s ease, padding 0.25s ease;
}

#sidebar.collapsed {
    width: 60px;           /* versi kecil */
    padding-left: 8px;
    padding-right: 8px;
}

/* Text label hilang smooth */
#sidebar .menu-label {
    transition: opacity 0.2s ease;
}
#sidebar.collapsed .menu-label {
    opacity: 0;
    pointer-events: none;
}

/* Ikon tetap terlihat */
#sidebar .menu-item i {
    font-size: 20px;
    width: 24px;
    display: inline-block;
}

/* === Sidebar Base === */
.sidebar {
    width: 220px;
    transition: width 0.25s ease-in-out, padding 0.25s ease-in-out;
    padding: 16px 12px;
}

/* Collapse mode */
.sidebar.collapsed {
    width: 60px;
    padding-left: 8px;
    padding-right: 8px;
}

/* Nav items */
.nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    margin-bottom: 6px;
    border-radius: 8px;
    text-decoration: none;
    color: #444;
    font-size: 14px;
    transition: background 0.25s ease, color 0.25s ease;
}

.nav-item:hover {
    background: #f0f4ff;
    color: #2563eb;
}

/* Icon size */
.nav-icon {
    font-size: 20px;
    min-width: 22px;
}

/* Hide text when collapsed */
.sidebar.collapsed .nav-text {
    opacity: 0;
    margin-left: -10px;
    transition: opacity 0.2s ease, margin-left 0.2s ease;
}

/* Show text normally */
.nav-text {
    transition: opacity 0.2s ease, margin-left 0.2s ease;
}


/* ===========================
   PRINT STYLE — hanya saat CETAK
============================= */
@media print {

    /* Hilangkan semua elemen navigasi */
    #sidebar,
    header,
    .sidebar,
    .topbar,
    nav,
    .nav,
    .nav-item,
    footer {
        display: none !important;
        visibility: hidden !important;
    }

    /* Hilangkan tombol kembali & cetak */
    .print-hide {
        display: none !important;
    }

    /* Atur body jadi putih full halaman */
    body {
        background: #fff !important;
        margin: 0;
        padding: 0;
    }

    /* Kontainer laporan jadi full */
    .print-area {
        margin: 0 !important;
        padding: 10px !important;
        width: 100% !important;
    }

    table {
        border-collapse: collapse !important;
        width: 100% !important;
        font-size: 13px !important;
    }

    table th, table td {
        border: 1px solid #000 !important;
        padding: 6px !important;
    }

    h2, h3, p {
        color: #000 !important;
    }
}

/* ===========================
   PRINT MODE — Hide Sidebar, Buttons, Menu
   =========================== */
@media print {

  /* Sembunyikan sidebar */
  #sidebar,
  .sidebar,
  aside {
    display: none !important;
  }

  /* Hilangkan nav / topbar kalau ada */
  nav,
  header,
  .topbar {
    display: none !important;
  }

  /* Hilangkan tombol2 seperti Cetak / Kembali */
  .no-print,
  button,
  .btn,
  .actions,
  .action-buttons {
    display: none !important;
  }

  /* Set konten jadi full width */
  .content,
  main {
    margin-left: 0 !important;
    width: 100% !important;
  }

  /* Hilangkan background gelap jika darkmode aktif */
  body {
    background: #ffffff !important;
  }
}
