:root{
  --sk-bg:#e6ebe3;
  --sk-bg-deep:#d9e1d5;
  --sk-surface:#f7f3ea;
  --sk-surface-soft:#ece8dd;
  --sk-ink:#182620;
  --sk-muted:#657167;
  --sk-line:#cfd8cc;
  --sk-accent:#0f6f59;
  --sk-accent-dark:#0a4f40;
  --sk-warm:#a66a2a;
  --sk-danger:#a83b35;
  --sk-shadow:0 14px 34px rgba(24,38,32,.11);
  --sk-radius:8px;
  --nav-h:72px;
}

html{
  min-height:100%;
}

body{
  font-family:"Noto Sans Thai","Sarabun",Tahoma,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color:var(--sk-ink);
  background:
    linear-gradient(180deg, rgba(247,243,234,.78), rgba(230,235,227,.12) 280px),
    var(--sk-bg);
  letter-spacing:0;
}

a{
  color:var(--sk-accent);
}

a:hover{
  color:var(--sk-accent-dark);
}

.sopha-page{
  min-height:100vh;
  padding-top:var(--nav-h);
  background:
    linear-gradient(180deg, #eef2e9 0, var(--sk-bg) 360px),
    var(--sk-bg) !important;
}

.sopha-withdraw-page.p-4{
  padding:calc(var(--nav-h) + 1rem) 1rem 1.5rem !important;
}

.sopha-withdraw-page .card,
.sopha-withdraw-page .filter-card,
.sopha-withdraw-page .summary-chip{
  background:var(--sk-surface) !important;
  border:1px solid var(--sk-line) !important;
  border-radius:var(--sk-radius) !important;
  box-shadow:var(--sk-shadow) !important;
}

.sopha-withdraw-page .sticky-actions{
  border-radius:0 0 var(--sk-radius) var(--sk-radius) !important;
}

.sopha-order-page .container.py-4,
.sopha-foreman-page .container-fluid{
  padding-top:1.25rem !important;
}

.sopha-page > div[style*="height:70px"],
.sopha-page > div[style*="height:80px"],
.sopha-page > div[style*="height: 70px"],
.sopha-page > div[style*="height: 80px"]{
  display:none;
}

.sopha-page .container,
.sopha-page .container-fluid{
  max-width:1480px;
}

.sopha-page h1,
.sopha-page h2,
.sopha-page h3,
.sopha-page h4,
.sopha-page h5,
.sopha-page h6{
  color:var(--sk-ink);
  font-weight:750;
  letter-spacing:0;
}

.sopha-page h2,
.sopha-page h3{
  margin-bottom:1rem;
}

.sopha-page .card,
.sopha-page .filter-card,
.sopha-page .summary-chip,
.sopha-page .modal-content{
  background:var(--sk-surface);
  border:1px solid var(--sk-line);
  border-radius:var(--sk-radius);
  box-shadow:var(--sk-shadow);
  color:var(--sk-ink);
}

.sopha-page .card-body{
  padding:1.15rem;
}

.sopha-page .card-footer,
.sopha-page .sticky-actions{
  background:#eee9de;
  border-top:1px solid var(--sk-line);
  border-radius:0 0 var(--sk-radius) var(--sk-radius);
}

.sopha-page .filter-card{
  padding:1rem;
}

.sopha-page .form-label{
  color:#34443b;
  font-size:.88rem;
  font-weight:700;
  margin-bottom:.35rem;
}

.sopha-page .form-control,
.sopha-page .form-select{
  color:var(--sk-ink);
  background-color:#fbfaf5;
  border:1px solid #c5d0c2;
  border-radius:7px;
  min-height:38px;
  box-shadow:none;
}

.sopha-page .form-control:focus,
.sopha-page .form-select:focus{
  color:var(--sk-ink);
  background-color:#fffdf7;
  border-color:var(--sk-accent);
  box-shadow:0 0 0 .18rem rgba(13,128,103,.16);
}

.sopha-page .form-control::placeholder{
  color:#95a199;
}

.sopha-page .btn{
  border-radius:7px;
  font-weight:700;
  min-height:36px;
}

.sopha-page .btn-primary,
.sopha-page .btn-success{
  background:var(--sk-accent);
  border-color:var(--sk-accent);
  color:#fff;
}

.sopha-page .btn-primary:hover,
.sopha-page .btn-success:hover{
  background:var(--sk-accent-dark);
  border-color:var(--sk-accent-dark);
}

.sopha-page .btn-outline-dark,
.sopha-page .btn-outline-secondary,
.sopha-page .btn-outline-light{
  color:var(--sk-ink);
  border-color:#b9c5b7;
  background:#f7f3ea;
}

.sopha-page .btn-outline-dark:hover,
.sopha-page .btn-outline-secondary:hover,
.sopha-page .btn-outline-light:hover{
  color:#fff;
  background:var(--sk-ink);
  border-color:var(--sk-ink);
}

.sopha-page .alert{
  border-radius:var(--sk-radius);
  border-width:1px;
}

.sopha-page .table-responsive{
  border-radius:var(--sk-radius);
}

.sopha-page .table{
  --bs-table-bg:#f7f3ea;
  --bs-table-color:var(--sk-ink);
  --bs-table-border-color:var(--sk-line);
  margin-bottom:0;
  color:var(--sk-ink);
  font-size:.93rem;
}

.sopha-page .table thead th,
.sopha-page .table-light th{
  position:sticky;
  top:0;
  z-index:1;
  background:#dce5da !important;
  color:#24352d !important;
  border-color:var(--sk-line) !important;
  font-weight:800;
  white-space:nowrap;
}

.sopha-page .table tbody td{
  border-color:var(--sk-line) !important;
  vertical-align:middle;
}

.sopha-page .table-hover tbody tr:hover > *{
  background:#ebe7da !important;
}

.sopha-page .badge{
  border-radius:999px;
  font-weight:700;
}

.sopha-page .text-muted,
.sopha-page .text-muted-soft{
  color:var(--sk-muted) !important;
}

.sopha-page .money,
.sopha-page .money-pos{
  color:#0c6d42;
  font-weight:800;
}

.sopha-page .money-neg,
.sopha-page .item-line-negative{
  color:var(--sk-danger) !important;
  font-weight:800;
}

.rows-disabled input,
.rows-disabled select{
  background:#dfe6dd !important;
}

.row-dup > td,
.row-dup > th{
  background-color:#fde7e7 !important;
}

@media (max-width: 767.98px){
  :root{ --nav-h:64px; }
  .sopha-page{
    padding-top:var(--nav-h);
  }
  .sopha-page .container,
  .sopha-page .container-fluid{
    padding-left:12px;
    padding-right:12px;
  }
  .sopha-page .card-body{
    padding:1rem;
  }
  .sopha-page h2{
    font-size:1.35rem;
  }
  .sopha-page h3{
    font-size:1.25rem;
  }
}

@media print{
  body,
  .sopha-page{
    background:#fff !important;
    color:#111 !important;
    padding-top:0 !important;
  }
  .sopha-page .card,
  .sopha-page .filter-card{
    box-shadow:none !important;
  }
}
