:root {
  --smart-sidebar-width: 280px;
  --smart-sidebar-border: #dbe6f3;
  --smart-nav-active: #def5e9;
  --smart-nav-active-text: #008a61;
}

body { background: #f6f8fb; color: #28384b; font-size: 14px; }
.smart-login-brand { color: #172033; font-size: 28px; font-weight: 700; letter-spacing: -.8px; }

.smart-sidebar {
  width: 166px;
  min-height: 100vh;
  border-right: 1px dashed var(--smart-sidebar-border);
  background: #fff;
}

.smart-brand {
  height: 58px;
  padding: 15px 14px;
  font-size: 19px;
  letter-spacing: -.8px;
}

.smart-admin-card {
  margin: 10px 8px 24px;
  padding: 12px;
  border-radius: 9px;
  background: #f7f9fc;
}

.smart-admin-avatar {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #c2399e;
  background: #f7dff2;
  font-weight: 700;
}

.smart-sidebar .nav-section-title {
  padding: 0 18px;
  margin: 20px 0 6px;
  color: #62748a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
}

.smart-sidebar .nav-link {
  margin: 2px 8px;
  padding: 9px 10px;
  border-radius: 7px;
  color: #38506b;
  font-size: 15px;
}

.smart-sidebar .nav-link:hover { background: #f5f8fb; }
.smart-sidebar .nav-link.active { color: var(--smart-nav-active-text); background: var(--smart-nav-active); font-weight: 700; }
.smart-sidebar .nav-link-icon { width: 20px; margin-right: 12px; text-align: center; }
/* Tabler's vertical-navbar layout offsets the content with logical margins.
   This console uses its own sidebar as a flex child, so reset both physical
   and logical offsets; otherwise narrow browser windows move content away. */
.page { display:flex; min-height:100vh; max-width:none; margin:0; padding:0 !important; }
.smart-sidebar { position:relative !important; inset:auto !important; flex:0 0 166px; max-width:166px; }
.page-wrapper { display:block; flex:1 1 auto; width:calc(100% - 166px); min-width:0; min-height:100vh; margin:0 !important; margin-inline:0 !important; }
.page > .page-wrapper:only-child { width:100%; }
.smart-topbar { height:58px; display:flex; align-items:center; gap:18px; padding:0 24px; border-bottom:1px solid #edf0f4; background:#fff; color:#708093; }
.smart-topbar a { color:#607086; text-decoration:none; font-size:13px; }
.smart-content { padding:18px 24px 42px; }
.smart-breadcrumb { color:#6b798d; font-size:12px; margin-bottom:28px; }
.hotel-form-card { max-width:1280px; background:#fff; }
.hotel-form-card .card-header { min-height:52px; }
.hotel-form-card .card-body { max-width:1024px; margin:0 auto; padding:28px 28px 36px; }
.hotel-field { display:grid; grid-template-columns:160px minmax(0, 1fr); gap:16px; align-items:start; margin-bottom:17px; }
.hotel-field > .form-label { text-align:right; margin:8px 0 0; color:#66758a; font-weight:500; }
.hotel-field small { display:block; color:#f06464; margin-top:5px; min-height:16px; }
.resource-input { display:flex; gap:0; }.resource-input .form-control { border-radius:4px 0 0 4px; }.resource-input .btn { border-radius:0 4px 4px 0; white-space:nowrap; }
.hotel-note { margin:0 0 24px 176px; color:#ef5f5f; line-height:1.7; font-size:12px; }
.hotel-form-actions { margin:26px 0 0 176px; }
.setting-link { display:inline-block; border-radius:4px; padding:4px 7px; margin:2px; font-size:12px; color:#fff; background:#2fb48c; text-decoration:none; }.setting-link:nth-child(2n) {background:#4c82dd}.setting-link:nth-child(3n){background:#ef5454}.setting-link:hover{color:#fff;filter:brightness(.94)}
.hotel-name { color:#25ad87; background:#e6f7f0; padding:3px 7px; border-radius:4px; }
@media (max-width: 768px) { .page { display:block; }.smart-sidebar { width:100%; max-width:none; min-height:auto; }.page-wrapper { width:100%; }.hotel-field { grid-template-columns:1fr; gap:4px; }.hotel-field > .form-label { text-align:left; }.hotel-note,.hotel-form-actions { margin-left:0; } }
.smart-modal-root { display:none; position:fixed; z-index:2000; inset:0; }.smart-modal-root.is-open { display:block; }.smart-modal-backdrop { position:absolute; inset:0; background:rgba(19,31,44,.52); backdrop-filter:blur(2px); }.smart-modal { position:relative; width:min(540px,calc(100vw - 32px)); margin:12vh auto 0; overflow:hidden; background:#fff; border:1px solid #e5eaf1; border-radius:12px; box-shadow:0 22px 54px rgba(16,32,51,.24); animation:smart-modal-in .16s ease-out; }.smart-modal.wide { width:min(720px,calc(100vw - 32px)); }.smart-modal-header { display:flex; align-items:center; min-height:61px; padding:0 22px; border-bottom:1px solid #edf0f4; }.smart-modal-header h3 { margin:0; font-size:17px; color:#26384d; }.smart-modal-close { margin-left:auto; padding:0; border:0; background:transparent; color:#8795a7; font-size:25px; line-height:1; cursor:pointer; }.smart-modal-body { padding:24px 28px; }.smart-modal-footer { display:flex; justify-content:flex-end; align-items:center; gap:10px; padding:15px 22px; border-top:1px solid #edf0f4; background:#fbfcfe; }.smart-modal-footer .btn-link { color:#78879a; text-decoration:none; }.smart-modal-footer .btn-primary { min-width:74px; background:#2eb38d; border-color:#2eb38d; }.smart-form-row { display:grid; grid-template-columns:112px minmax(0,1fr); gap:14px; align-items:start; margin-bottom:17px; }.smart-form-row:last-child { margin-bottom:0; }.smart-form-row label { padding-top:8px; color:#65758a; text-align:right; font-weight:500; }.smart-form-row label em { margin-left:3px; color:#f06464; font-style:normal; }.smart-form-row small { display:block; margin-top:5px; color:#9ba7b4; }.smart-notice { padding:14px 16px; border-radius:8px; line-height:1.6; }.smart-notice-success { color:#14775b; background:#e7f8f0; }.smart-notice-danger { color:#b23d47; background:#feeced; }.smart-confirm-message { padding:5px 2px; color:#536477; line-height:1.7; } body.smart-modal-open { overflow:hidden; } @keyframes smart-modal-in { from { transform:translateY(-12px); opacity:0; } to { transform:translateY(0); opacity:1; } } @media(max-width:576px){.smart-modal{margin-top:8vh}.smart-form-row{grid-template-columns:1fr;gap:5px}.smart-form-row label{text-align:left;padding-top:0}}
.asset-picker { display:grid; gap:8px; max-height:380px; overflow:auto; }.asset-picker-item { display:grid; grid-template-columns:72px minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; padding:12px; border:1px solid #e2e8f0; border-radius:8px; color:#3d5065; background:#fff; text-align:left; cursor:pointer; }.asset-picker-item:hover { border-color:#2eb38d; background:#f2fcf8; }.asset-kind { display:inline-flex; justify-content:center; padding:3px 6px; border-radius:4px; color:#198264; background:#dff6ed; font-size:11px; font-weight:700; }.asset-key { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--tblr-font-monospace); font-size:12px; }.asset-select { color:#2aa982; font-size:12px; font-weight:700; }
