/* UI HANDOVER SAFE POLISH V1B
   CSS only. No route, DB, payment, scope or security logic affected.
*/
:root{
  --jh-radius-lg:18px;
  --jh-radius-md:14px;
  --jh-shadow-soft:0 10px 30px rgba(15,23,42,.08);
  --jh-border-soft:1px solid rgba(148,163,184,.22);
}

.box,
.card,
.panel,
.filter-card,
.stat-card,
.hub-card,
.sub-card,
.module-card,
.dashboard-card{
  border-radius:var(--jh-radius-lg) !important;
  box-shadow:var(--jh-shadow-soft);
  border:var(--jh-border-soft);
}

h1{
  letter-spacing:-.03em;
  line-height:1.12;
}

h2,h3{
  letter-spacing:-.02em;
}

button,
.btn,
.link-btn,
a.btn,
input[type="submit"],
input[type="button"]{
  border-radius:12px !important;
  font-weight:700;
}

input,
select,
textarea{
  border-radius:12px !important;
}

.table-responsive,
.responsive-table,
.overflow-auto,
.overflow-x-auto{
  max-width:100% !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

.sidebar a,
.sidebar .nav-item,
.sidebar details summary{
  border-radius:12px !important;
}

.sidebar-user-fixed-v4,
.sidebar-user-clean,
.sidebar-user-clean-v2,
.sidebar-user-fixed-v3{
  border-radius:16px !important;
}

.sidebar-mazagroup-footer-v2{
  opacity:.86;
}

@media print{
  .box,
  .card,
  .panel,
  .filter-card,
  .stat-card,
  .hub-card,
  .sub-card,
  .module-card,
  .dashboard-card{
    box-shadow:none !important;
  }
}

@media (max-width:900px){
  html, body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .content,
  .main,
  main,
  .page,
  .container,
  .dashboard,
  .wrapper{
    max-width:100vw !important;
  }

  h1{
    font-size:1.45rem !important;
    line-height:1.18 !important;
  }

  h2{
    font-size:1.16rem !important;
    line-height:1.22 !important;
  }

  .box,
  .card,
  .panel,
  .filter-card,
  .stat-card,
  .hub-card,
  .sub-card,
  .module-card,
  .dashboard-card{
    padding:14px !important;
    border-radius:16px !important;
  }

  button,
  .btn,
  .link-btn,
  a.btn,
  input[type="submit"],
  input[type="button"]{
    min-height:42px;
    width:auto;
  }

  input,
  select,
  textarea{
    min-height:40px;
    max-width:100% !important;
  }

  table{
    min-width:max-content;
  }

  .table-responsive::after,
  .responsive-table::after{
    content:"Leret kiri/kanan untuk lihat semua data";
    display:block;
    font-size:12px;
    color:#64748b;
    margin-top:6px;
  }
}

@media (max-width:480px){
  h1{
    font-size:1.32rem !important;
  }

  .box,
  .card,
  .panel,
  .filter-card{
    padding:12px !important;
  }
}
