html {
  font-size: 14px;
}

.offer-document{max-width:960px;background:#fff;border:1px solid #dfe5e2;border-radius:18px;padding:44px;box-shadow:0 18px 45px rgba(25,57,47,.09);color:#102f29}.offer-header{display:flex;justify-content:space-between;gap:2rem;border-bottom:3px solid #1d604f;padding-bottom:22px;margin-bottom:24px}.offer-header h1{font-size:2.5rem;font-weight:800;margin:0}.offer-brand{font-size:1.55rem;font-weight:800}.offer-contact{max-width:390px;background:#e8f6ef;border-left:5px solid #1d604f;padding:16px 18px;margin-bottom:24px;line-height:1.75}.contact-chip{display:inline-block;margin-top:8px;margin-right:6px;padding:2px 10px;border-radius:999px;background:#1d604f;color:#fff;font-weight:700}.offer-guest{border:1px solid #dfe5e2;border-radius:12px;padding:16px 18px;margin-bottom:22px}.offer-guest h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#65736f}.offer-period{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.offer-period>div{background:#f5f7f5;border-radius:10px;padding:12px}.offer-period small,.offer-period strong{display:block}.offer-table thead{background:#1d604f;color:#fff}.offer-totals{width:min(100%,430px);margin-top:20px}.offer-totals>div{display:flex;justify-content:space-between;gap:2rem;padding:9px 12px;border-bottom:1px solid #dfe5e2}.offer-totals .offer-grand-total{background:#80df8b;font-size:1.25rem;border:0;margin-top:6px}.offer-note{margin-top:28px;padding:14px;background:#f7f5ef}.offer-terms{margin-top:30px;padding-top:18px;border-top:1px solid #bac6c1;font-size:.84rem;color:#495c56}

@media(max-width:700px){.offer-document{padding:22px}.offer-period{grid-template-columns:1fr 1fr}.offer-header{align-items:flex-start}.offer-header h1{font-size:1.8rem}}

@media print{body{background:#fff!important}.app-navbar,.footer,.offer-actions,.turnover-actions,.mobile-bottom-nav,.mobile-menu{display:none!important}.container-xl{max-width:none!important;padding:0!important}.offer-document,.turnover-document{max-width:none;border:0;border-radius:0;box-shadow:none;padding:10mm}.offer-table,.turnover-table{font-size:10pt}.offer-document{break-inside:avoid}.turnover-table a{color:inherit;text-decoration:none}}
@page{size:A4;margin:10mm}
.hub3-barcode{width:min(100%,600px);background:#fff;padding:10px}

.turnover-document{max-width:920px;min-height:1100px;background:#fff;border:1px solid #dfe5e2;padding:42px 48px;box-shadow:0 18px 45px rgba(25,57,47,.09)}
.turnover-header{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:20px}.turnover-header h1{margin:0;font-size:1.65rem;font-weight:800}.turnover-owner{display:flex;flex-direction:column;gap:4px;margin:38px 0 64px;font-size:1.1rem}.turnover-table{max-width:760px}.turnover-table th,.turnover-table td{padding:.4rem .65rem}.turnover-table tfoot th{font-size:1.05rem}
@media(max-width:700px){.turnover-document{min-height:0;padding:24px 18px}.turnover-header{grid-template-columns:1fr}.turnover-header h1{font-size:1.35rem}.turnover-owner{margin:28px 0 36px}}

:root {
  --villa-ink: #18302b;
  --villa-green: #1f5a4a;
  --villa-green-dark: #17463a;
  --villa-sand: #f4efe7;
  --villa-gold: #c99b52;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
  background: #faf9f7;
  color: var(--villa-ink);
}

a {
  color: var(--villa-green);
}

.app-navbar {
  background: linear-gradient(100deg, var(--villa-green-dark), var(--villa-green));
  box-shadow: 0 0.35rem 1rem rgba(24, 48, 43, 0.14);
}

.app-navbar .navbar-brand {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.app-navbar .nav-link {
  color: rgba(255, 255, 255, 0.82);
}

.app-navbar .nav-link:hover,
.app-navbar .nav-link:focus {
  color: #fff;
}

@media (min-width: 992px) {
  .app-navbar .container-fluid { padding-right:.65rem;padding-left:.65rem; }
  .app-navbar .navbar-brand { margin-right:.8rem;font-size:1.05rem;white-space:nowrap; }
  .app-navbar .navbar-nav { align-items:center; }
  .app-navbar .nav-link { padding-right:.42rem!important;padding-left:.42rem!important;font-size:.82rem;line-height:1.25;white-space:nowrap; }
  .app-navbar .form-select-sm,.app-navbar .btn-sm,.app-navbar .text-white-50 { font-size:.76rem; }
  .app-navbar .form-select-sm { max-width:128px; }
}

.hero-panel {
  padding: clamp(2rem, 6vw, 5rem);
  border-radius: 1.5rem;
  color: #fff;
  background:
    radial-gradient(circle at 85% 10%, rgba(201, 155, 82, 0.35), transparent 35%),
    linear-gradient(135deg, var(--villa-green-dark), var(--villa-green));
  box-shadow: 0 1.25rem 3rem rgba(24, 48, 43, 0.16);
}

.hero-panel h1 {
  max-width: 12ch;
  margin-bottom: 1rem;
  font-size: clamp(2.4rem, 7vw, 4.8rem);
  font-weight: 750;
  letter-spacing: -0.04em;
}

.hero-panel > p:not(.eyebrow) {
  max-width: 42rem;
  margin-bottom: 1.75rem;
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.1rem;
}

.eyebrow {
  margin-bottom: 0.65rem;
  color: var(--villa-gold);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.page-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin: 1.5rem 0 2rem;
}

.page-heading h1 {
  margin-bottom: 0.4rem;
  font-weight: 750;
  letter-spacing: -0.025em;
}

.app-card {
  overflow: hidden;
  border: 1px solid rgba(24, 48, 43, 0.09);
  border-radius: 1rem;
  box-shadow: 0 0.7rem 2rem rgba(24, 48, 43, 0.07);
}

.login-shell {
  display: grid;
  place-items: center;
  min-height: calc(100vh - 12rem);
  padding: 2rem 0;
}

.login-card {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .95fr);
  width: min(100%, 980px);
  overflow: hidden;
  border: 1px solid rgba(24, 48, 43, .09);
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 1.4rem 4rem rgba(24, 48, 43, .14);
}

.login-brand-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 31rem;
  padding: clamp(2.5rem, 6vw, 5rem);
  color: #fff;
  background:
    radial-gradient(circle at 88% 12%, rgba(201, 155, 82, .42), transparent 34%),
    linear-gradient(145deg, var(--villa-green-dark), var(--villa-green));
}

.login-brand-panel h1 {
  margin-bottom: 1.2rem;
  font-size: clamp(2.25rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}

.login-brand-panel > p:last-child { color: rgba(255,255,255,.82); font-size: 1.05rem; }
.login-form-panel { align-self: center; padding: clamp(2rem, 5vw, 4rem); }
.login-form-panel h2 { margin: 1.2rem 0 .45rem; font-weight: 800; }
.login-mark { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; border-radius: 1rem; color: #fff; background: var(--villa-green); font-weight: 900; letter-spacing: .06em; }
.login-form-panel .validation-summary-valid { display: none; }

@media (max-width: 767.98px) {
  .login-shell { min-height: auto; padding-top: 0; }
  .login-card { grid-template-columns: 1fr; }
  .login-brand-panel { min-height: auto; padding: 2rem; }
  .login-brand-panel h1 { font-size: 2.3rem; }
  .login-brand-panel > p:last-child { margin-bottom: 0; }
}

.stat-card {
  height: 100%;
  padding: 1.15rem 1.25rem;
  border: 1px solid rgba(24, 48, 43, 0.09);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 0.5rem 1.5rem rgba(24, 48, 43, 0.05);
}

.stat-card span,
.stat-card strong {
  display: block;
}

.stat-card span {
  margin-bottom: 0.35rem;
  color: #68736f;
  font-size: 0.82rem;
}

.stat-card strong {
  font-size: clamp(1.05rem, 3vw, 1.45rem);
}

.card-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.35rem 1.5rem;
  border-bottom: 1px solid rgba(24, 48, 43, 0.08);
}

.count-badge,
.feature-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.65rem;
  border-radius: 999px;
  color: var(--villa-green-dark);
  background: var(--villa-sand);
  font-weight: 750;
}

.feature-number {
  margin-bottom: 1.25rem;
  color: var(--villa-gold);
}

.empty-state {
  padding: 3.5rem 1.5rem;
  text-align: center;
  color: #6c757d;
}

.table > :not(caption) > * > * {
  padding: 1rem 1.5rem;
}

.table thead th {
  color: #68736f;
  background: #fbfaf8;
  font-size: 0.77rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.btn-primary {
  background-color: var(--villa-green);
  border-color: var(--villa-green);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--villa-green-dark);
  border-color: var(--villa-green-dark);
}

.result-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.result-grid div {
  padding: 0.8rem 1rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.58);
}

.result-grid span,
.result-grid strong {
  display: block;
}

.result-grid span {
  margin-bottom: 0.2rem;
  font-size: 0.8rem;
}

.result-grid strong {
  font-size: 1.35rem;
}

.holder-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.holder-summary div {
  padding: 1rem 1.2rem;
  border: 1px solid rgba(24, 48, 43, 0.09);
  border-radius: 0.9rem;
  background: #fff;
}

.holder-summary span,
.holder-summary strong {
  display: block;
}

.holder-summary span {
  color: #68736f;
  font-size: 0.82rem;
}

.holder-summary strong {
  margin-top: 0.2rem;
  font-size: 1.45rem;
}

.holder-reservations {
  max-height: 65vh;
  overflow-y: auto;
}

.holder-reservations .list-group-item {
  padding: 1rem 1.2rem;
  color: var(--villa-ink);
  border-color: rgba(24, 48, 43, 0.08);
}

.holder-reservations .list-group-item.active {
  color: #fff;
  background: var(--villa-green);
  border-color: var(--villa-green);
}

.holder-reservations small {
  color: #68736f;
}

.holder-reservations .active small {
  color: rgba(255, 255, 255, 0.75);
}

.holder-status {
  font-size: 0.75rem;
  font-weight: 700;
  color: #9a5c00;
}

.holder-status.is-linked {
  color: #277050;
}

.active .holder-status {
  color: #ffe0a4;
}

.holder-tourists {
  display: grid;
  gap: 0.8rem;
  padding: 1rem;
}

.tourist-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(24, 48, 43, 0.1);
  border-radius: 0.85rem;
  background: #fff;
}

.tourist-card.is-holder {
  border-color: rgba(31, 90, 74, 0.42);
  background: #f2f8f5;
}

.tourist-details dl {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 0.7rem 0 0;
}

.tourist-details dl div {
  min-width: 8rem;
}

.tourist-details dt {
  color: #68736f;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
}

.tourist-details dd {
  margin: 0;
}

.guest-table {
  max-height: 32rem;
  overflow-y: auto;
}

.guest-table small {
  color: #68736f;
}

.guest-book-countries,
.guest-book-tourists {
  max-height: 65vh;
  overflow-y: auto;
}

.guest-book-tourists small {
  color: #68736f;
}

.reservation-list { max-height: 72vh; overflow-y: auto; }
.reservation-row { display: block; padding: 1rem 1.2rem; color: var(--villa-ink); text-decoration: none; border-bottom: 1px solid rgba(24,48,43,.08); }
.reservation-row:hover { background: #f6f8f7; }
.reservation-row.active { color: #fff; background: var(--villa-green); }
.reservation-row.source-own-row { border-left: .35rem solid #25865f; }
.reservation-row.source-agency-row { border-left: .35rem solid #2778b8; }
.reservation-row.source-other-row { border-left: .35rem solid #8b9491; }
.reservation-row > div:nth-child(2) { margin-top: .25rem; font-size: .9rem; }
.reservation-row > div:first-child span { font-size: .75rem; }
.reservation-money { display: flex; gap: .7rem; margin-top: .55rem; font-size: .78rem; flex-wrap: wrap; }
.reservation-detail-totals { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.reservation-detail-totals span, .reservation-detail-totals strong { display: block; }
.reservation-detail-totals span { color: #68736f; font-size: .78rem; }
.reservation-detail-totals strong { margin-top: .2rem; font-size: 1.2rem; }
.reservation-source-summary { display: flex; gap: .65rem; flex-wrap: wrap; }
.source-badge { display: inline-flex; width: fit-content; margin-top: .45rem; padding: .25rem .65rem; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.source-own { color: #14543a; background: #d9f1e5; }
.source-agency { color: #174f7a; background: #dcecf8; }
.source-other { color: #555f5c; background: #e9eceb; }
.reservation-row.active .source-badge { color: #16352c; background: rgba(255,255,255,.85); }
.navbar-brand { display:flex;align-items:center;gap:.6rem; }
.app-brand-logo { width:44px;height:44px;object-fit:contain;border-radius:50%;background:#fff; }
.invoice-logo { width:92px;height:92px;object-fit:contain;border-radius:50%; }
.admin-logo-preview { width:110px;height:110px;object-fit:contain;border-radius:50%;background:#f4f0e9; }
.admin-user-editor { overflow:hidden;border:1px solid rgba(24,48,43,.13);border-radius:.8rem;background:#fff; }
.admin-user-editor summary { display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;cursor:pointer;list-style:none;background:#f7f8f7; }
.admin-user-editor summary::-webkit-details-marker { display:none; }
.admin-user-editor summary strong,.admin-user-editor summary small { display:block; }
.admin-user-editor summary small { margin-top:.2rem;color:#68736f; }
.admin-user-editor-body { padding:1rem;border-top:1px solid rgba(24,48,43,.1); }
.login-logo { width:112px;height:112px;display:block;object-fit:contain;border-radius:50%;margin:0 auto 1rem; }
.unit-selection-shell { display:grid;place-items:center;min-height:calc(100vh - 190px);padding:1.5rem 0; }
.unit-selection-card { width:min(100%,620px);overflow:hidden; }
.unit-choice { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;width:100%;min-height:76px;padding:1rem 1.15rem;border:1px solid rgba(24,48,43,.18);border-radius:.9rem;background:#f7faf8;color:var(--villa-ink);text-align:left;transition:border-color .15s,background .15s,transform .15s; }
.unit-choice:hover,.unit-choice:focus-visible { border-color:var(--villa-green);background:#edf6f1;transform:translateY(-1px); }
.unit-choice-mark { display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--villa-green);color:#fff;font-size:1.35rem;font-weight:800; }
.unit-choice strong,.unit-choice small { display:block; }
.unit-choice small { margin-top:.18rem;color:#68736f; }
.unit-choice-arrow { color:var(--villa-green);font-size:1.5rem;font-weight:800; }
.copy-confirmation { padding:1.2rem;border:2px solid #b7791f;border-radius:.9rem;background:#fff8e8; }
.copy-confirmation ul { margin-bottom:1rem; }
.mobile-bottom-nav { position:fixed;z-index:1040;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);min-height:68px;padding:5px 4px calc(5px + env(safe-area-inset-bottom));border-top:1px solid rgba(24,48,43,.14);background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(24,48,43,.12);backdrop-filter:blur(12px); }
.mobile-bottom-nav a,.mobile-bottom-nav button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;border:0;background:transparent;color:#49615a;text-decoration:none;font:inherit; }
.mobile-bottom-nav span { font-size:1.35rem;line-height:1.15;font-weight:800; }
.mobile-bottom-nav small { max-width:100%;overflow:hidden;font-size:.68rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap; }
.mobile-bottom-nav a.active { color:var(--villa-green); }
.mobile-bottom-nav a.active:after { content:"";width:70%;height:3px;border-radius:3px;background:var(--villa-green); }
.mobile-bottom-nav .mobile-primary-action span { display:grid;place-items:center;width:38px;height:38px;margin-top:-20px;border-radius:50%;color:#fff;background:var(--villa-green);box-shadow:0 5px 14px rgba(31,90,74,.32);font-size:1.6rem; }
.mobile-menu { width:min(88vw,380px)!important; }
.mobile-menu-links { display:grid;gap:.45rem; }
.mobile-menu-links a { display:flex;align-items:center;min-height:48px;padding:.75rem 1rem;border-radius:.75rem;background:#f4f7f5;color:var(--villa-ink);font-weight:700;text-decoration:none; }
.mobile-menu-links a:active { background:#dfece6; }
.mobile-upcoming-page { max-width:760px;margin:0 auto; }
.mobile-upcoming-heading { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.35rem 0 1rem; }
.mobile-upcoming-heading h1 { margin:0;font-size:1.65rem; }
.mobile-unit-pill { flex:0 0 auto;padding:.45rem .7rem;border:1px solid rgba(24,48,43,.14);border-radius:999px;background:#fff;font-size:.75rem;font-weight:700; }
.mobile-upcoming-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:1rem; }
.mobile-upcoming-summary article { min-width:0;padding:.75rem .45rem;border-radius:.85rem;background:#f1f7f4;text-align:center; }
.mobile-upcoming-summary article:nth-child(2) { background:#f4f5f5; }
.mobile-upcoming-summary article.needs-action { color:#a14c10;background:#fff3e8; }
.mobile-upcoming-summary span,.mobile-upcoming-summary small,.mobile-upcoming-summary strong { display:block; }
.mobile-upcoming-summary .summary-icon { min-height:1.25rem;color:var(--villa-green);font-size:.78rem;font-weight:900; }
.mobile-upcoming-summary .needs-action .summary-icon { color:#c35b12;font-size:1.1rem; }
.mobile-upcoming-summary small { margin-top:.2rem;font-size:.68rem; }
.mobile-upcoming-summary strong { margin-top:.1rem;font-size:.92rem; }
.upcoming-reservations { display:grid;gap:1.15rem; }
.upcoming-card { position:relative;padding:1rem;border:2px solid #aebdb7;border-radius:1rem;background:#fff;box-shadow:0 .45rem 1.4rem rgba(24,48,43,.09); }
.upcoming-card.upcoming-own { border-color:#25865f; }
.upcoming-card.upcoming-agency { border-color:#2778b8; }
.upcoming-card-head { display:flex;justify-content:space-between;gap:1rem;align-items:flex-start; }
.upcoming-card-head strong,.upcoming-card-head small { display:block; }
.upcoming-card-head strong { font-size:1.08rem; }
.upcoming-card-head small { margin-top:.2rem;color:#6a7773; }
.upcoming-card-head .upcoming-unit { font-size:.9rem; }
.upcoming-dates { display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin:1rem 0;padding:.8rem;border-radius:.75rem;background:#f4f7f5; }
.upcoming-dates span { color:#799088; }
.upcoming-facts,.upcoming-money { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem; }
.upcoming-facts { margin-bottom:.6rem; }
.upcoming-facts>div,.upcoming-money>div { min-width:0;padding:.65rem;border-radius:.65rem;background:#faf9f7; }
.upcoming-facts span,.upcoming-money span { display:block;color:#6a7773;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em; }
.upcoming-facts strong,.upcoming-money strong { display:block;margin-top:.18rem;overflow-wrap:anywhere;font-size:.9rem; }
.upcoming-money>div:last-child { background:#edf6f1; }
.upcoming-dates.compact { justify-content:flex-start;gap:1.5rem;margin:.8rem 0;background:transparent;padding:.5rem 0;border-top:1px solid #e3e9e6;border-bottom:1px solid #e3e9e6; }
.upcoming-dates.compact div { flex:1; }
.upcoming-dates.compact span,.upcoming-dates.compact strong { display:block; }
.upcoming-dates.compact span { color:#6a7773;font-size:.68rem;text-transform:uppercase; }
.upcoming-dates.compact strong { margin-top:.15rem;font-size:.95rem; }
.upcoming-actions { display:grid;grid-template-columns:1fr 1fr;gap:.6rem; }
.upcoming-guest-count { display:flex;align-items:center;justify-content:space-between;margin:-.15rem 0 .65rem;padding:.45rem .65rem;border-radius:.55rem;background:#f4f7f5; }
.upcoming-guest-count span { color:#6a7773;font-size:.72rem;text-transform:uppercase; }
.upcoming-guest-count strong { font-size:1rem; }
.upcoming-financials { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.85rem;padding-top:.75rem;border-top:1px solid #dfe7e3; }
.upcoming-financials div { min-width:0;padding:0 .45rem;text-align:center; }
.upcoming-financials div+div { border-left:1px solid #dfe7e3; }
.upcoming-financials span,.upcoming-financials strong { display:block; }
.upcoming-financials span { color:#6a7773;font-size:.7rem; }
.upcoming-financials strong { margin-top:.12rem;overflow-wrap:anywhere;font-size:.86rem; }

.desktop-dashboard { padding-bottom:2rem; }
.dashboard-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem; }
.dashboard-heading h1 { margin:0;color:#102f49;font-family:Georgia,serif; }
.dashboard-actions { display:flex;flex-wrap:wrap;gap:.6rem; }
.dashboard-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem; }
.dashboard-summary article { padding:1rem 1.2rem;border:1px solid rgba(24,48,43,.1);border-radius:.9rem;background:#fff;box-shadow:0 .35rem 1rem rgba(24,48,43,.05); }
.dashboard-summary span,.dashboard-summary strong { display:block; }
.dashboard-summary span { color:#61706b;font-size:.78rem;font-weight:700;text-transform:uppercase; }
.dashboard-summary strong { margin-top:.25rem;color:#102f49;font-size:1.55rem; }
.dashboard-table-card { overflow:hidden;border:1px solid rgba(24,48,43,.1);border-radius:1rem;background:#fff;box-shadow:0 .5rem 1.5rem rgba(24,48,43,.06); }
.dashboard-table-head { display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid #e2e8e5; }
.dashboard-table-head h2 { margin:0;color:#102f49;font-family:Georgia,serif;font-size:1.3rem; }
.dashboard-table { width:100%;margin:0;border-collapse:separate;border-spacing:0 .55rem;padding:.25rem .8rem .8rem; }
.dashboard-table th { padding:.55rem .7rem;color:#66756f;font-size:.73rem;text-transform:uppercase; }
.dashboard-table td { padding:.85rem .7rem;border-top:1px solid #25865f;border-bottom:1px solid #25865f;background:#fbfcfb;vertical-align:middle; }
.dashboard-table tbody tr td:first-child { border-left:3px solid #25865f;border-radius:.65rem 0 0 .65rem; }
.dashboard-table tbody tr td:last-child { border-right:1px solid #25865f;border-radius:0 .65rem .65rem 0; }
.dashboard-table tbody tr.source-agency-line td { border-top-color:#2778b8;border-bottom-color:#2778b8; }
.dashboard-table tbody tr.source-agency-line td:first-child { border-left-color:#2778b8; }
.dashboard-table tbody tr.source-agency-line td:last-child { border-right-color:#2778b8; }
.dashboard-table .guest-name { display:block;color:#18302a;font-weight:800; }
.dashboard-table .reservation-number { color:#71807a;font-size:.75rem; }
.dashboard-table .date-main { display:block;font-weight:700;white-space:nowrap; }
.dashboard-empty { padding:3rem;text-align:center;color:#68736f; }
.dashboard-workspace { display:grid;grid-template-columns:minmax(0,2.35fr) minmax(260px,.8fr);gap:1rem;align-items:start; }
.dashboard-side { display:grid;gap:1rem; }
.dashboard-side-card { overflow:hidden;border:1px solid rgba(24,48,43,.1);border-radius:1rem;background:#fff;box-shadow:0 .5rem 1.5rem rgba(24,48,43,.06); }
.dashboard-side-title { display:flex;align-items:center;gap:.55rem;padding:.9rem 1rem;border-bottom:1px solid #e2e8e5; }
.dashboard-side-title h2 { margin:0;color:#102f49;font-family:Georgia,serif;font-size:1.05rem; }
.dashboard-side-title .side-icon { display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#8c5b0a;background:#fff0d7;font-weight:900; }
.dashboard-task-list { display:grid; }
.dashboard-task { display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;color:var(--villa-ink);text-decoration:none;border-bottom:1px solid #edf0ef; }
.dashboard-task:last-child { border-bottom:0; }
.dashboard-task:hover { background:#f7faf8; }
.dashboard-task-mark { display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#f1f5f3;font-weight:800; }
.dashboard-task-copy { flex:1;min-width:0; }
.dashboard-task-copy strong,.dashboard-task-copy small { display:block; }
.dashboard-task-copy small { color:#71807a;font-size:.72rem; }
.dashboard-task-count { color:#102f49;font-weight:800; }
.dashboard-quick-actions { display:grid;gap:.55rem;padding:.8rem; }
.dashboard-quick-actions .btn { display:flex;align-items:center;justify-content:flex-start;gap:.6rem;text-align:left; }
@media (max-width:1199.98px) { .dashboard-workspace { grid-template-columns:1fr; }.dashboard-side { grid-template-columns:1fr 1fr; } }
.admin-overview { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem; }
.admin-overview a { display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;padding:1rem 1.1rem;border:1px solid rgba(24,48,43,.12);border-radius:.9rem;background:#fff;color:var(--villa-ink);text-decoration:none;box-shadow:0 .35rem 1rem rgba(24,48,43,.05); }
.admin-overview a:hover { border-color:var(--villa-green);background:#f7faf8; }
.admin-overview span { font-weight:800; }
.admin-overview strong { color:var(--villa-green);font-size:1.35rem; }
.admin-overview small { grid-column:1/-1;color:#6a7773; }
.administration-page .app-card { scroll-margin-top:1rem; }
.administration-page .card-title-row { min-height:66px; }
.administration-page .admin-toggle { margin-left:auto;flex:0 0 auto; }
@media(max-width:991.98px){.admin-overview{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:575.98px){.admin-overview{grid-template-columns:1fr;}}

@media (max-width: 575.98px) {
  .guest-book-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 1rem;
  }
}

@media (max-width: 767.98px) {
  body { margin-bottom:92px; }
  .app-navbar { margin-bottom:1rem!important; }
  .app-navbar .container-fluid { padding:.35rem .8rem; }
  .navbar-brand { max-width:calc(100% - 58px);font-size:1rem; }
  .navbar-brand span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .app-brand-logo { width:38px;height:38px; }
  .container-xl { padding-right:.75rem;padding-left:.75rem; }
  .footer { display:none; }
  .page-heading { align-items:flex-start;flex-direction:column;gap:.8rem;margin:1rem 0 1.25rem; }
  .page-heading h1 { font-size:1.65rem; }
  .page-heading .btn,.page-heading form { width:100%; }
  .app-card { border-radius:.8rem;box-shadow:0 .4rem 1.2rem rgba(24,48,43,.06); }
  .card-body { padding:1rem; }
  .row.g-4 { --bs-gutter-y:1rem; }
  .form-control,.form-select,.btn { min-height:44px; }
  textarea.form-control { min-height:110px; }
  .table-responsive { -webkit-overflow-scrolling:touch; }
  .table { font-size:.88rem; }
  .table > :not(caption) > * > * { white-space:nowrap; }
  .offer-actions { gap:.45rem!important; }
  .offer-actions .btn { flex:1 1 auto; }
  .offer-document { padding:16px;border-radius:10px; }
  .offer-header { flex-direction:column;gap:1rem; }
  .offer-header .text-end { text-align:left!important; }
  .invoice-logo { width:70px;height:70px; }
  .unit-selection-shell { min-height:auto;padding:.5rem 0; }
  .unit-selection-card .card-body { padding:1.25rem!important; }
  .unit-choice { min-height:70px;padding:.85rem;gap:.75rem; }
  .unit-choice-mark { width:38px;height:38px; }
  .mobile-upcoming-page .page-heading { margin-top:.35rem; }
  .upcoming-card { padding:.9rem; }
  .upcoming-facts,.upcoming-money { gap:.4rem; }
  .upcoming-facts>div,.upcoming-money>div { padding:.55rem .45rem; }
  .upcoming-money strong { font-size:.82rem; }
  .result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .holder-summary {
    grid-template-columns: 1fr;
  }

  .holder-reservations {
    max-height: 24rem;
  }

  .tourist-card {
    align-items: stretch;
    flex-direction: column;
  }

  .tourist-card .btn {
    width: 100%;
  }

  .reservation-detail-totals { grid-template-columns: 1fr; }

  .card-title-row {
    align-items: flex-start;
  }

  .table > :not(caption) > * > * {
    padding: 0.85rem 1rem;
  }
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.statistics-page { padding-bottom:2rem; }
.statistics-filter { display:grid;grid-template-columns:1fr 1.2fr 1.2fr auto;align-items:end;gap:1rem;padding:1.15rem;margin-bottom:1.15rem; }
.statistics-filter .btn { min-width:120px; }
.statistics-kpis { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;margin-bottom:1rem; }
.statistics-kpis article { display:flex;align-items:center;gap:.8rem;min-width:0;padding:1rem; }
.statistics-kpis small,.statistics-kpis strong { display:block; }
.statistics-kpis small { color:#526861;font-weight:700; }
.statistics-kpis strong { margin-top:.18rem;color:#102f49;font-family:Georgia,serif;font-size:1.4rem;white-space:nowrap; }
.kpi-icon { display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;font-size:1.25rem;font-weight:800; }
.kpi-icon.green { color:#187555;background:#e5f3ed; }.kpi-icon.blue { color:#267aba;background:#e5f1fb; }.kpi-icon.amber { color:#c77a0b;background:#fff0dc; }
.statistics-grid { display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem; }
.chart-card,.monthly-card { padding:1.15rem; }.chart-card h2,.monthly-card h2 { margin:0 0 1rem;color:#102f49;font-family:Georgia,serif;font-size:1.25rem;font-weight:700; }
.bar-chart { display:flex;align-items:end;gap:.5rem;height:260px;padding-top:1.5rem;border-bottom:1px solid #cdd9d5;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,#e4eae8 50px); }
.bar-column { display:flex;flex:1;flex-direction:column;justify-content:end;align-items:center;height:100%;min-width:20px; }.bar-column>span { font-size:.72rem;font-weight:700; }.bar-column small { min-height:25px;padding-top:.35rem;color:#415650;font-size:.7rem;text-align:center; }.bar-track { position:relative;width:min(48px,75%);height:calc(100% - 42px); }.bar-track i { position:absolute;right:0;bottom:0;left:0;min-height:2px;border-radius:3px 3px 0 0;background:linear-gradient(#238466,#146448); }
.source-content { display:flex;align-items:center;justify-content:center;gap:2rem;min-height:250px; }.donut { display:grid;place-items:center;width:170px;height:170px;border-radius:50%;background:conic-gradient(#4d9cdb 0 var(--agency),#7ebd77 var(--agency) 360deg); }.donut:before { content:"";grid-area:1/1;width:102px;height:102px;border-radius:50%;background:white; }.donut div { z-index:1;grid-area:1/1;text-align:center; }.donut small,.donut strong { display:block; }.donut strong { color:#102f49;font-size:1.65rem; }.legend p { display:flex;align-items:center;gap:.55rem;margin:.8rem 0; }.legend strong { margin-left:auto;padding-left:1rem; }.dot { display:inline-block;width:11px;height:11px;border-radius:50%; }.dot.agency { background:#4d9cdb; }.dot.own { background:#247b60; }.dot.turnover { background:#d88918; }
.money-chart { display:flex;align-items:end;gap:.45rem;height:220px;padding:1rem 0 0;border-bottom:1px solid #cdd9d5;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,#e4eae8 50px); }.money-column { display:flex;flex:1;flex-direction:column;justify-content:end;align-items:center;height:100%; }.money-bars { display:flex;align-items:end;justify-content:center;gap:2px;width:100%;height:calc(100% - 26px); }.money-bars i { width:min(14px,28%);min-height:1px;border-radius:2px 2px 0 0; }.money-bars .value { background:#247b60; }.money-bars .paid { background:#4d9cdb; }.money-bars .turnover { background:#d88918; }.money-column small { height:26px;padding-top:.35rem;font-size:.7rem; }.chart-legend { display:flex;justify-content:flex-end;gap:1.2rem;margin-top:.8rem;color:#526861;font-size:.78rem; }.chart-legend span { display:flex;align-items:center;gap:.35rem; }
.payment-row { display:grid;grid-template-columns:42px 1fr auto 42px;align-items:center;gap:.7rem;padding:.75rem 0;border-bottom:1px solid #e1e7e5; }.payment-mark { display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:1.35rem;font-weight:700; }.payment-mark.paid { color:#147455;background:#e5f3ed; }.payment-mark.partial { color:#c77a0b;background:#fff0dc; }.payment-mark.unpaid { color:#c84747;background:#fdeaea; }.payment-row small { color:#6b7c76;text-align:right; }.remaining { display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem;border-radius:.7rem;background:#f1f6f3; }.monthly-card thead th { background:#eaf0f3;color:#18384f; }.monthly-card tfoot { border-top:2px solid #9eb2aa; }
@media (max-width:1199.98px) { .statistics-filter { grid-template-columns:repeat(2,1fr); }.statistics-filter .btn { width:100%; }.statistics-kpis { grid-template-columns:repeat(3,1fr); } }
@media (max-width:767.98px) { .statistics-filter { grid-template-columns:1fr; }.statistics-kpis { grid-template-columns:repeat(2,1fr); }.statistics-grid { grid-template-columns:1fr; }.statistics-kpis article { padding:.8rem; }.statistics-kpis strong { font-size:1.05rem;white-space:normal; }.kpi-icon { flex-basis:38px;width:38px;height:38px; }.bar-chart,.money-chart { overflow-x:auto; }.bar-column,.money-column { flex:0 0 42px; }.source-content { flex-direction:column;gap:.7rem; }.chart-legend { flex-wrap:wrap;justify-content:flex-start; } }
.offer-channels{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.offer-channel{display:inline-flex;align-items:center;gap:5px;font-size:.79rem;font-weight:700;line-height:1.2}.offer-channel svg{width:17px;height:17px;fill:currentColor}.offer-channel.whatsapp{color:#178a44}.offer-channel.viber{color:#6650a4}.offer-channel.email{color:#235d89}
.guest-message-card{max-width:900px;margin-inline:auto}.guest-message-preview{min-height:25rem;white-space:pre-wrap;line-height:1.55;background:#f8faf9}@media(max-width:767.98px){.guest-message-card .card-body{padding:1rem!important}.guest-message-preview{min-height:22rem;font-size:.95rem}}

/* Nova rezervacija */
.new-reservation-page{padding-bottom:3rem}.new-reservation-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 1.25rem}.new-reservation-heading h1{margin:.05rem 0;color:#111827;font-size:2.15rem;font-weight:850}.new-reservation-heading p{margin:0;color:#697671}.new-reservation-import,.new-reservation-card,.summary-card{border:1px solid #dce4e1;border-radius:.9rem;background:#fff;box-shadow:0 .4rem 1.25rem rgba(24,48,43,.055)}.new-reservation-import{margin-bottom:1rem;padding:1.1rem 1.2rem}.new-reservation-section-title{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.new-reservation-section-title>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;color:#1b7255;background:#e7f2ed;font-weight:900}.new-reservation-section-title h2{margin:0;color:#142039;font-size:1.08rem;font-weight:800}.new-reservation-section-title p{margin:.18rem 0 0;color:#6a7672;font-size:.82rem}.import-options{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:1rem;align-items:end}.import-file-form{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:end}.manual-entry-actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:.55rem;align-items:center}.manual-entry-actions>span{color:#7b8782;font-size:.8rem}.new-reservation-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1rem;align-items:start}.new-reservation-form{display:grid;gap:1rem}.new-reservation-card{padding:1.15rem 1.25rem}.source-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.source-choice{display:grid;grid-template-columns:32px 1fr;gap:0 .7rem;padding:.85rem;border:1px solid #d8e0dd;border-radius:.7rem;color:#273630;text-decoration:none}.source-choice>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:transparent;background:#edf1ef}.source-choice strong,.source-choice small{display:block}.source-choice small{color:#6a7772;font-size:.78rem}.source-choice.selected.own{border-color:#25865f;background:#f3faf6}.source-choice.selected.agency{border-color:#2778b8;background:#f3f8fc}.source-choice.selected>span{color:#fff;background:#25865f}.source-choice.selected.agency>span{background:#2778b8}.availability-note{display:flex;align-items:center;gap:.65rem;margin-top:1rem;padding:.75rem;border-radius:.65rem;color:#225e49;background:#eef7f2}.availability-note>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;background:#2a8b65;font-weight:900}.availability-note strong,.availability-note small{display:block}.availability-note small{color:#5a7169;font-size:.76rem}.new-reservation-summary{position:sticky;top:1rem}.summary-card{overflow:hidden;padding:1.15rem}.summary-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid #e3e8e6}.summary-card-title h2{margin:0;color:#142039;font-size:1.15rem;font-weight:850}.summary-card-title .source-badge{margin-top:0}.summary-list{margin:0;padding:.65rem 0}.summary-list>div{display:grid;grid-template-columns:90px 1fr;gap:.6rem;padding:.58rem 0;border-bottom:1px solid #edf0ef}.summary-list dt{color:#6c7773;font-weight:500}.summary-list dd{margin:0;color:#1d2925;font-weight:700;text-align:right;overflow-wrap:anywhere}.summary-total{margin:.5rem 0 1rem;padding:1rem;border-radius:.7rem;background:#edf6f1}.summary-total span,.summary-total strong{display:block}.summary-total span{color:#536861;font-size:.8rem}.summary-total strong{margin-top:.15rem;color:#155e45;font-size:1.7rem}.summary-help{display:block;margin-top:.65rem;color:#76817d;text-align:center}.new-reservation-card .form-label,.new-reservation-import .form-label{color:#3f514b;font-size:.84rem;font-weight:650}
@media(max-width:1199.98px){.import-options{grid-template-columns:1fr}.new-reservation-layout{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:991.98px){.new-reservation-layout{grid-template-columns:1fr}.new-reservation-summary{position:static}.summary-card{margin-top:0}.manual-entry-actions{grid-template-columns:auto 1fr 1fr}}
@media(max-width:767.98px){.new-reservation-heading{align-items:stretch;flex-direction:column}.new-reservation-heading h1{font-size:1.7rem}.new-reservation-heading .btn{width:100%}.new-reservation-import,.new-reservation-card{padding:1rem}.import-file-form,.manual-entry-actions,.source-choice-grid{grid-template-columns:1fr}.manual-entry-actions>span{text-align:center}.summary-card{padding:1rem}}

/* Reorganizirani pregled rezervacija */
.reservations-page{padding-bottom:2rem}.reservation-page-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 1.25rem}.reservation-page-heading h1{margin:0;color:#111827;font-size:2.25rem;font-weight:800}.reservation-workspace{display:grid;grid-template-columns:minmax(330px,31%) minmax(0,69%);gap:1rem;align-items:start}.reservation-sidebar{display:grid;gap:1rem;position:sticky;top:1rem}.reservation-filter-card,.reservation-list-card,.reservation-detail-card,.reservation-empty{border:1px solid #dde4e1;border-radius:.85rem;background:#fff;box-shadow:0 .35rem 1.1rem rgba(20,48,40,.05)}.reservation-filter-card{padding:1rem}.reservation-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.reservation-filter-grid label{display:block;margin-bottom:.35rem;color:#485650;font-size:.8rem}.reservation-filter-actions{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;margin-top:.8rem}.reservation-filter-actions a{color:#335f55;text-align:center}.reservation-list-card{overflow:hidden}.reservation-list-card>header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #e6ebe9}.reservation-list-card h2{margin:0;font-size:1.2rem;font-weight:800}.reservation-list-card header span{color:#6d7774;font-size:.82rem}.reservation-list-modern{display:grid;gap:.65rem;max-height:calc(100vh - 295px);overflow:auto;padding:.75rem}.reservation-list-item{display:block;padding:.9rem 1rem;border:1px solid #dce3e0;border-left:3px solid #288461;border-radius:.7rem;color:#1c2723;text-decoration:none;background:#fff;transition:.15s}.reservation-list-item.agency{border-left-color:#347fc1}.reservation-list-item:hover,.reservation-list-item.active{color:#1c2723;background:#f7fbf9;box-shadow:0 0 0 1px #288461}.reservation-list-item.agency.active{background:#f6faff;box-shadow:0 0 0 1px #347fc1}.reservation-list-top{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.5rem}.reservation-list-top>strong{margin-right:auto;font-size:1.05rem}.status-pill{display:inline-flex;align-items:center;padding:.28rem .62rem;border-radius:99px;color:#275f4c;background:#e4f2eb;font-size:.68rem;font-weight:800}.status-pill.confirmed{color:#fff;background:#31955b}.reservation-list-fact{margin:.2rem 0;color:#46534f;font-size:.84rem}.reservation-list-money{display:flex;gap:.7rem;margin-top:.5rem;padding-top:.55rem;border-top:1px solid #e4e9e7;font-size:.8rem}.reservation-list-money span+span{padding-left:.7rem;border-left:1px solid #d8dfdc}.reservation-detail-card{overflow:visible}.reservation-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem}.reservation-name-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.reservation-name-row h2{margin:0 .35rem 0 0;color:#111827;font-size:1.7rem;font-weight:900;text-transform:uppercase}.reservation-meta{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:.65rem;color:#46534f;font-size:.87rem}.reservation-main-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.reservation-more{position:relative}.reservation-more summary{list-style:none}.reservation-more summary::-webkit-details-marker{display:none}.reservation-more-menu{position:absolute;z-index:10;right:0;top:calc(100% + .35rem);display:grid;min-width:190px;padding:.4rem;border:1px solid #dce3e0;border-radius:.6rem;background:#fff;box-shadow:0 .75rem 2rem rgba(20,48,40,.15)}.reservation-more-menu a{padding:.6rem .7rem;border-radius:.4rem;color:#24322e;text-decoration:none}.reservation-more-menu a:hover{background:#eff6f2}.reservation-finance-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;padding:0 1.35rem 1rem}.reservation-finance-cards article{padding:1rem 1.15rem;border:1px solid #dfe6e3;border-radius:.7rem;background:#fff}.reservation-finance-cards span,.reservation-finance-cards strong{display:block}.reservation-finance-cards span{color:#55615d;font-size:.85rem}.reservation-finance-cards strong{margin-top:.25rem;color:#13203a;font-size:1.5rem}.reservation-finance-cards strong.paid{color:#16805a}.reservation-tabs{display:flex;overflow-x:auto;padding:0 1.1rem;border-bottom:1px solid #dfe5e2}.reservation-tabs button{flex:1 0 auto;padding:.9rem .65rem;border:0;border-bottom:3px solid transparent;color:#66716e;background:transparent;font-size:.85rem;font-weight:700}.reservation-tabs button.active{border-bottom-color:#197451;color:#185f46}.reservation-tab-panel{display:none;padding:1rem}.reservation-tab-panel.active{display:block}.reservation-info-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:1rem}.reservation-info-stack{display:grid;gap:1rem}.reservation-info-card,.reservation-note-card{padding:1rem 1.2rem;border:1px solid #dfe5e2;border-radius:.7rem;background:#fff}.reservation-info-card h3,.reservation-note-card h3,.reservation-section-heading h3{margin:0 0 .8rem;color:#142039;font-size:1.05rem;font-weight:800}.reservation-info-card dl{margin:0}.reservation-info-card dl>div{display:grid;grid-template-columns:minmax(120px,42%) 1fr;gap:.75rem;padding:.43rem 0;border-bottom:1px solid #e4e9e7}.reservation-info-card dl>div:last-child{border-bottom:0}.reservation-info-card dt{color:#66716e;font-weight:500}.reservation-info-card dd{margin:0;color:#17223a;font-weight:600}.reservation-note-card p{min-height:3rem;margin:0;padding:.75rem;border-radius:.45rem;background:#f5f7f6;white-space:pre-wrap}.reservation-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.reservation-section-heading h3{margin-bottom:.15rem}.reservation-section-heading p{margin:0;color:#6a7571;font-size:.82rem}.reservation-section-heading>span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:99px;background:#e9f1ed;font-weight:800}.deposit-create{margin-bottom:1rem;padding:.8rem 1rem;border:1px solid #cce1d7;border-radius:.7rem;background:#f6fbf8}.deposit-create summary{cursor:pointer;color:#186649;font-weight:800}.deposit-create form{margin-top:.85rem}.reservation-history{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1rem}.reservation-history>span{width:13px;height:13px;margin-top:.3rem;border-radius:50%;background:#31955b;box-shadow:0 0 0 5px #e5f3ec}.reservation-history p{margin:.15rem 0;color:#6a7571}.reservation-empty{padding:4rem 2rem;text-align:center}.reservation-empty h2{font-size:1.35rem}
@media(max-width:1199.98px){.reservation-workspace{grid-template-columns:1fr}.reservation-sidebar{position:static}.reservation-list-modern{max-height:32rem}.reservation-info-grid{grid-template-columns:1fr}}
@media(max-width:767.98px){.reservation-page-heading{align-items:stretch;flex-direction:column}.reservation-page-heading h1{font-size:1.75rem}.reservation-filter-grid{grid-template-columns:1fr}.reservation-finance-cards{grid-template-columns:1fr;padding:.8rem}.reservation-hero{flex-direction:column}.reservation-main-actions,.reservation-main-actions>.btn{width:100%}.reservation-main-actions>.btn{flex:1}.reservation-meta{gap:.55rem}.reservation-info-card dl>div{grid-template-columns:1fr;gap:.1rem}.reservation-list-money{flex-direction:column}.reservation-list-money span+span{padding-left:0;border-left:0}.reservation-tab-panel{padding:.8rem}}
.reservation-more-menu a,.reservation-more-menu button{display:block;width:100%;padding:.6rem .7rem;border:0;border-radius:.4rem;color:#24322e;text-align:left;text-decoration:none;background:transparent}.reservation-more-menu a:hover,.reservation-more-menu button:hover{background:#eff6f2}
