.brand-wrap{display:flex;align-items:center;gap:16px;min-width:0;flex:1}
.invoice-logo{display:flex;align-items:center;justify-content:center;flex:0 0 92px;width:92px;height:78px}
.invoice-logo img{display:block;width:92px;height:78px;max-width:100%;object-fit:contain}
@media print{
  .brand-wrap{display:flex!important;align-items:center!important;gap:10px!important;flex:1!important;min-width:0!important}
  .invoice-logo{flex:0 0 70px!important;width:70px!important;height:62px!important;margin:0!important}
  .invoice-logo img{width:70px!important;height:62px!important;max-width:70px!important;object-fit:contain!important}
}

/* HOTEL INVOICE, Bill No. and Date sit below the logo + guest-house title */
.head {
  display:block !important;
}
.brand-wrap {
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
}
.meta-below {
  width:100% !important;
  display:flex !important;
  align-items:baseline !important;
  gap:28px !important;
  text-align:left !important;
  border-top:1px solid var(--line) !important;
  margin-top:10px !important;
  padding-top:8px !important;
}
.meta-below p {
  margin:0 !important;
}
.meta-below p:first-child {
  font-size:24px !important;
  font-weight:800 !important;
  color:var(--ink) !important;
  margin-right:auto !important;
}
.meta-below strong {
  font-size:24px !important;
}
@media print {
  .head {
    display:block !important;
    padding-bottom:7px !important;
  }
  .brand-wrap {
    display:flex !important;
    width:100% !important;
    align-items:center !important;
    gap:10px !important;
  }
  .meta-below {
    display:flex !important;
    width:100% !important;
    align-items:baseline !important;
    gap:18px !important;
    text-align:left !important;
    margin-top:6px !important;
    padding-top:5px !important;
    border-top:1px solid var(--line) !important;
  }
  .meta-below p {
    font-size:8px !important;
    line-height:1.2 !important;
    margin:0 !important;
  }
  .meta-below p:first-child,
  .meta-below strong {
    font-size:13px !important;
    margin-right:auto !important;
  }
}

/* Full-width premium invoice header */
.invoice-page .head {
  width:100% !important;
  border-bottom:0 !important;
  padding:0 !important;
  margin:0 !important;
}
.invoice-page .brand-wrap {
  width:100% !important;
  min-height:112px !important;
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
  padding:4px 0 14px !important;
  border-bottom:2px solid var(--ink) !important;
}
.invoice-page .invoice-logo {
  flex:0 0 120px !important;
  width:120px !important;
  height:100px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.invoice-page .invoice-logo img {
  width:auto !important;
  height:auto !important;
  max-width:120px !important;
  max-height:100px !important;
  object-fit:contain !important;
}
.invoice-page .brand {
  flex:1 1 auto !important;
  min-width:0 !important;
}
.invoice-page .brand h2 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size:34px !important;
  line-height:1.05 !important;
  letter-spacing:.02em !important;
  font-weight:800 !important;
  margin:0 0 9px !important;
  color:#111827 !important;
}
.invoice-page .brand p {
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size:14px !important;
  line-height:1.4 !important;
  letter-spacing:.015em !important;
  margin:2px 0 !important;
  color:#4b5563 !important;
}
.invoice-page .meta-below {
  width:100% !important;
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important;
  align-items:center !important;
  gap:0 !important;
  margin:14px 0 18px !important;
  padding:12px 0 !important;
  border-top:0 !important;
  border-bottom:1px solid var(--line) !important;
}
.invoice-page .meta-below p {
  margin:0 !important;
  font-family:"Segoe UI", Arial, sans-serif !important;
  font-size:14px !important;
  font-weight:600 !important;
  color:#374151 !important;
}
.invoice-page .meta-below p:first-child {
  margin:0 !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:25px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  color:#111827 !important;
}
.invoice-page .meta-below p:nth-child(2) { text-align:center !important; }
.invoice-page .meta-below p:nth-child(3) { text-align:right !important; }
.invoice-page .meta-below strong {
  font-size:inherit !important;
}
@media print {
  .invoice-page .brand-wrap {
    width:100% !important;
    min-height:92px !important;
    gap:16px !important;
    padding:2px 0 8px !important;
    border-bottom:2px solid #18212b !important;
  }
  .invoice-page .invoice-logo {
    flex:0 0 92px !important;
    width:92px !important;
    height:76px !important;
  }
  .invoice-page .invoice-logo img {
    max-width:92px !important;
    max-height:76px !important;
  }
  .invoice-page .brand h2 {
    font-size:25px !important;
    margin-bottom:5px !important;
    letter-spacing:.015em !important;
  }
  .invoice-page .brand p {
    font-size:10px !important;
    line-height:1.3 !important;
  }
  .invoice-page .meta-below {
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr !important;
    width:100% !important;
    margin:7px 0 10px !important;
    padding:6px 0 !important;
    border-top:0 !important;
    border-bottom:1px solid #dfe5ea !important;
  }
  .invoice-page .meta-below p {
    font-size:9px !important;
    font-weight:600 !important;
  }
  .invoice-page .meta-below p:first-child {
    font-size:15px !important;
    font-weight:900 !important;
  }
  .invoice-page .meta-below p:nth-child(2) { text-align:center !important; }
  .invoice-page .meta-below p:nth-child(3) { text-align:right !important; }
}

/* v39: clearer section titles and larger Billing Information */
.section-title,
.section-title h2,
.section-title h3,
.rooms-charge-title,
.transport-charge-title,
.rooms-section h3,
.transport-section h3 {
  text-align: left !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Keep table titles visually aligned with the table edges */
.rooms-section > .section-title,
.transport-section > .section-title,
.rooms-section > h3,
.transport-section > h3 {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Billing Information in normal view */
.billing-information,
.billing-section,
#billingInformation,
.billing-info {
  font-size: 1.05em !important;
}
.billing-information label,
.billing-section label,
#billingInformation label,
.billing-info label {
  font-size: 1em !important;
  font-weight: 700 !important;
}
.billing-information input,
.billing-information select,
.billing-information textarea,
.billing-section input,
.billing-section select,
.billing-section textarea,
#billingInformation input,
#billingInformation select,
#billingInformation textarea,
.billing-info input,
.billing-info select,
.billing-info textarea {
  font-size: 1em !important;
  min-height: 38px !important;
}

/* Print view: enlarge Billing Information without making charge tables oversized */
@media print {
  .billing-information,
  .billing-section,
  #billingInformation,
  .billing-info {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .billing-information label,
  .billing-section label,
  #billingInformation label,
  .billing-info label {
    font-size: 10.5px !important;
    font-weight: 800 !important;
  }

  .billing-information input,
  .billing-information select,
  .billing-information textarea,
  .billing-section input,
  .billing-section select,
  .billing-section textarea,
  #billingInformation input,
  #billingInformation select,
  #billingInformation textarea,
  .billing-info input,
  .billing-info select,
  .billing-info textarea {
    font-size: 11px !important;
    min-height: 32px !important;
    padding: 6px 7px !important;
  }

  .rooms-charge-table th,
  .transport-charge-table th {
    text-align: center !important;
    vertical-align: middle !important;
  }

  .rooms-charge-table td,
  .transport-charge-table td {
    vertical-align: middle !important;
  }

  .rooms-section h3,
  .transport-section h3,
  .rooms-charge-title,
  .transport-charge-title {
    font-size: 11px !important;
    font-weight: 800 !important;
    text-align: left !important;
    margin-bottom: 6px !important;
  }
}

/* v40: make Billing To, Billing Information, and Payment Stay To clearly larger */
.billing-to,
.billing-to-section,
#billingTo,
.billing-information,
.billing-section,
#billingInformation,
.billing-info,
.payment-stay-to,
.payment-section,
#paymentStayTo,
.payment-info,
.stay-payment {
  font-size: 1.18em !important;
}

.billing-to h2, .billing-to h3,
.billing-to-section h2, .billing-to-section h3,
#billingTo h2, #billingTo h3,
.billing-information h2, .billing-information h3,
.billing-section h2, .billing-section h3,
#billingInformation h2, #billingInformation h3,
.billing-info h2, .billing-info h3,
.payment-stay-to h2, .payment-stay-to h3,
.payment-section h2, .payment-section h3,
#paymentStayTo h2, #paymentStayTo h3,
.payment-info h2, .payment-info h3,
.stay-payment h2, .stay-payment h3 {
  font-size: 1.2em !important;
  font-weight: 800 !important;
}

.billing-to label, .billing-to-section label, #billingTo label,
.billing-information label, .billing-section label, #billingInformation label, .billing-info label,
.payment-stay-to label, .payment-section label, #paymentStayTo label,
.payment-info label, .stay-payment label {
  font-size: 1.05em !important;
  font-weight: 700 !important;
}

.billing-to input, .billing-to select, .billing-to textarea,
.billing-to-section input, .billing-to-section select, .billing-to-section textarea,
#billingTo input, #billingTo select, #billingTo textarea,
.billing-information input, .billing-information select, .billing-information textarea,
.billing-section input, .billing-section select, .billing-section textarea,
#billingInformation input, #billingInformation select, #billingInformation textarea,
.billing-info input, .billing-info select, .billing-info textarea,
.payment-stay-to input, .payment-stay-to select, .payment-stay-to textarea,
.payment-section input, .payment-section select, .payment-section textarea,
#paymentStayTo input, #paymentStayTo select, #paymentStayTo textarea,
.payment-info input, .payment-info select, .payment-info textarea,
.stay-payment input, .stay-payment select, .stay-payment textarea {
  font-size: 1.05em !important;
  min-height: 40px !important;
  padding: 7px 8px !important;
}

@media print {
  .billing-to,
  .billing-to-section,
  #billingTo,
  .billing-information,
  .billing-section,
  #billingInformation,
  .billing-info,
  .payment-stay-to,
  .payment-section,
  #paymentStayTo,
  .payment-info,
  .stay-payment {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .billing-to h2, .billing-to h3,
  .billing-to-section h2, .billing-to-section h3,
  #billingTo h2, #billingTo h3,
  .billing-information h2, .billing-information h3,
  .billing-section h2, .billing-section h3,
  #billingInformation h2, #billingInformation h3,
  .billing-info h2, .billing-info h3,
  .payment-stay-to h2, .payment-stay-to h3,
  .payment-section h2, .payment-section h3,
  #paymentStayTo h2, #paymentStayTo h3,
  .payment-info h2, .payment-info h3,
  .stay-payment h2, .stay-payment h3 {
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  .billing-to label, .billing-to-section label, #billingTo label,
  .billing-information label, .billing-section label, #billingInformation label, .billing-info label,
  .payment-stay-to label, .payment-section label, #paymentStayTo label,
  .payment-info label, .stay-payment label {
    font-size: 11.5px !important;
    font-weight: 800 !important;
  }

  .billing-to input, .billing-to select, .billing-to textarea,
  .billing-to-section input, .billing-to-section select, .billing-to-section textarea,
  #billingTo input, #billingTo select, #billingTo textarea,
  .billing-information input, .billing-information select, .billing-information textarea,
  .billing-section input, .billing-section select, .billing-section textarea,
  #billingInformation input, #billingInformation select, #billingInformation textarea,
  .billing-info input, .billing-info select, .billing-info textarea,
  .payment-stay-to input, .payment-stay-to select, .payment-stay-to textarea,
  .payment-section input, .payment-section select, .payment-section textarea,
  #paymentStayTo input, #paymentStayTo select, #paymentStayTo textarea,
  .payment-info input, .payment-info select, .payment-info textarea,
  .stay-payment input, .stay-payment select, .stay-payment textarea {
    font-size: 11.5px !important;
    min-height: 34px !important;
    padding: 6px 7px !important;
  }
}

/* v42: prominently enlarge Billing To and Payment / Stay sections */
.billing-to,
.billing-to-section,
#billingTo,
.billing-information,
.billing-section,
#billingInformation,
.billing-info,
.payment-stay-to,
.payment-section,
#paymentStayTo,
.payment-info,
.stay-payment {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.billing-to h2, .billing-to h3,
.billing-to-section h2, .billing-to-section h3,
#billingTo h2, #billingTo h3,
.billing-information h2, .billing-information h3,
.billing-section h2, .billing-section h3,
#billingInformation h2, #billingInformation h3,
.billing-info h2, .billing-info h3,
.payment-stay-to h2, .payment-stay-to h3,
.payment-section h2, .payment-section h3,
#paymentStayTo h2, #paymentStayTo h3,
.payment-info h2, .payment-info h3,
.stay-payment h2, .stay-payment h3 {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.billing-to label, .billing-to-section label, #billingTo label,
.billing-information label, .billing-section label, #billingInformation label, .billing-info label,
.payment-stay-to label, .payment-section label, #paymentStayTo label,
.payment-info label, .stay-payment label {
  font-size: 12px !important;
  font-weight: 700 !important;
}

.billing-to input, .billing-to select, .billing-to textarea,
.billing-to-section input, .billing-to-section select, .billing-to-section textarea,
#billingTo input, #billingTo select, #billingTo textarea,
.billing-information input, .billing-information select, .billing-information textarea,
.billing-section input, .billing-section select, .billing-section textarea,
#billingInformation input, #billingInformation select, #billingInformation textarea,
.billing-info input, .billing-info select, .billing-info textarea,
.payment-stay-to input, .payment-stay-to select, .payment-stay-to textarea,
.payment-section input, .payment-section select, .payment-section textarea,
#paymentStayTo input, #paymentStayTo select, #paymentStayTo textarea,
.payment-info input, .payment-info select, .payment-info textarea,
.stay-payment input, .stay-payment select, .stay-payment textarea {
  font-size: 13px !important;
  font-weight: 500 !important;
  min-height: 42px !important;
  padding: 8px 9px !important;
}

@media print {
  .billing-to,
  .billing-to-section,
  #billingTo,
  .billing-information,
  .billing-section,
  #billingInformation,
  .billing-info,
  .payment-stay-to,
  .payment-section,
  #paymentStayTo,
  .payment-info,
  .stay-payment {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  .billing-to h2, .billing-to h3,
  .billing-to-section h2, .billing-to-section h3,
  #billingTo h2, #billingTo h3,
  .billing-information h2, .billing-information h3,
  .billing-section h2, .billing-section h3,
  #billingInformation h2, #billingInformation h3,
  .billing-info h2, .billing-info h3,
  .payment-stay-to h2, .payment-stay-to h3,
  .payment-section h2, .payment-section h3,
  #paymentStayTo h2, #paymentStayTo h3,
  .payment-info h2, .payment-info h3,
  .stay-payment h2, .stay-payment h3 {
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .billing-to label, .billing-to-section label, #billingTo label,
  .billing-information label, .billing-section label, #billingInformation label, .billing-info label,
  .payment-stay-to label, .payment-section label, #paymentStayTo label,
  .payment-info label, .stay-payment label {
    font-size: 11.5px !important;
    font-weight: 700 !important;
  }

  .billing-to input, .billing-to select, .billing-to textarea,
  .billing-to-section input, .billing-to-section select, .billing-to-section textarea,
  #billingTo input, #billingTo select, #billingTo textarea,
  .billing-information input, .billing-information select, .billing-information textarea,
  .billing-section input, .billing-section select, .billing-section textarea,
  #billingInformation input, #billingInformation select, #billingInformation textarea,
  .billing-info input, .billing-info select, .billing-info textarea,
  .payment-stay-to input, .payment-stay-to select, .payment-stay-to textarea,
  .payment-section input, .payment-section select, .payment-section textarea,
  #paymentStayTo input, #paymentStayTo select, #paymentStayTo textarea,
  .payment-info input, .payment-info select, .payment-info textarea,
  .stay-payment input, .stay-payment select, .stay-payment textarea {
    font-size: 12.5px !important;
    min-height: 36px !important;
    padding: 7px 8px !important;
  }
}

/* v43: enlarge ONLY the invoice PRINT/PDF Billing To and Stay / Payment sections.
   Admin/editor controls are intentionally untouched. */
@media print {
  .invoice .bill {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  .invoice .bill > div {
    padding: 4px 6px !important;
  }

  .invoice .bill h3 {
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    margin: 0 0 7px !important;
  }

  .invoice .bill b,
  .invoice .bill p,
  .invoice .bill span {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  .invoice .bill b {
    font-weight: 600 !important;
  }

  /* Give the two print columns a little more breathing room */
  .invoice .bill {
    gap: 18px !important;
    margin-top: 10px !important;
    margin-bottom: 12px !important;
  }
}

.food-section{margin-top:12px!important}
.food-section h3,.food-print-section h3{font-size:16px!important;margin:0 0 6px!important}
.food-editor-actions{margin-top:7px}
.food-print-section{margin-top:8px!important;width:100%!important}
.food-print-section table{margin-top:6px!important}
@media print{
  .food-section{display:none!important}
  .food-print-section{display:block!important;visibility:visible!important;width:100%!important;margin:8px 0 8px!important;break-inside:auto!important;page-break-inside:auto!important}
  .food-print-section h3{font-size:9px!important;font-weight:800!important;margin:0 0 4px!important}
  .food-print-section table{display:table!important;width:100%!important;table-layout:fixed!important;margin:7px 0!important}
  .food-print-section th{font-size:7.5px!important;padding:4px!important}
  .food-print-section td{font-size:8.5px!important;padding:4px!important}
}

.food-top-add-btn{margin-left:6px}
.food-section .transport-charge-table th,
.food-section .transport-charge-table td{vertical-align:middle}
.food-section input.ftime{min-width:92px}
@media print{
  .food-top-add-btn{display:none!important}
  .food-print-section table{table-layout:auto!important}
}

/* Food is deliberately identical in typography and dimensions to the
   existing room/transport charge tables. */
.food-section .transport-charge-table,
.food-print-section .transport-charge-table{
  width:100% !important;
  border-collapse:collapse !important;
  table-layout:auto !important;
}
.food-section .transport-charge-table th,
.food-section .transport-charge-table td,
.food-print-section .transport-charge-table th,
.food-print-section .transport-charge-table td{
  font-family:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
  padding:inherit !important;
  font-weight:inherit !important;
}
.food-section .transport-charge-table th,
.food-print-section .transport-charge-table th{
  font-weight:700 !important;
}
.food-section .transport-charge-table td,
.food-print-section .transport-charge-table td{
  vertical-align:middle !important;
}
@media print{
  .food-print-section .transport-charge-table th,
  .food-print-section .transport-charge-table td{
    font-size:inherit !important;
    line-height:inherit !important;
    padding:inherit !important;
  }
}

.admin-dashboard{margin-bottom:18px}
.admin-dashboard .admin-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.admin-dashboard .admin-title{font-size:25px;font-weight:800;margin:0;color:#1f2937}
.admin-dashboard .admin-subtitle{color:#66717d;margin-top:4px;font-size:13px}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.admin-actions button{min-height:40px}
.admin-settings{display:none;margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.admin-settings.show{display:block}
.admin-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.admin-settings-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}
.admin-settings-card h3{margin:0 0 10px;font-size:15px}
.admin-settings-card label{display:block;font-size:12px;font-weight:700;margin:9px 0 5px}
.admin-settings-card input[type=text],.admin-settings-card input[type=number]{width:100%;box-sizing:border-box;padding:9px;border:1px solid #ccd3da;border-radius:7px}
.admin-logo-preview{width:72px;height:72px;border:1px solid var(--line);border-radius:8px;object-fit:contain;background:#f7f8fa;display:block;margin-bottom:9px}
.room-manager{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.room-manager table{width:100%;border-collapse:collapse}
.room-manager th,.room-manager td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.room-manager .room-thumb{width:72px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:#f4f5f6}
.room-manager input[type=text],.room-manager input[type=number]{padding:7px;border:1px solid #ccd3da;border-radius:6px;box-sizing:border-box}
.room-manager .room-name-input{width:100%}
.room-manager .room-price-input{width:105px}
.admin-empty{padding:14px;text-align:center;color:var(--muted)}
@media(max-width:760px){
 .admin-settings-grid{grid-template-columns:1fr}
 .admin-dashboard .admin-title{font-size:21px}
 .room-manager{overflow:auto}
 .room-manager table{min-width:700px}
}
@media print{.admin-dashboard{display:none!important}}

/* v57: mobile-first Admin Dashboard + stable Food editor */
.admin-dashboard{width:100%;box-sizing:border-box}
.admin-actions button{flex:0 0 auto}
.admin-settings-card{min-width:0}
.admin-settings-card input[type=file]{max-width:100%}
@media(max-width:760px){
  .admin-dashboard{padding:12px!important;border-radius:10px}
  .admin-dashboard .admin-title-row{display:block}
  .admin-dashboard .admin-title{font-size:20px;line-height:1.25}
  .admin-dashboard .admin-subtitle{font-size:12px;line-height:1.4}
  .admin-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
  .admin-actions button{width:100%;min-width:0;min-height:44px;padding:9px 8px;white-space:normal}
  .admin-settings-grid{grid-template-columns:1fr!important;gap:10px}
  .admin-settings-card{padding:11px}
  .dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .dash-card{padding:11px}
  .dash-card b{font-size:17px}
  .dashboard-two-col{grid-template-columns:1fr!important;gap:10px}
  .dashboard-section{padding:10px;overflow:hidden}
  .revenue-chart{gap:5px;height:160px}
  .dashboard-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .dashboard-table-wrap table{min-width:520px}
  .history-tools{grid-template-columns:1fr!important}
  .history-actions{flex-wrap:wrap}
  .history-actions button{flex:1;min-height:40px}
  .room-manager{overflow:visible!important}
  .room-manager table,.room-manager thead,.room-manager tbody,.room-manager tr,.room-manager td{display:block;width:100%;box-sizing:border-box}
  .room-manager table{min-width:0!important}
  .room-manager thead{display:none}
  .room-manager tr{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:10px;background:#fbfcfd}
  .room-manager td{border:0!important;padding:5px 0!important}
  .room-manager td:first-child{display:flex;align-items:center;gap:10px}
  .room-manager td:first-child:before{content:'Picture';font-size:11px;font-weight:700;color:var(--muted);width:58px}
  .room-manager td:nth-child(2):before{content:'Room Name';display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px}
  .room-manager td:nth-child(3):before{content:'Price / Day';display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px}
  .room-manager td:nth-child(4):before{content:'Actions';display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px}
  .room-manager .room-thumb{width:90px;height:62px}
  .room-manager .room-name-input,.room-manager .room-price-input{width:100%;min-height:40px}
  .room-manager td:nth-child(4) input[type=file]{width:100%;max-width:100%;margin-bottom:6px}
  .room-manager td:nth-child(4) button{width:100%;min-height:40px}
  .food-section{overflow:hidden}
  .food-section .transport-charge-table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .food-section .transport-charge-table tbody,.food-section .transport-charge-table thead,.food-section .transport-charge-table tfoot{white-space:nowrap}
  .food-section .transport-charge-table input{font-size:16px!important;min-height:42px!important}
  .food-section .transport-charge-table th,.food-section .transport-charge-table td{padding:8px 6px!important}
}
@media(max-width:420px){
  .admin-actions{grid-template-columns:1fr}
  .dash-grid{grid-template-columns:1fr!important}
  .admin-dashboard .admin-title{font-size:18px}
}

/* v58: Keep Food & Restaurant Charges inside the viewport on phones. */
html,body{max-width:100%;overflow-x:hidden}
.app,.card,.editor,.food-section,.admin-dashboard{max-width:100%;box-sizing:border-box}
.food-section{overflow:visible!important}
.food-section .transport-charge-table{width:100%!important;max-width:100%!important;table-layout:fixed!important}
.food-section .transport-charge-table input{max-width:100%;box-sizing:border-box}
@media(max-width:760px){
  .food-section{width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;padding:10px!important;box-sizing:border-box!important;overflow:visible!important}
  .food-section h3{font-size:15px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
  .food-section .transport-charge-table,
  .food-section .transport-charge-table tbody{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:visible!important}
  .food-section .transport-charge-table thead{display:none!important}
  .food-section .transport-charge-table tr{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px 10px!important;
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0 0 10px!important;
    padding:10px!important;
    border:1px solid var(--line)!important;
    border-radius:10px!important;
    background:#fff!important;
  }
  .food-section .transport-charge-table td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:0!important;
    border:0!important;
    white-space:normal!important;
    vertical-align:top!important;
  }
  .food-section .transport-charge-table td::before{
    display:block!important;
    margin:0 0 4px!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:700!important;
    color:var(--muted)!important;
  }
  .food-section .transport-charge-table td:nth-child(1)::before{content:'Date'}
  .food-section .transport-charge-table td:nth-child(2)::before{content:'Time'}
  .food-section .transport-charge-table td:nth-child(3)::before{content:'Food / Meal / Service'}
  .food-section .transport-charge-table td:nth-child(4)::before{content:'Qty'}
  .food-section .transport-charge-table td:nth-child(5)::before{content:'Rate'}
  .food-section .transport-charge-table td:nth-child(6)::before{content:'Amount'}
  .food-section .transport-charge-table td:nth-child(7)::before{content:'Action'}
  .food-section .transport-charge-table td:nth-child(3){grid-column:1 / -1}
  .food-section .transport-charge-table td:nth-child(6){align-self:end}
  .food-section .transport-charge-table td:nth-child(7){grid-column:1 / -1}
  .food-section .transport-charge-table input{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:42px!important;
    height:auto!important;
    padding:9px!important;
    font-size:16px!important;
    box-sizing:border-box!important;
  }
  .food-section .transport-charge-table .food-amount{
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    box-sizing:border-box!important;
    padding:9px!important;
    border:1px solid var(--line)!important;
    border-radius:7px!important;
    background:#f7f8fa!important;
    font-weight:700!important;
    overflow-wrap:anywhere!important;
  }
  .food-section .transport-charge-table .food-remove{
    width:100%!important;
    min-height:42px!important;
  }
  .food-editor-actions{width:100%!important;box-sizing:border-box!important}
  .food-editor-actions .food-add-btn{width:100%!important;min-height:44px!important}
}
@media(max-width:380px){
  .food-section .transport-charge-table tr{grid-template-columns:1fr!important}
  .food-section .transport-charge-table td:nth-child(3),
  .food-section .transport-charge-table td:nth-child(7){grid-column:auto!important}
}

/* v59 Advanced Property Management Dashboard */
.admin-dashboard{overflow:hidden}
.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 16px;padding-bottom:2px}
.admin-nav button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:9px;padding:10px 12px;font-weight:700;cursor:pointer}
.admin-nav button.active{background:var(--navy);color:#fff}
.admin-module{display:none;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;margin-top:10px}
.admin-module.active{display:block}
.admin-module-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.admin-module-head h3{margin:0;color:var(--navy)}
.admin-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.admin-form-grid .full{grid-column:1/-1}
.admin-form-grid label,.mini-form label{display:block;font-size:11px;font-weight:800;color:var(--muted);margin:0 0 4px}
.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea,.mini-form input,.mini-form select{width:100%;box-sizing:border-box;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}
.admin-actions-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.admin-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:9px}
.admin-table-wrap table{margin:0;min-width:760px}
.admin-table-wrap th{white-space:nowrap}
.status-dot{display:inline-flex;align-items:center;gap:5px;font-weight:800;font-size:11px}
.status-dot:before{content:'';width:8px;height:8px;border-radius:50%;background:#94a3b8}
.status-available:before{background:#16a34a}.status-occupied:before{background:#2563eb}.status-reserved:before{background:#eab308}.status-maintenance:before{background:#ef4444}.status-blocked:before{background:#475569}
.guest-grid,.menu-grid,.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.entity-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfcfd}
.entity-card strong{color:var(--navy)}
.entity-meta{font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.cal-head{font-size:10px;font-weight:800;text-align:center;color:var(--muted);padding:5px}
.cal-day{min-height:72px;border:1px solid var(--line);border-radius:7px;padding:5px;background:#fff;overflow:hidden}
.cal-day.muted{background:#f8fafc;color:#a0a8b0}.cal-day b{font-size:11px}.cal-booking{font-size:9px;margin-top:4px;padding:3px 4px;border-radius:4px;background:#eef2ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.report-kpi{border:1px solid var(--line);border-radius:10px;padding:12px;background:#f8fafc}.report-kpi span{display:block;font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase}.report-kpi b{display:block;font-size:18px;color:var(--navy);margin-top:4px}
.payment-ledger{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-list{display:grid;gap:7px}.payment-item{display:grid;grid-template-columns:1fr auto;gap:8px;border:1px solid var(--line);border-radius:8px;padding:9px}.payment-item small{color:var(--muted)}
.security-note{font-size:11px;color:var(--muted);line-height:1.5}
.quick-booking{background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:14px}
.quick-booking h3{margin:0 0 8px;color:var(--navy)}
.admin-toast{position:fixed;right:18px;bottom:18px;z-index:9999;background:#111827;color:#fff;padding:11px 14px;border-radius:9px;font-size:12px;box-shadow:0 10px 30px #0002;display:none}
body.admin-locked > *:not(#adminLock){filter:blur(5px);pointer-events:none}
#adminLock{display:none;position:fixed;inset:0;background:#0f172acc;z-index:10000;align-items:center;justify-content:center;padding:20px}
#adminLock.show{display:flex}
.admin-lock-card{width:min(360px,100%);background:#fff;border-radius:14px;padding:22px;box-shadow:0 20px 60px #0006;text-align:center}.admin-lock-card h2{margin:0 0 6px;color:var(--navy)}
.admin-lock-card input{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line);border-radius:9px;margin:12px 0}
@media(max-width:900px){.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.admin-form-grid,.guest-grid,.menu-grid,.report-grid,.payment-ledger{grid-template-columns:1fr}.admin-form-grid .full{grid-column:auto}.calendar{gap:3px}.cal-day{min-height:58px;padding:4px}.cal-booking{font-size:8px}.admin-module{padding:10px}.report-kpis{grid-template-columns:1fr 1fr}.admin-nav{display:grid;grid-template-columns:1fr 1fr}.admin-nav button{width:100%;min-height:42px}.admin-table-wrap table{min-width:680px}}
@media(max-width:380px){.report-kpis{grid-template-columns:1fr}.admin-nav{grid-template-columns:1fr}.cal-day{min-height:50px}.cal-booking{display:none}}

.transport-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.transport-admin-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.transport-admin-photo{width:100%;height:130px;object-fit:cover;border-radius:9px;background:#f4f6f8;border:1px solid var(--line)}.transport-admin-card .mini-meta{font-size:11px;color:var(--muted);margin:5px 0 8px}.transport-admin-card input,.transport-admin-card select{width:100%;box-sizing:border-box;padding:9px;border:1px solid var(--line);border-radius:8px;margin-top:5px}.transport-admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.transport-photo-empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;height:130px;border:1px dashed var(--line);border-radius:9px;background:#f8fafc}@media(max-width:900px){.transport-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.transport-admin-grid{grid-template-columns:1fr}.transport-admin-card{padding:10px}.transport-admin-photo,.transport-photo-empty{height:160px}.transport-admin-actions button{flex:1;min-width:120px}}

/* v61: Admin Management System — page-like modules, settings dropdown, mobile safe */
.management-menu{position:relative;z-index:30}
.management-menu summary{list-style:none;cursor:pointer;min-height:42px;display:flex;align-items:center;gap:6px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-weight:800;box-sizing:border-box}
.management-menu summary::-webkit-details-marker{display:none}
.management-dropdown{position:absolute;right:0;top:calc(100% + 7px);width:min(310px,calc(100vw - 28px));max-height:min(70vh,520px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px #0002;padding:7px}
.management-dropdown button{display:block;width:100%;text-align:left;border:0;background:#fff;color:var(--ink);padding:10px 11px;border-radius:8px;font-weight:700;cursor:pointer}
.management-dropdown button:hover{background:#f3f6f9}
.admin-module{min-height:120px}
.admin-module.active{animation:adminPageIn .16s ease}
@keyframes adminPageIn{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}
.transport-admin-card{min-width:0;overflow:hidden}
.transport-admin-card input,.transport-admin-card select{min-height:42px}
.transport-admin-actions{align-items:stretch}
.transport-admin-actions .secondary,.transport-admin-actions button{min-height:42px}
@media(max-width:620px){
 .management-menu{width:100%}
 .management-menu summary{width:100%;justify-content:center}
 .management-dropdown{position:fixed;left:12px;right:12px;top:72px;width:auto;max-height:calc(100vh - 90px)}
 .admin-title-row{align-items:stretch!important}
 .admin-title-row>div:first-child{width:100%}
}
body.admin-system-page{background:#f4f7fa}
body.admin-system-page .app>.toolbar,body.admin-system-page .app>.editor,body.admin-system-page .app>#historyPanel,body.admin-system-page .app>.invoice{display:none!important}
body.admin-system-page .app>.admin-dashboard{display:block!important;margin:0!important;min-height:100vh;border-radius:0!important;box-shadow:none!important}
body.admin-system-page .admin-dashboard>.admin-actions{position:sticky;top:0;background:#f4f7fa;padding:8px 0;z-index:20}
body.admin-system-page .admin-dashboard>.admin-actions button:nth-child(3),body.admin-system-page .admin-dashboard>.admin-actions button:nth-child(4){display:none}
body.admin-system-page .admin-nav{display:none}
body.admin-system-page .admin-module{margin-top:14px}
body.admin-system-page .admin-dashboard>.admin-module{display:none}
body.admin-system-page .admin-dashboard>.admin-module.active{display:block}
@media(max-width:620px){body.admin-system-page .admin-dashboard{padding:12px!important}.transport-admin-card{padding:10px}.transport-admin-photo,.transport-photo-empty{height:150px}}

.pgp-branding{position:relative;display:flex;align-items:center;gap:13px;margin:0 0 14px;padding:14px 17px;border:1px solid rgba(185,139,47,.28);border-radius:16px;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 55%,#f5efe2 100%);box-shadow:0 10px 28px rgba(11,37,69,.09);overflow:hidden}
.pgp-branding:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#b98b2f,#0b2545);border-radius:16px 0 0 16px}
.pgp-mark{width:43px;height:43px;flex:0 0 43px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#0b2545,#173e68);color:#fff;font-weight:900;font-size:18px;letter-spacing:-.05em;box-shadow:0 7px 16px rgba(11,37,69,.2)}
.pgp-brand-copy{min-width:0}.pgp-brand-name{font-size:clamp(17px,2vw,23px);font-weight:900;letter-spacing:.02em;color:#0b2545;line-height:1.1}.pgp-brand-by{margin-top:4px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#9a7426}.pgp-brand-line{margin-top:6px;width:72px;height:3px;border-radius:99px;background:linear-gradient(90deg,#b98b2f,#0b2545)}
@media(max-width:620px){.pgp-branding{padding:12px 13px;gap:10px;margin-bottom:11px}.pgp-mark{width:38px;height:38px;flex-basis:38px;border-radius:10px;font-size:16px}.pgp-brand-by{font-size:9px;letter-spacing:.12em}.pgp-brand-line{margin-top:5px;width:58px;height:2px}}

body.admin-system-page .admin-dashboard>.admin-module{display:none!important}body.admin-system-page .admin-dashboard>.admin-module.v110-page-active{display:block!important;margin-top:0!important}
