:root{
  --ahis-bg:#f6f2e9;
  --ahis-surface:#ffffff;
  --ahis-surface-soft:#fff7ec;
  --ahis-surface-alt:#f8faf7;
  --ahis-border:#e7dcc8;
  --ahis-border-strong:#d7c3a2;
  --ahis-text:#1d242d;
  --ahis-muted:#667085;
  --ahis-primary:#e56a17;
  --ahis-primary-hover:#c9550b;
  --ahis-primary-soft:#feead8;
  --ahis-success:#18864a;
  --ahis-success-soft:#e5f5ea;
  --ahis-warning:#b56a10;
  --ahis-danger:#c53b1d;
  --ahis-info:#145da0;
  --ahis-shadow:0 14px 36px rgba(41, 35, 26, .08);
  --ahis-shadow-soft:0 10px 24px rgba(41, 35, 26, .06);
  --ahis-radius:18px;
  --ahis-radius-sm:12px;
  --ahis-btn-radius:12px;
  --ahis-btn-radius-sm:10px;
  --ahis-btn-height:44px;
  --ahis-btn-height-sm:36px;
  --ahis-btn-padding-x:1rem;
  --ahis-btn-padding-y:.68rem;
  --ahis-btn-font-size:.95rem;
  --ahis-btn-font-weight:700;
  --ahis-sidebar-w:308px;
  --ahis-topbar-h:72px;
}

*{box-sizing:border-box}
html,body{height:100%}
body.ahis-body{
  margin:0;
  color:var(--ahis-text);
  background:
    radial-gradient(960px 520px at 90% -10%, rgba(229,106,23,.14), transparent 60%),
    radial-gradient(860px 500px at 5% 100%, rgba(24,134,74,.10), transparent 60%),
    var(--ahis-bg);
  font-family:"Source Sans 3","Segoe UI","Noto Sans",sans-serif;
  line-height:1.5;
}

:focus-visible{
  outline:3px solid #1d4ed8;
  outline-offset:2px;
}

.ahis-topbar{
  position:fixed;
  top:0; left:0; right:0;
  height:var(--ahis-topbar-h);
  z-index:1035;
  border-bottom:1px solid rgba(255,255,255,.24);
  background:linear-gradient(90deg,
    var(--ahis-flag-1, #e15307) 0%,
    var(--ahis-flag-1, #e15307) 33.33%,
    var(--ahis-flag-2, #ffffff) 33.33%,
    var(--ahis-flag-2, #ffffff) 66.66%,
    var(--ahis-flag-3, #1f8f4e) 66.66%,
    var(--ahis-flag-3, #1f8f4e) 100%
  );
  backdrop-filter:blur(8px);
}
.ahis-topbar-inner{
  height:100%;
  padding:0 1rem;
}
.ahis-flag-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
}
.ahis-flag{
  height:18px;
  width:auto;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
}
.ahis-flag-fallback{
  font-weight:700;
  font-size:.75rem;
  letter-spacing:.05em;
  color:#fff;
}
@media (max-width: 576px){
  .ahis-flag{ height:16px; }
}
.ahis-topbar .ahis-brand,
.ahis-topbar .ahis-brand-name,
.ahis-topbar .ahis-brand-org,
.ahis-topbar .ahis-top-search i,
.ahis-topbar .ahis-top-search .form-control,
.ahis-topbar .ahis-btn,
.ahis-topbar .dropdown-toggle,
.ahis-topbar .badge{
  color:#fff;
}
.ahis-brand{
  display:flex;
  align-items:center;
  gap:.85rem;
  min-width:0;
  text-decoration:none;
}
.ahis-brand-logo{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  overflow:hidden;
}
.ahis-brand-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ahis-brand-fallback{
  font-weight:700;
  color:#fff;
}
.ahis-brand-meta{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.ahis-brand-name{
  font-size:1rem;
  font-weight:800;
  line-height:1.1;
  letter-spacing:.04em;
}
.ahis-brand-org{
  font-size:.72rem;
  opacity:.92;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ahis-topbar .ahis-top-search .form-control{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.25);
}
.ahis-topbar .ahis-top-search .form-control::placeholder{
  color:rgba(255,255,255,.8);
}
.ahis-topbar .ahis-btn,
.ahis-topbar .btn{
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.08);
}
.ahis-inline-alert{
  min-height:auto;
}
.ahis-dropdown-wide{
  min-width:320px;
}
.ahis-dropdown-notifications{
  min-width:360px;
}
.ahis-top-search{
  position:relative;
  align-items:center;
  min-width:320px;
}
.ahis-top-search i{
  position:absolute;
  left:.75rem;
  color:var(--ahis-muted);
}
.ahis-top-search .form-control{
  padding-left:2.1rem;
  border-radius:999px;
  background:var(--ahis-surface-soft);
}

.ahis-shell{
  display:flex;
  min-height:100vh;
  padding-top:var(--ahis-topbar-h);
}

.ahis-sidebar{
  width:var(--ahis-sidebar-w);
  flex:0 0 var(--ahis-sidebar-w);
  border-right:1px solid var(--ahis-border);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,248,239,.94));
  position:fixed;
  left:0;
  top:var(--ahis-topbar-h);
  bottom:0;
  z-index:1030;
}
.ahis-sidebar-scroll{
  height:100%;
  overflow-y:auto;
  padding:1rem .75rem 1.25rem;
}
.ahis-sidebar-title{
  display:flex;
  align-items:center;
  gap:.45rem;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8a6a3f;
  margin:.55rem .5rem .7rem;
  font-weight:700;
}
.ahis-sidebar-accordion .accordion-item{
  border:0;
  background:transparent;
}
.ahis-sidebar-accordion .accordion-button{
  border-radius:12px;
  background:transparent;
  color:var(--ahis-text);
  font-weight:600;
  box-shadow:none;
  padding:.62rem .72rem;
}
.ahis-sidebar-accordion .accordion-button:not(.collapsed){
  color:var(--ahis-primary);
  background:var(--ahis-primary-soft);
}
.ahis-sidebar-accordion .accordion-body{
  padding:.4rem .2rem .55rem;
}

.ahis-nav-link{
  display:flex;
  align-items:center;
  gap:.6rem;
  border:1px solid transparent;
  border-radius:12px;
  color:#233247;
  text-decoration:none;
  padding:.52rem .58rem;
  margin-bottom:.2rem;
}
.ahis-nav-link:hover{
  background:var(--ahis-surface-soft);
  border-color:var(--ahis-border);
}
.ahis-nav-link.active{
  background:#fff0df;
  border-color:#f0c996;
  color:#8c3d05;
}
.ahis-nav-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  border:1px solid var(--ahis-border);
  background:#fff;
}
.ahis-nav-label{
  font-size:.92rem;
  font-weight:550;
  flex:1;
}
.ahis-group-wrap{
  margin:.12rem 0;
}
.ahis-group-btn{
  width:100%;
  display:flex;
  align-items:center;
  gap:.55rem;
  border:1px solid transparent;
  border-left:3px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#233247;
  text-align:left;
  padding:.5rem .55rem .5rem .48rem;
}
.ahis-group-btn:hover{
  background:var(--ahis-surface-soft);
  border-color:var(--ahis-border);
}
.ahis-group-btn.is-parent-active{
  background:#fff3e4;
  border-left-color:#e27a21;
}
.ahis-group-icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  border:1px solid var(--ahis-border);
  border-radius:8px;
  background:#fff;
}
.ahis-group-label{
  flex:1;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.9rem;
  font-weight:600;
}
.ahis-group-chevron{
  color:#64748b;
  font-size:.8rem;
}
.ahis-group-btn .ahis-group-chevron i{
  transition:transform .2s ease;
}
.ahis-group-btn.collapsed .ahis-group-chevron i{
  transform:rotate(-90deg);
}
.ahis-group-children{
  margin:.14rem 0 .2rem .95rem;
  padding-left:.35rem;
  border-left:1px solid #e2e8f0;
  transition:height .22s ease;
  will-change:height;
}
.ahis-sub-link.depth-1,
.ahis-group-wrap.depth-1 > .ahis-group-btn{
  margin-left:.25rem;
}
.ahis-sub-link.depth-2,
.ahis-group-wrap.depth-2 > .ahis-group-btn{
  margin-left:.55rem;
}
.ahis-sub-link.depth-3,
.ahis-group-wrap.depth-3 > .ahis-group-btn{
  margin-left:.85rem;
}
.ahis-sub-link.depth-4,
.ahis-group-wrap.depth-4 > .ahis-group-btn{
  margin-left:1.1rem;
}

.ahis-main{
  flex:1;
  margin-left:var(--ahis-sidebar-w);
  min-width:0;
}
.ahis-container{
  padding:1.2rem 1rem 1.8rem;
}
.ahis-page{
  width:100%;
}
.ahis-surface{
  background:var(--ahis-surface);
  border:1px solid var(--ahis-border);
  border-radius:var(--ahis-radius);
  box-shadow:var(--ahis-shadow);
  padding:1.15rem;
  position:relative;
  overflow:hidden;
}
.ahis-surface::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg, var(--ahis-primary) 0 33.33%, #ffffff 33.33% 66.66%, var(--ahis-success) 66.66% 100%);
}

.ahis-content-stack > * + *{
  margin-top:1rem;
}

.ahis-surface > .container,
.ahis-surface > .container-fluid{
  max-width:100% !important;
  padding-left:0;
  padding-right:0;
  margin-left:0 !important;
  margin-right:0 !important;
}

.page-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,247,236,.98));
  border:1px solid var(--ahis-border);
  border-radius:var(--ahis-radius);
  padding:1.15rem 1.25rem;
  margin-bottom:.9rem;
  position:relative;
  overflow:hidden;
}
.page-header::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:180px;
  height:100%;
  background:
    linear-gradient(135deg, rgba(229,106,23,.08), transparent 58%),
    linear-gradient(135deg, transparent 32%, rgba(24,134,74,.06) 100%);
  pointer-events:none;
}
.page-header h1{
  font-size:1.45rem;
  font-weight:700;
  color:#162032;
}
.ahis-page-header h1{
  margin:0;
  font-size:1.45rem;
  font-weight:700;
  color:#162032;
}
.ahis-breadcrumb,
.ahis-page-header .subtitle{
  color:var(--ahis-muted);
}
.ahis-breadcrumb{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
  font-size:.85rem;
}
.ahis-breadcrumb-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .65rem;
  border-radius:999px;
  background:var(--ahis-primary-soft);
  color:#8c3d05;
  font-weight:600;
}
.ahis-page-header{
  gap:1rem;
}
.ahis-page-header .subtitle{
  max-width:72ch;
}
.page-form-limit{
  max-width:1200px;
}

.card-soft{
  background:linear-gradient(180deg, var(--ahis-surface-soft), #fffdf9);
  border:1px solid var(--ahis-border);
  border-radius:var(--ahis-radius);
  box-shadow:var(--ahis-shadow-soft);
}
.form-help{
  font-size:.8rem;
  color:var(--ahis-muted);
  margin-top:.35rem;
}

.sticky-actions{
  position:sticky;
  bottom:0;
  z-index:20;
  background:rgba(255,255,255,.96);
  border:1px solid var(--ahis-border);
  border-radius:12px;
  padding:.7rem;
  box-shadow:0 -4px 20px rgba(15,23,42,.06);
}

.ahis-card{
  border:1px solid var(--ahis-border);
  border-radius:var(--ahis-radius);
  background:var(--ahis-surface);
  box-shadow:var(--ahis-shadow-soft);
}
.ahis-panel{
  border:1px solid var(--ahis-border);
  border-radius:var(--ahis-radius);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,236,.88));
  box-shadow:var(--ahis-shadow-soft);
}
.ahis-card-header{
  border-bottom:1px solid var(--ahis-border);
  background:var(--ahis-surface-soft);
  padding:.75rem 1rem;
  font-weight:600;
}
.ahis-footer{
  margin-left:var(--ahis-sidebar-w);
  border-top:1px solid var(--ahis-border);
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(10px);
}
.ahis-footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:60px;
  padding:.8rem 1rem;
}

.table thead th{
  background:var(--ahis-surface-soft);
  color:#2b3950;
  border-bottom:1px solid var(--ahis-border-strong);
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  white-space:nowrap;
  font-weight:800;
  padding-top:.88rem;
  padding-bottom:.88rem;
}
.table td{
  vertical-align:middle;
  color:#223041;
}
.table{
  --bs-table-bg:transparent;
  --bs-table-striped-bg:rgba(251, 230, 209, .22);
  --bs-table-hover-bg:rgba(229,106,23,.06);
  margin-bottom:0;
}
.table tbody tr{
  transition:background-color .16s ease, box-shadow .16s ease;
}
.table tbody tr:hover > *{
  box-shadow:inset 0 1px 0 rgba(229,106,23,.04), inset 0 -1px 0 rgba(229,106,23,.08);
}
.table > :not(caption) > * > *{
  padding:.85rem .9rem;
  border-bottom-color:var(--ahis-border);
}
.table-responsive{
  border-radius:14px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(140,61,5,.36) rgba(247,242,233,.72);
}
.table-responsive::-webkit-scrollbar{
  height:10px;
  width:10px;
}
.table-responsive::-webkit-scrollbar-thumb{
  background:rgba(140,61,5,.34);
  border-radius:999px;
}
.table-responsive::-webkit-scrollbar-track{
  background:rgba(247,242,233,.72);
}
.ahis-table-card{
  border:1px solid var(--ahis-border);
  border-radius:var(--ahis-radius);
  background:var(--ahis-surface);
  box-shadow:var(--ahis-shadow-soft);
  overflow:hidden;
}
.ahis-table-wrap{
  width:100%;
}
.ahis-table-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:1rem 1.1rem;
  border-bottom:1px solid var(--ahis-border);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,239,.84));
}
.ahis-table-tools{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
  margin-left:auto;
}
.ahis-table-search-wrap{
  max-width:320px;
}
.ahis-table-search-wrap .input-group-text{
  border-radius:999px 0 0 999px;
  border-color:var(--ahis-border-strong);
  background:var(--ahis-surface-soft);
  color:#8c3d05;
}
.ahis-table-search-wrap .form-control{
  border-left:0;
  border-radius:0 999px 999px 0;
}
.ahis-table-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65rem;
  color:var(--ahis-muted);
  font-size:.88rem;
}
.ahis-table-meta .form-select{
  min-height:38px;
  padding:.35rem 2rem .35rem .7rem;
  border-radius:999px;
}
.ahis-table-empty{
  padding:2.25rem 1rem;
  text-align:center;
  color:var(--ahis-muted);
}
.ahis-table-section-title{
  font-size:1rem;
  font-weight:700;
  margin:0;
}
.ahis-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.ahis-toolbar-meta{
  color:var(--ahis-muted);
  font-size:.9rem;
}
.ahis-btn-row{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}
.ahis-action-group{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.5rem;
  max-width:100%;
}
.ahis-action-group .btn,
.table td .btn-group,
.table td .btn-group-sm,
.table td .d-inline-flex,
.table td .d-flex{
  max-width:100%;
}
.ahis-action-group .btn,
.table td .btn-group > .btn,
.table td .btn-group-sm > .btn{
  white-space:nowrap;
}
.ahis-empty-state{
  border:1px dashed var(--ahis-border-strong);
  border-radius:14px;
  background:rgba(255,248,239,.6);
  padding:2rem 1rem;
  text-align:center;
}
.ahis-empty-state-inline{
  margin:.25rem 0;
  padding:1.4rem 1rem;
}
.ahis-empty-state-title{
  display:block;
  font-weight:700;
  color:#344054;
  margin-bottom:.2rem;
}
.menu-builder-table .menu-builder-section-row td{
  background:#eef3f9;
  color:#31435f;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.75rem;
}
.menu-tree-label{
  display:inline-flex;
  align-items:center;
  gap:.28rem;
  font-weight:560;
}
.menu-tree-label.depth-0{ padding-left:.15rem; }
.menu-tree-label.depth-1{ padding-left:1rem; }
.menu-tree-label.depth-2{ padding-left:2rem; }
.menu-tree-label.depth-3{ padding-left:3rem; }
.menu-tree-label.depth-4{ padding-left:4rem; }
.menu-tree-arrow{
  color:#627188;
  font-size:.8rem;
}
.menu-icon-pill{
  width:30px;
  height:30px;
  border-radius:8px;
  border:1px solid var(--ahis-border);
  display:grid;
  place-items:center;
  background:#fff;
  color:#203750;
}
.menu-icon-preview{
  width:30px;
  height:30px;
  border-radius:8px;
  border:1px solid var(--ahis-border);
  display:grid;
  place-items:center;
  background:#fff;
  color:#203750;
}

.btn{
  border:1px solid transparent;
  border-radius:var(--ahis-btn-radius);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  font-size:var(--ahis-btn-font-size);
  font-weight:var(--ahis-btn-font-weight);
  min-height:var(--ahis-btn-height);
  padding:var(--ahis-btn-padding-y) var(--ahis-btn-padding-x);
  letter-spacing:.01em;
  line-height:1.1;
  box-shadow:none;
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.btn-sm{
  border-radius:var(--ahis-btn-radius-sm);
  min-height:var(--ahis-btn-height-sm);
  padding:.42rem .72rem;
  gap:.35rem;
  font-size:.85rem;
}
.btn-lg{
  min-height:52px;
  padding:.85rem 1.35rem;
  font-size:1rem;
}
.btn:hover{
  transform:translateY(-1px);
}
.btn:active{
  transform:none;
}
.btn:focus,
.btn:focus-visible{
  box-shadow:0 0 0 .22rem rgba(229,106,23,.16);
}
.btn.disabled,
.btn:disabled{
  opacity:.58;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
.btn-primary,
.btn-success,
.btn-danger,
.btn-secondary,
.btn-dark,
.btn-warning,
.btn-info{
  color:#fff;
}
.btn-outline-secondary{
  border-color:var(--ahis-border-strong);
  color:#344054;
  background:#fff;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus{
  border-color:#c8b08a;
  background:var(--ahis-surface-soft);
  color:#243242;
}
.btn-primary{
  background:var(--ahis-primary);
  border-color:var(--ahis-primary);
}
.btn-primary:hover,
.btn-primary:focus{
  background:var(--ahis-primary-hover);
  border-color:var(--ahis-primary-hover);
  color:#fff;
}
.btn-outline-primary{
  color:var(--ahis-primary);
  border-color:var(--ahis-primary);
  background:#fff;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus{
  background:var(--ahis-primary);
  border-color:var(--ahis-primary);
  color:#fff;
}
.btn-secondary{
  color:#344054;
  background:#fff;
  border-color:var(--ahis-border-strong);
}
.btn-secondary:hover,
.btn-secondary:focus{
  color:#243242;
  background:var(--ahis-surface-soft);
  border-color:#c8b08a;
}
.btn-outline-dark{
  color:#20402d;
  border-color:#20402d;
  background:#fff;
}
.btn-outline-dark:hover,
.btn-outline-dark:focus{
  color:#fff;
  background:#20402d;
  border-color:#20402d;
}
.btn-dark{
  background:#20402d;
  border-color:#20402d;
}
.btn-dark:hover,
.btn-dark:focus{
  background:#173121;
  border-color:#173121;
  color:#fff;
}
.btn-outline-success{
  color:var(--ahis-success);
  border-color:var(--ahis-success);
  background:#fff;
}
.btn-outline-success:hover,
.btn-outline-success:focus{
  color:#fff;
  background:var(--ahis-success);
  border-color:var(--ahis-success);
}
.btn-outline-warning{
  color:#9a5a08;
  border-color:#d39f4a;
  background:#fff;
}
.btn-outline-warning:hover,
.btn-outline-warning:focus{
  color:#fff;
  background:#b56a10;
  border-color:#b56a10;
}
.btn-outline-danger{
  color:var(--ahis-danger);
  border-color:#e3a094;
  background:#fff;
}
.btn-outline-danger:hover,
.btn-outline-danger:focus{
  color:#fff;
  background:var(--ahis-danger);
  border-color:var(--ahis-danger);
}
.btn-success{
  background:var(--ahis-success);
  border-color:var(--ahis-success);
}
.btn-success:hover,
.btn-success:focus{
  background:#17603e;
  border-color:#17603e;
  color:#fff;
}
.btn-warning{
  background:var(--ahis-warning);
  border-color:var(--ahis-warning);
}
.btn-warning:hover,
.btn-warning:focus{
  background:#96570d;
  border-color:#96570d;
  color:#fff;
}
.btn-danger{
  background:var(--ahis-danger);
  border-color:var(--ahis-danger);
}
.btn-danger:hover,
.btn-danger:focus{
  background:#a83117;
  border-color:#a83117;
  color:#fff;
}
.btn-info{
  background:var(--ahis-info);
  border-color:var(--ahis-info);
}
.btn-info:hover,
.btn-info:focus{
  background:#0f4a80;
  border-color:#0f4a80;
  color:#fff;
}
.btn-outline-info{
  color:var(--ahis-info);
  border-color:color-mix(in srgb, var(--ahis-info) 35%, #fff);
  background:#fff;
}
.btn-outline-info:hover,
.btn-outline-info:focus{
  color:#fff;
  background:var(--ahis-info);
  border-color:var(--ahis-info);
}
.btn-light{
  color:#344054;
  background:#fff;
  border-color:#eaecf0;
}
.btn-light:hover,
.btn-light:focus{
  color:#243242;
  background:#f8fafc;
  border-color:#d0d5dd;
}
.btn-icon{
  width:var(--ahis-btn-height-sm);
  min-width:var(--ahis-btn-height-sm);
  padding:0;
  aspect-ratio:1;
}
.btn-icon.btn-sm{
  width:var(--ahis-btn-height-sm);
  min-width:var(--ahis-btn-height-sm);
}
.btn-icon i,
.btn-icon svg{
  font-size:1rem;
}
.btn-close{
  border-radius:10px;
  padding:.55rem;
  transition:background-color .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.btn-close:hover,
.btn-close:focus{
  background:rgba(229,106,23,.08);
  box-shadow:none;
}
.badge{
  border-radius:999px;
  padding:.42rem .7rem;
  font-size:.78rem;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.01em;
}
.badge.text-bg-light.border{
  background:#fff7ed !important;
  color:#9a3412 !important;
  border-color:#fed7aa !important;
}
.badge.text-bg-secondary,
.badge.bg-secondary{
  background:#eef2f6 !important;
  color:#475467 !important;
}
.badge-soft{
  background:rgba(229,106,23,.08) !important;
  color:#8c3d05 !important;
  border:1px solid rgba(229,106,23,.18) !important;
}
.badge.text-bg-success,
.badge.bg-success{
  background:#dcfce7 !important;
  color:#166534 !important;
}
.badge.text-bg-danger,
.badge.bg-danger{
  background:#fee2e2 !important;
  color:#991b1b !important;
}
.badge.text-bg-warning,
.badge.bg-warning{
  background:#fef3c7 !important;
  color:#92400e !important;
}
.badge.text-bg-info,
.badge.bg-info{
  background:#dbeafe !important;
  color:#1d4ed8 !important;
}

.form-control,.form-select{
  border:1px solid var(--ahis-border-strong);
  border-radius:12px;
  padding:.78rem .92rem;
  background:#fff;
  min-height:48px;
  box-shadow:0 1px 0 rgba(16,24,40,.02);
}
.ahis-form input:not([type="checkbox"]):not([type="radio"]),
.ahis-form select,
.ahis-form textarea{
  width:100%;
  border:1px solid var(--ahis-border-strong);
  border-radius:12px;
  padding:.78rem .92rem;
  background:#fff;
  min-height:48px;
}
.ahis-form input[type="file"]{
  padding:.55rem .75rem;
}
.form-control::placeholder,
.ahis-form input::placeholder,
.ahis-form textarea::placeholder{
  color:#98a2b3;
}
.form-control:focus,.form-select:focus{
  border-color:var(--ahis-primary);
  box-shadow:0 0 0 .22rem rgba(229,106,23,.14);
}
.ahis-form input:not([type="checkbox"]):not([type="radio"]):focus,
.ahis-form select:focus,
.ahis-form textarea:focus{
  outline:0;
  border-color:var(--ahis-primary);
  box-shadow:0 0 0 .22rem rgba(229,106,23,.14);
}
.form-label{
  font-weight:700;
  color:#344054;
  margin-bottom:.45rem;
}
.form-check{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:.65rem;
  padding-left:0;
}
.form-check-input{
  margin:0;
}
.form-check-label{
  margin:0;
  color:#344054;
}
.form-text,
.form-help{
  color:var(--ahis-muted);
}
.ahis-form-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:1rem;
}
.ahis-form-field{
  grid-column:span 6;
}
.ahis-form-field--full{
  grid-column:1 / -1;
}
.ahis-form-field .text-danger{
  margin-top:.35rem;
}
.ahis-form-section{
  border:1px solid var(--ahis-border);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,236,.72));
  padding:1rem;
}
.ahis-form-section-title{
  font-size:1rem;
  font-weight:700;
  margin:0 0 .85rem;
}
.ahis-form-actions{
  border-top:1px solid var(--ahis-border);
  padding-top:1rem;
}
.alert{
  border-radius:14px;
  border-width:1px;
  padding:.9rem 1rem;
}
.ahis-message{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  margin-bottom:.85rem;
}
.ahis-message-icon{
  font-size:1rem;
  margin-top:.1rem;
}
.pagination{
  gap:.35rem;
  flex-wrap:wrap;
}
.page-link{
  border-radius:var(--ahis-btn-radius-sm) !important;
  border-color:var(--ahis-border-strong);
  color:#344054;
  min-width:42px;
  min-height:var(--ahis-btn-height-sm);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.45rem .8rem;
  background:#fff;
  font-weight:700;
  transition:background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.page-item.active .page-link{
  background:var(--ahis-primary);
  border-color:var(--ahis-primary);
  color:#fff;
}
.page-item.disabled .page-link{
  background:#f8f5ee;
  color:#98a2b3;
}
.ahis-pagination-bar,
.ahis-table-footer{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.9rem;
  padding:1rem 1.1rem;
  border-top:1px solid var(--ahis-border);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,248,239,.74));
}
.ahis-pagination-summary,
.ahis-table-footnote{
  font-size:.88rem;
  color:var(--ahis-muted);
}
.ahis-table-toolbar.is-hidden,
.ahis-table-footer.is-hidden{
  display:none;
}
.ahis-filter-card{
  border:1px solid var(--ahis-border);
  border-radius:var(--ahis-radius);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,236,.88));
  box-shadow:var(--ahis-shadow-soft);
  padding:1.1rem;
}
.ahis-filter-card .form-label{
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#6b7280;
}
.ahis-filter-grid{
  row-gap:1rem;
}
.ahis-filter-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:.75rem;
}
.ahis-truncate{
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  vertical-align:bottom;
}
.ahis-text-wrap{
  white-space:normal;
  word-break:break-word;
}
.table .text-end .ahis-action-group,
.table td:last-child .ahis-action-group{
  margin-left:auto;
}
.table code{
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.8rem;
  padding:.15rem .38rem;
  border-radius:8px;
  background:rgba(255,248,239,.7);
  color:#7c2d12;
}
.table .form-control,
.table .form-select{
  min-height:40px;
  padding:.45rem .7rem;
}
.ahis-stat-card{
  border:1px solid var(--ahis-border);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,236,.92));
  box-shadow:var(--ahis-shadow-soft);
  padding:1rem;
  height:100%;
  position:relative;
  overflow:hidden;
}
.ahis-stat-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg, var(--ahis-primary), var(--ahis-success));
}
.ahis-stat-label{
  font-size:.77rem;
  color:var(--ahis-muted);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
}
.ahis-stat-value{
  font-size:2rem;
  line-height:1.1;
  font-weight:800;
  margin-top:.45rem;
}
.ahis-stat-divider{
  height:1px;
  margin:.85rem 0;
  background:linear-gradient(90deg, rgba(221, 170, 111, .08), rgba(221, 170, 111, .55), rgba(221, 170, 111, .08));
}
.ahis-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:1rem;
}
.ahis-dashboard-grid > *{
  min-width:0;
}
.ahis-dashboard-kpi{
  grid-column:span 3;
}
.ahis-dashboard-half{
  grid-column:span 6;
}
.ahis-dashboard-full{
  grid-column:1 / -1;
}
.ahis-chart-card img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
}
.ahis-detail-card{
  border:1px solid var(--ahis-border);
  border-radius:var(--ahis-radius);
  background:var(--ahis-surface);
  box-shadow:var(--ahis-shadow-soft);
  height:100%;
}
.ahis-detail-card-header{
  padding:1rem 1.1rem;
  border-bottom:1px solid var(--ahis-border);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,239,.88));
}
.ahis-detail-card-body{
  padding:1.1rem;
}
.ahis-detail-grid{
  display:grid;
  grid-template-columns:minmax(160px, 220px) minmax(0, 1fr);
  gap:.85rem 1rem;
  margin:0;
}
.ahis-detail-grid dt{
  margin:0;
  color:var(--ahis-muted);
  font-weight:600;
}
.ahis-detail-grid dd{
  margin:0;
  color:var(--ahis-text);
  font-weight:500;
  word-break:break-word;
}
.modal-content{
  border:1px solid var(--ahis-border);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 26px 52px rgba(15,23,42,.16);
}
.modal-header{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,239,.88));
  border-bottom-color:var(--ahis-border);
}
.modal-footer{
  border-top-color:var(--ahis-border);
}

.row[class*="g-"] > [class*="col-"] > .card,
.row[class*="g-"] > [class*="col-"] > .card-soft,
.row[class*="g-"] > [class*="col-"] > .ahis-card,
.row[class*="g-"] > [class*="col-"] > .ahis-panel{
  height:100%;
}

.card,
.list-group-item,
.modal-content,
.dropdown-menu{
  border-color:var(--ahis-border);
}

.card{
  border-radius:var(--ahis-radius);
  box-shadow:var(--ahis-shadow-soft);
  overflow:hidden;
}

.card-header{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,236,.88));
  border-bottom:1px solid var(--ahis-border);
}

.list-group-item{
  padding:.85rem 1rem;
}

.ahis-dashboard-grid,
.kpi-grid,
.kpis,
.filters-grid,
.grid.g2,
.grid.g3,
.mini4{
  align-items:stretch;
}

.kpi-card,
.kpi,
.mini,
.panel-card,
.filter-card,
.cardx{
  border-radius:18px;
  border:1px solid var(--ahis-border);
  box-shadow:var(--ahis-shadow-soft);
}

.kpi-card,
.kpi,
.mini{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,236,.9));
}

.panel-card,
.filter-card,
.cardx{
  background:var(--ahis-surface);
}

.cardx-hd,
.panel-head{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,236,.86));
}

.table-wrap,
.tableWrap{
  border:1px solid var(--ahis-border);
  border-radius:18px;
  background:#fff;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

.table-wrap .table,
.tableWrap table{
  min-width:720px;
}

.chip,
.pill{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border-radius:999px;
  border:1px solid var(--ahis-border);
  background:var(--ahis-surface-soft);
  color:#6b4a2f;
  font-weight:700;
}

.dash-head,
.topline,
.section-head,
.actions-inline,
.actions,
.ahis-toolbar,
.ahis-btn-row{
  gap:.75rem;
}

.filters .form-grid,
.filter-grid{
  row-gap:1rem;
}

.ahis-surface form select:not(.form-select),
.ahis-surface form input[type="text"]:not(.form-control),
.ahis-surface form input[type="number"]:not(.form-control),
.ahis-surface form input[type="date"]:not(.form-control),
.ahis-surface form input[type="email"]:not(.form-control),
.ahis-surface form input[type="password"]:not(.form-control),
.ahis-surface form textarea:not(.form-control){
  width:100%;
  min-height:48px;
  padding:.78rem .92rem;
  border:1px solid var(--ahis-border-strong);
  border-radius:12px;
  background:#fff;
}

.ahis-surface form select:not(.form-select):focus,
.ahis-surface form input[type="text"]:not(.form-control):focus,
.ahis-surface form input[type="number"]:not(.form-control):focus,
.ahis-surface form input[type="date"]:not(.form-control):focus,
.ahis-surface form input[type="email"]:not(.form-control):focus,
.ahis-surface form input[type="password"]:not(.form-control):focus,
.ahis-surface form textarea:not(.form-control):focus{
  outline:0;
  border-color:var(--ahis-primary);
  box-shadow:0 0 0 .22rem rgba(229,106,23,.14);
}

.ahis-surface img.img-fluid.rounded.border,
.ahis-surface .chart-img{
  border-color:var(--ahis-border) !important;
  border-radius:16px !important;
  background:#fff;
}

@media (max-width: 991.98px){
  .ahis-sidebar{
    transform:translateX(-100%);
    transition:transform .2s ease;
  }
  .ahis-sidebar.open{
    transform:translateX(0);
  }
  .ahis-main{
    margin-left:0;
  }
  .ahis-footer{
    margin-left:0;
  }
  body.ahis-sidebar-open::before{
    content:"";
    position:fixed;
    inset:var(--ahis-topbar-h) 0 0 0;
    background:rgba(15,23,42,.45);
    z-index:1025;
  }
  .page-header{
    flex-direction:column;
  }
  .ahis-form-field{
    grid-column:1 / -1;
  }
  .ahis-dashboard-kpi,
  .ahis-dashboard-half,
  .ahis-dashboard-full{
    grid-column:1 / -1;
  }
  .ahis-detail-grid{
    grid-template-columns:1fr;
    gap:.35rem;
  }
  .ahis-top-search{
    min-width:0;
  }
  .ahis-brand-org{
    display:none;
  }
  .ahis-container{
    padding:1rem .8rem 1.4rem;
  }
  .ahis-surface{
    padding:1rem;
  }
  .ahis-footer-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width: 767.98px){
  .page-header{
    padding:1rem;
  }
  .page-header h1,
  .ahis-page-header h1{
    font-size:1.2rem;
  }
  .btn,
  .btn-sm{
    width:100%;
  }
  .ahis-action-group .btn,
  .ahis-btn-row .btn,
  .actions-inline .btn,
  .actions-inline a,
  .actions .btn,
  .actions a{
    flex:1 1 100%;
  }
  .ahis-table-toolbar,
  .ahis-table-footer,
  .ahis-pagination-bar,
  .ahis-filter-card,
  .card-soft,
  .card-body,
  .cardx-bd{
    padding:1rem;
  }
  .ahis-table-tools,
  .ahis-table-meta{
    width:100%;
  }
  .ahis-table-search-wrap{
    max-width:none;
    width:100%;
  }
  .ahis-pagination-bar,
  .ahis-table-footer{
    align-items:stretch;
  }
  .ahis-pagination-bar .pagination,
  .ahis-table-footer .pagination{
    width:100%;
    justify-content:stretch;
  }
  .ahis-pagination-bar .page-item,
  .ahis-table-footer .page-item{
    flex:1 1 auto;
  }
  .ahis-pagination-bar .page-link,
  .ahis-table-footer .page-link{
    width:100%;
  }
  .table-responsive > .table{
    min-width:640px;
  }
  .table > :not(caption) > * > *{
    padding:.72rem .75rem;
  }
  .table-wrap .table,
  .tableWrap table{
    min-width:640px;
  }
}
