@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700&display=swap');

:root{
  --pms-primary:#155eef;
  --pms-primary-dark:#0b4acb;
  --pms-secondary:#0f766e;
  --pms-bg:#f5f7fb;
  --pms-surface:#ffffff;
  --pms-text:#172033;
  --pms-muted:#667085;
  --pms-border:#e4e7ec;
  --pms-shadow:0 12px 34px rgba(16,24,40,.08);
  --pms-radius:18px;
}
html{font-size:16px;}
body{
  font-family:'Sarabun','Tahoma','Arial',sans-serif!important;
  color:var(--pms-text);
  background:var(--pms-bg);
  -webkit-font-smoothing:antialiased;
}
a{transition:all .18s ease;}
.container{max-width:1240px;}
.card,.dash-card,.menu-card,.form-card,.card-custom{
  border:1px solid rgba(228,231,236,.8)!important;
  border-radius:var(--pms-radius)!important;
  box-shadow:var(--pms-shadow)!important;
  overflow:hidden;
}
.card-header{
  font-weight:600;
  padding:.95rem 1.2rem;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.card-body{padding:1.25rem;}
h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.01em;}
.text-muted{color:var(--pms-muted)!important;}
.form-control,.custom-select{
  min-height:44px;
  border-radius:10px;
  border:1px solid #d0d5dd;
  padding:.55rem .8rem;
  box-shadow:none!important;
}
textarea.form-control{min-height:110px;}
.form-control:focus,.custom-select:focus{
  border-color:#84adff;
  box-shadow:0 0 0 3px rgba(21,94,239,.12)!important;
}
label{font-weight:600;color:#344054;margin-bottom:.4rem;}
.btn{
  border-radius:10px;
  font-weight:600;
  padding:.52rem .9rem;
  box-shadow:none!important;
}
.btn-sm{padding:.36rem .65rem;border-radius:8px;}
.btn-primary{background:var(--pms-primary);border-color:var(--pms-primary);}
.btn-primary:hover{background:var(--pms-primary-dark);border-color:var(--pms-primary-dark);transform:translateY(-1px);}
.badge{font-weight:600;border-radius:999px;padding:.45em .72em;}
.alert{border:0;border-radius:12px;box-shadow:0 4px 14px rgba(16,24,40,.05);}
.table{margin-bottom:0;color:#344054;background:#fff;}
.table thead th{
  border-top:0;
  border-bottom:1px solid #e4e7ec;
  background:#f8fafc;
  color:#475467;
  font-weight:700;
  white-space:nowrap;
}
.table td,.table th{vertical-align:middle;padding:.8rem .75rem;border-color:#edf0f3;}
.table tbody tr:hover{background:#f9fbff;}
.table-responsive{border-radius:12px;border:1px solid #eaecf0;}
.custom-file-label{height:44px;line-height:1.8;border-radius:10px;border-color:#d0d5dd;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.custom-file-label::after{height:42px;line-height:1.8;border-radius:0 9px 9px 0;}
.modal-content{border:0;border-radius:18px;box-shadow:0 24px 60px rgba(16,24,40,.2);}

/* dashboard / menu */
.menu-card{transition:transform .18s ease,box-shadow .18s ease!important;}
.menu-card:hover{transform:translateY(-5px)!important;box-shadow:0 18px 40px rgba(16,24,40,.12)!important;}
.icon-circle{box-shadow:0 8px 20px rgba(16,24,40,.14);}

/* auth */
.login-box{padding:18px 0;}
.card-custom .form-control{font-size:1rem;}

/* mobile ergonomics */
@media (max-width:767.98px){
  html{font-size:15px;}
  body{overflow-x:hidden;}
  .container{padding-left:14px;padding-right:14px;}
  .card-body{padding:1rem;}
  h3{font-size:1.35rem;}
  h4{font-size:1.2rem;}
  .btn{min-height:42px;}
  .btn-sm{min-height:36px;}
  .d-flex.justify-content-between{gap:.65rem;}
  .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .table-responsive .table{min-width:720px;}
  .card-body>.table{min-width:720px;}
  .card-body{overflow-x:auto;}
  .form-group.col-md-1,.form-group.col-md-2,.form-group.col-md-3,.form-group.col-md-4,.form-group.col-md-5,.form-group.col-md-6{min-width:100%;}
  .text-md-right{text-align:left!important;}
  .login-box{margin:18px auto!important;}
}
