/* Guest House Management — GECA navy #002d62 + orange #f9a01b */
.gh-module .x_panel{
  border:0;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,45,98,.08);
}
.gh-module .x_title{
  background:transparent;
  border-bottom:2px solid #f9a01b;
  padding:4px 8px 10px;
  margin:0 0 8px;
}
.gh-module .x_title h3.head-title{
  color:#002d62 !important;
  float:left;
  margin:2px 0 -4px;
  font-size:18px;
  font-weight:600;
}
.gh-module .x_title h3.head-title small{
  color:#002d62 !important;
  font-size:16px;
  font-weight:600;
  letter-spacing:.2px;
}
.gh-module .x_title h3.head-title small a{
  color:#002d62;
  font-weight:600;
}
.gh-module .x_title h3.head-title small a:hover{
  color:#f9a01b;
}
.gh-module .x_title h3.head-title i.fa-home{
  margin-right:8px;
  color:#f9a01b;
  font-size:20px;
}
.gh-module .gh-bc-sep{
  margin:0 8px;
  color:#f9a01b;
  font-size:14px;
}
.gh-module .x_content{
  padding:16px 20px 20px;
}
.gh-module .x_content.quick-link{
  background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);
  border-bottom:1px solid #e8eef4;
  padding:12px 16px 14px;
}
.gh-qlink{
  display:flex;
  flex-wrap:wrap;
  gap:2px;
  align-items:stretch;
  background:#eef2f6;
  border:1px solid #e2e8ef;
  border-radius:12px;
  padding:5px;
}
.gh-qlink .gh-qlabel{
  display:none;
}
.gh-qlink a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 13px;
  border-radius:8px;
  background:transparent;
  border:0;
  color:#3d5670 !important;
  font-size:12px;
  font-weight:600;
  letter-spacing:.15px;
  text-decoration:none !important;
  box-shadow:none;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
.gh-qlink a i{
  width:16px;
  text-align:center;
  font-size:13px;
  color:#7b8d9c;
}
.gh-qlink a:hover{
  background:#fff;
  color:#002d62 !important;
}
.gh-qlink a:hover i{color:#f9a01b}
.gh-qlink a.active{
  background:#002d62;
  color:#fff !important;
  box-shadow:0 4px 12px rgba(0,45,98,.2);
}
.gh-qlink a.active i{color:#f9a01b}

.gh-filter{
  background:#fff;
  padding:0;
  border-radius:12px;
  margin-bottom:18px;
  border:1px solid #e6edf4;
  box-shadow:0 6px 18px rgba(0,45,98,.05);
  overflow:hidden;
}
.gh-filter-head{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  background:#f7f9fc;
  border-bottom:1px solid #eef2f6;
  color:#002d62;
  font-size:12px;
  font-weight:700;
  letter-spacing:.4px;
  text-transform:uppercase;
}
.gh-filter-head i{color:#f9a01b}
.gh-filter-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:12px 14px;
  padding:14px 16px 16px;
  align-items:end;
}
.gh-field{min-width:0}
.gh-field label{
  display:block;
  margin:0 0 5px;
  font-size:11px;
  font-weight:700;
  color:#5d7383;
  letter-spacing:.4px;
  text-transform:uppercase;
}
.gh-filter .form-control{
  margin:0;
  min-width:0;
  width:100%;
  height:38px;
  border-radius:8px;
  border-color:#d5e0ea;
  box-shadow:none;
  color:#002d62;
}
.gh-filter .form-control:focus{
  border-color:#f9a01b;
  box-shadow:0 0 0 3px rgba(249,160,27,.15);
}
.gh-field-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.gh-filter .btn{
  margin:0;
  height:38px;
  min-height:38px;
  max-height:38px;
  padding:0 14px;
  border-radius:8px;
  font-weight:700;
  font-size:12px;
  letter-spacing:.3px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  box-sizing:border-box;
  white-space:nowrap;
  vertical-align:middle;
}
.gh-filter .btn i{
  margin-right:6px;
  line-height:1;
  font-size:13px;
}
.gh-filter .gh-btn-apply,
.gh-filter .btn-primary.gh-btn-apply{
  background:linear-gradient(135deg,#002d62 0%,#0a4a8f 100%);
  border:0;
  color:#fff;
  box-shadow:0 4px 12px rgba(0,45,98,.28);
}
.gh-filter .gh-btn-apply:hover,
.gh-filter .gh-btn-apply:focus,
.gh-filter .btn-primary.gh-btn-apply:hover,
.gh-filter .btn-primary.gh-btn-apply:focus{
  background:linear-gradient(135deg,#001f45 0%,#002d62 100%);
  color:#fff;
  border:0;
}
.gh-filter .gh-btn-excel{
  background:linear-gradient(135deg,#1e7e34 0%,#28a745 100%);
  border:0;
  color:#fff;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(30,126,52,.28);
}
.gh-filter .gh-btn-excel:hover,
.gh-filter .gh-btn-excel:focus{
  background:linear-gradient(135deg,#166c2a 0%,#1e7e34 100%);
  color:#fff;
  border:0;
  text-decoration:none;
}

.gh-kpis{
  display:flex;
  flex-wrap:nowrap;
  margin:4px -10px 8px;
}
.gh-kpis:before,.gh-kpis:after{display:none !important;content:none !important}
.gh-kpis > [class*="col-"]{
  float:none;
  display:flex;
  min-width:0;
  width:25%;
  max-width:25%;
  padding-left:10px;
  padding-right:10px;
}
@media (max-width:991px){
  .gh-kpis{flex-wrap:wrap}
  .gh-kpis > [class*="col-"]{width:50%;max-width:50%}
}
@media (max-width:767px){
  .gh-kpis > [class*="col-"]{width:100%;max-width:100%}
}
.gh-kpi{
  position:relative;
  background:#fff;
  border:1px solid #e7eef4;
  border-radius:12px;
  padding:16px 16px 16px 18px;
  margin-bottom:16px;
  width:100%;
  min-height:118px;
  box-shadow:0 4px 12px rgba(0,45,98,.05);
  overflow:hidden;
}
.gh-kpi:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:5px;
}
.gh-kpi.guests:before{background:#004080}
.gh-kpi.revenue:before{background:#002d62}
.gh-kpi.dues:before{background:#f9a01b}
.gh-kpi.occupancy:before{background:#e08d0a}
.gh-kpi .gh-kpi-icon{
  position:absolute;
  right:14px;top:14px;
  width:38px;height:38px;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;color:#fff;
}
.gh-kpi.guests .gh-kpi-icon{background:#004080}
.gh-kpi.revenue .gh-kpi-icon{background:#002d62}
.gh-kpi.dues .gh-kpi-icon{background:#f9a01b;color:#002d62}
.gh-kpi.occupancy .gh-kpi-icon{background:#e08d0a}
.gh-kpi h5{margin:0;color:#6b7c8a;font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-weight:700}
.gh-kpi strong{font-size:24px;display:block;margin-top:8px;color:#002d62;font-weight:700}
.gh-kpi .gh-kpi-sub{color:#7b8d9a;font-size:12px;margin-top:4px}
.gh-progress{height:6px;background:#e9eef2;border-radius:6px;margin-top:10px;overflow:hidden}
.gh-progress span{display:block;height:100%;background:#f9a01b;border-radius:6px}

.gh-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.gh-chip{
  display:inline-flex;align-items:center;gap:6px;
  background:#fff7e8;color:#8a5a12;border:1px solid #f3ddb0;
  padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600
}

.gh-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.2px}
.gh-badge.pending,.gh-badge.vacant{background:#fff4d6;color:#8a5a12}
.gh-badge.approved,.gh-badge.paid,.gh-badge.active,.gh-badge.occupied{background:#d9f5ee;color:#0f6b5c}
.gh-badge.rejected,.gh-badge.inactive{background:#fde2e2;color:#a12626}
.gh-badge.partial{background:#dceeff;color:#002d62}
.gh-badge.checked-out{background:#e8edf2;color:#445566}

.gh-module table.dataTable thead th,
.gh-module table.table thead th,
.gh-module .table>thead>tr>th{
  background:#002d62 !important;
  color:#fff !important;
  border-color:#002d62 !important;
  font-weight:600;
  font-size:12px;
  white-space:nowrap;
}
.gh-module .table>tbody>tr>td{vertical-align:middle;color:#2c3e50}
.gh-module .table-striped>tbody>tr:nth-of-type(odd){background:#f7f9fc}
.gh-module .table-hover>tbody>tr:hover{background:#fff8ec}
.gh-module .dataTables_wrapper .dataTables_filter input,
.gh-module .dataTables_wrapper .dataTables_length select{
  border:1px solid #cfdce6;border-radius:6px;padding:4px 8px
}

.gh-module .nav-tabs.bordered{border:0;background:#f4f7fb;padding:8px 8px 0;border-radius:10px 10px 0 0}
.gh-module .nav-tabs.bordered>li>a{
  border:0 !important;border-radius:8px 8px 0 0 !important;
  color:#3d5a6c;font-weight:600;margin-right:4px
}
.gh-module .nav-tabs.bordered>li.active>a{
  background:#fff !important;color:#002d62 !important;
  box-shadow:0 -3px 0 #f9a01b inset
}

.gh-form-card{
  background:#f7f9fc;
  border:1px solid #e4edf4;
  border-radius:12px;
  padding:20px 12px 8px;
  margin-bottom:12px
}
.gh-form-heading h4{margin:0 0 4px;font-weight:700;color:#002d62}
.gh-form-heading p{color:#6b7c8a;margin:0 0 16px}

/* —— Guest House buttons (all pages) —— */
.gh-module .btn,
.gh-public-body .btn{
  border-radius:8px;
  font-weight:700;
  letter-spacing:.2px;
  border-width:0;
  box-shadow:0 3px 10px rgba(0,45,98,.12);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  line-height:1.2;
  text-decoration:none !important;
  vertical-align:middle;
}
.gh-module .btn:hover,
.gh-module .btn:focus,
.gh-public-body .btn:hover,
.gh-public-body .btn:focus{
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(0,45,98,.18);
  outline:0;
}
.gh-module .btn:active,
.gh-public-body .btn:active{
  transform:translateY(0);
  box-shadow:0 2px 6px rgba(0,45,98,.14);
}
.gh-module .btn i,
.gh-public-body .btn i{
  line-height:1;
}

/* Primary — navy */
.gh-module .btn-primary,
.gh-public-body .btn-primary{
  background:linear-gradient(135deg,#002d62 0%,#0a4a8f 100%);
  color:#fff !important;
  border:0;
}
.gh-module .btn-primary:hover,
.gh-module .btn-primary:focus,
.gh-public-body .btn-primary:hover,
.gh-public-body .btn-primary:focus{
  background:linear-gradient(135deg,#001f45 0%,#002d62 100%);
  color:#fff !important;
  border:0;
}

/* Success — orange (submit / positive actions) */
.gh-module .btn-success,
.gh-public-body .btn-success{
  background:linear-gradient(135deg,#f9a01b 0%,#ffb84d 100%);
  color:#002d62 !important;
  border:0;
}
.gh-module .btn-success:hover,
.gh-module .btn-success:focus,
.gh-public-body .btn-success:hover,
.gh-public-body .btn-success:focus{
  background:linear-gradient(135deg,#e08d0a 0%,#f9a01b 100%);
  color:#002d62 !important;
  border:0;
}

/* Info — teal (edit) */
.gh-module .btn-info{
  background:linear-gradient(135deg,#0d7ea8 0%,#17a2b8 100%);
  color:#fff !important;
  border:0;
}
.gh-module .btn-info:hover,
.gh-module .btn-info:focus{
  background:linear-gradient(135deg,#0a6a8f 0%,#0d7ea8 100%);
  color:#fff !important;
  border:0;
}

/* Warning — amber (checkout) */
.gh-module .btn-warning{
  background:linear-gradient(135deg,#d97706 0%,#f59e0b 100%);
  color:#fff !important;
  border:0;
}
.gh-module .btn-warning:hover,
.gh-module .btn-warning:focus{
  background:linear-gradient(135deg,#b45309 0%,#d97706 100%);
  color:#fff !important;
  border:0;
}

/* Danger — red (delete) */
.gh-module .btn-danger{
  background:linear-gradient(135deg,#b91c1c 0%,#dc2626 100%);
  color:#fff !important;
  border:0;
}
.gh-module .btn-danger:hover,
.gh-module .btn-danger:focus{
  background:linear-gradient(135deg,#991b1b 0%,#b91c1c 100%);
  color:#fff !important;
  border:0;
}

/* Default — soft outline */
.gh-module .btn-default,
.gh-public-body .btn-default{
  background:#fff;
  color:#002d62 !important;
  border:1px solid #c5d3e0 !important;
  box-shadow:0 2px 8px rgba(0,45,98,.08);
}
.gh-module .btn-default:hover,
.gh-module .btn-default:focus,
.gh-public-body .btn-default:hover,
.gh-public-body .btn-default:focus{
  background:#f0f5fa;
  color:#002d62 !important;
  border-color:#002d62 !important;
}

/* Link */
.gh-module .btn-link,
.gh-public-body .btn-link{
  background:transparent;
  box-shadow:none;
  color:#0a4a8f !important;
  font-weight:600;
  border:0;
  padding-left:8px;
  padding-right:8px;
}
.gh-module .btn-link:hover,
.gh-public-body .btn-link:hover{
  color:#f9a01b !important;
  background:transparent;
  box-shadow:none;
  transform:none;
  text-decoration:underline !important;
}

/* Sizes */
.gh-module .btn-xs{
  height:28px;
  min-height:28px;
  padding:0 10px;
  font-size:11px;
  border-radius:6px;
  box-shadow:0 2px 6px rgba(0,45,98,.12);
}
.gh-module .btn-xs i{font-size:12px}
.gh-module .btn-sm{
  height:32px;
  min-height:32px;
  padding:0 12px;
  font-size:12px;
  border-radius:7px;
}
.gh-module .btn:not(.btn-xs):not(.btn-sm):not(.btn-lg),
.gh-public-body .btn:not(.btn-xs):not(.btn-sm):not(.btn-lg){
  min-height:38px;
  padding:8px 16px;
  font-size:13px;
}
.gh-public-body .btn-lg,
.gh-module .btn-lg{
  min-height:46px;
  padding:12px 22px;
  font-size:15px;
  border-radius:10px;
}

/* Master type pills */
.gh-type-nav .btn{
  margin:0 6px 8px 0;
  border-radius:20px !important;
  padding:8px 16px !important;
  min-height:34px;
}
.gh-type-nav .btn-default{
  background:#f4f7fb;
  border-color:#e4edf4 !important;
}
.gh-type-nav .btn-success{
  box-shadow:0 4px 12px rgba(249,160,27,.35);
}

/* Action clusters in tables */
.gh-module td .btn + .btn,
.gh-module td .btn + a.btn,
.gh-module td a.btn + a.btn{
  margin-left:4px;
}
.gh-module td .btn{margin-bottom:2px}

/* DataTables export buttons */
.gh-module .dt-buttons .btn,
.gh-module .dt-button{
  background:linear-gradient(135deg,#f4f7fb 0%,#fff 100%) !important;
  border:1px solid #c5d3e0 !important;
  color:#002d62 !important;
  border-radius:6px !important;
  font-weight:700 !important;
  margin:0 4px 6px 0 !important;
  box-shadow:0 2px 6px rgba(0,45,98,.08) !important;
}
.gh-module .dt-buttons .btn:hover,
.gh-module .dt-button:hover{
  background:#fff8ec !important;
  border-color:#f9a01b !important;
  color:#002d62 !important;
}

table.gh-detail>tbody>tr>th{width:22%;background:#f4f7fb;color:#002d62;font-weight:600;border-color:#e4edf4}
.gh-doc-box{
  background:#f7f9fc;
  border:1px solid #e6edf4;
  border-radius:12px;
  padding:14px 16px;
  margin:8px 0 16px
}
.gh-doc-box .gh-doc-meta{margin:0 0 10px;color:#002d62}
.gh-doc-box img{
  display:block;
  max-width:100%;
  max-height:420px;
  border-radius:8px;
  border:1px solid #e4edf4;
  background:#fff
}
.gh-doc-box iframe{
  width:100%;
  height:420px;
  border:1px solid #e4edf4;
  border-radius:8px;
  background:#fff
}
.gh-doc-link{white-space:nowrap}
.gh-muted{color:#8a9bab}
.gh-section-title{font-size:15px;font-weight:700;color:#002d62;margin:8px 0 12px}

.gh-receipt{
  max-width:820px;margin:0 auto;background:#fff;padding:0;
  border:1px solid #c9d3de;border-radius:4px;overflow:hidden
}
.gh-receipt-actions{max-width:820px;margin:0 auto 16px;text-align:right}
.gh-receipt-header{width:100%;border-collapse:collapse;border-bottom:3px solid #002d62}
.gh-receipt-header td{padding:16px 18px;vertical-align:middle}
.gh-receipt-logo{width:90px}
.gh-receipt-logo img{width:72px;height:72px;object-fit:contain}
.gh-receipt-brand{text-align:center}
.gh-receipt-college{font-size:18px;font-weight:700;color:#002d62;text-transform:uppercase;line-height:1.3}
.gh-receipt-sub{font-size:12px;color:#5d7383;margin-top:4px}
.gh-receipt-doc{margin-top:8px;font-size:15px;font-weight:700;color:#f9a01b;letter-spacing:.4px;text-transform:uppercase}
.gh-receipt-meta{width:100%;background:#f4f7fb;border-bottom:1px solid #e4edf4}
.gh-receipt-meta td{padding:10px 18px;font-size:13px}
.gh-receipt-fields{width:100%;border-collapse:collapse}
.gh-receipt-fields th,.gh-receipt-fields td{padding:9px 12px;border-bottom:1px solid #eef2f5;text-align:left}
.gh-receipt-fields th{width:18%;color:#002d62;font-weight:700;background:#fafcfe}
.gh-receipt-fields td{width:32%}
.gh-receipt-total th,.gh-receipt-total td{background:#fff8ec;border-top:2px solid #002d62;border-bottom:2px solid #002d62;font-weight:700}
.gh-receipt-sign{width:100%;margin-top:40px}
.gh-receipt-sign td{padding:0 18px 22px;color:#445566}
.gh-receipt-note{padding:0 18px 16px;font-size:11px;color:#8a9bab}

@media print{
  .nav,.left_col,.top_nav,.footer,.no-print,.quick-link,.x_title{display:none !important}
  .right_col{margin:0 !important;width:100% !important}
  .gh-receipt{border:1px solid #c9d3de;box-shadow:none;max-width:100%}
}

/* Public booking */
.gh-public-body{background:#eef3f6;min-height:100vh}
.gh-public-nav{
  background:#002d62;
  color:#fff;
  padding:6px 12px;
  border-bottom:3px solid #f9a01b;
  box-shadow:0 2px 10px rgba(0,45,98,.18)
}
.gh-public-nav-inner{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  max-width:1200px;
  margin:0 auto;
  width:100%
}
.gh-public-brand{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  gap:10px;
  min-height:0;
  min-width:0;
  flex:1 1 auto
}
.gh-public-titles{min-width:0}
.gh-public-logo{
  width:42px;height:42px;object-fit:contain;
  background:#fff;border-radius:50%;padding:2px;
  box-shadow:0 1px 4px rgba(0,0,0,.18);flex-shrink:0
}
.gh-public-nav h2{
  margin:0;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.gh-public-sub{color:#f9a01b;font-size:11px;font-weight:700;margin-top:1px;letter-spacing:.2px}
.gh-public-links{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  white-space:nowrap;
  gap:2px;
  padding:0;
  margin:0;
  flex:0 0 auto
}
.gh-public-nav a{
  color:#fff;
  margin:0;
  font-weight:600;
  font-size:13px;
  opacity:.95;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 8px;
  line-height:1.2;
  border-radius:6px
}
.gh-public-nav a:hover{color:#f9a01b;text-decoration:none;opacity:1}
.gh-public-nav a.gh-public-home{
  background:#f9a01b;
  color:#002d62 !important;
  padding:6px 10px;
  font-weight:700;
  box-shadow:none;
  opacity:1
}
.gh-public-nav a.gh-public-home:hover{
  background:#fff;
  color:#002d62 !important;
  text-decoration:none
}
.gh-public-wrap{max-width:920px;margin:20px auto;padding:0 14px}
.gh-public-card{background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,45,98,.08);padding:28px 28px 20px}
.gh-public-card h3{margin-top:0;color:#002d62;font-weight:700}
.gh-public-lead{color:#5d7383;margin-bottom:22px}
.gh-cred{background:#fff8ec;border:1px dashed #f9a01b;padding:16px 18px;border-radius:10px;color:#002d62}
.gh-cred p{margin:6px 0;font-size:15px}
.gh-public-steps{display:flex;gap:10px;margin:0 0 22px;flex-wrap:wrap}
.gh-public-steps span{background:#f4f7fb;border:1px solid #e4edf4;border-radius:20px;padding:6px 12px;font-size:12px;color:#002d62;font-weight:600}
.gh-form-section{border-top:1px solid #eef2f5;padding-top:14px;margin-top:8px}
.gh-form-section h4{font-size:14px;font-weight:700;color:#002d62;margin:0 0 12px}
.required{color:#c0392b}
@media(max-width:767px){
  .gh-public-nav-inner{flex-wrap:nowrap;gap:8px}
  .gh-public-nav h2{font-size:12px;max-width:140px}
  .gh-public-sub{display:none}
  .gh-public-links a{padding:6px 6px;font-size:12px}
  .gh-kpi strong{font-size:20px}
  .gh-public-logo{width:36px;height:36px}
}
