*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f4f6f9;color:#162033}a{text-decoration:none;color:inherit}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#111a33;color:#fff;padding:24px 18px}.brand{font-weight:800;font-size:20px;margin-bottom:28px}.brand small{display:block;font-weight:500;font-size:11px;opacity:.7;margin-top:4px}.nav a{display:block;padding:11px 12px;border-radius:9px;margin:4px 0;color:#dbe3f6}.nav a:hover,.nav a.active{background:#1d2a50;color:#fff}.main{padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.muted{color:#6c7890}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:#fff;border:1px solid #e4e8ef;border-radius:14px;padding:18px;box-shadow:0 2px 8px rgba(17,26,51,.04)}.kpi{font-size:28px;font-weight:800;margin-top:5px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid #edf0f5;font-size:14px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf2ff;font-size:12px;font-weight:700}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:#fff;border:1px solid #e4e8ef;border-radius:18px;padding:30px;box-shadow:0 12px 35px rgba(17,26,51,.08)}label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}input{width:100%;padding:12px 13px;border:1px solid #ccd4e0;border-radius:9px;font:inherit}button,.btn{display:inline-block;border:0;border-radius:9px;padding:11px 15px;background:#111a33;color:white;font-weight:700;cursor:pointer}.error{background:#fff1f1;color:#9f2424;padding:10px 12px;border-radius:9px;margin:12px 0}.ok{background:#ecf9f1;color:#176b3a;padding:10px 12px;border-radius:9px;margin:12px 0}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{padding:14px}.nav{display:flex;overflow:auto;gap:4px}.nav a{white-space:nowrap}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid{grid-template-columns:1fr}.main{padding:18px}}

/* ==========================================================
   PORTEBELLA · S1 Visual Foundation
   Presentation-layer only. No layout/behavior overrides.
   ========================================================== */
:root{
  --sorella-charcoal:#1E2B2F;
  --sorella-charcoal-2:#28383C;
  --sorella-sage:#70806F;
  --sorella-aqua:#94B7B2;
  --sorella-sand:#EFE7DA;
  --sorella-soft:#FAF8F3;
  --sorella-surface:#FFFFFF;
  --sorella-line:#E4E1DA;
  --sorella-text:#25323A;
  --sorella-muted:#6F7A7D;
  --sorella-success-bg:#EDF5EF;
  --sorella-success:#416650;
  --sorella-error-bg:#F8ECE9;
  --sorella-error:#8B4942;
  --sorella-focus:rgba(148,183,178,.28);
}

body{
  background:var(--sorella-soft);
  color:var(--sorella-text);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

.sidebar,
.pms-sidebar{
  background:var(--sorella-charcoal);
  color:#fff;
}

.brand{letter-spacing:.01em}
.pms-sidebar .brand{margin-bottom:24px}
.pms-sidebar .brand-mark{
  color:var(--sorella-sand);
  border:1px solid rgba(239,231,218,.58);
  border-radius:999px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  font-weight:600;
  line-height:1;
}
.pms-sidebar .brand-copy strong{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:.08em;
}
.pms-sidebar .brand-copy small{
  color:rgba(255,255,255,.62);
  letter-spacing:.04em;
}

.nav a{color:#DDE5E2}
.nav a:hover{background:rgba(148,183,178,.12);color:#fff}
.nav a.active{
  background:rgba(148,183,178,.18);
  color:#fff;
  box-shadow:inset 3px 0 0 var(--sorella-aqua);
}
.pms-sidebar-toggle{
  border-color:rgba(239,231,218,.16)!important;
  background:rgba(255,255,255,.045)!important;
}
.pms-sidebar-toggle:hover{background:rgba(148,183,178,.11)!important}

.main{color:var(--sorella-text)}
.muted{color:var(--sorella-muted)}
.card,
.login-card{
  background:var(--sorella-surface);
  border-color:var(--sorella-line);
  box-shadow:0 8px 28px rgba(30,43,47,.055);
}

.table th,.table td{border-bottom-color:#ECE9E2}
.table th{color:#647174}
.badge{background:#EEF4F2;color:#48625E}

label{color:#39484D}
input,
select,
textarea{
  border-color:#D5DAD6;
  background:#fff;
  color:var(--sorella-text);
}
input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:var(--sorella-aqua);
  box-shadow:0 0 0 3px var(--sorella-focus);
}

button,.btn{
  background:var(--sorella-charcoal);
  color:#fff;
}
button:hover,.btn:hover{background:var(--sorella-charcoal-2)}

.error{background:var(--sorella-error-bg);color:var(--sorella-error)}
.ok{background:var(--sorella-success-bg);color:var(--sorella-success)}

.login-wrap{
  background:
    radial-gradient(circle at 18% 16%,rgba(148,183,178,.16),transparent 33%),
    radial-gradient(circle at 82% 82%,rgba(239,231,218,.72),transparent 36%),
    var(--sorella-soft);
}
.login-card{border-radius:20px}
.login-card h1{color:var(--sorella-charcoal)}
.login-card .brand{color:var(--sorella-charcoal)!important}
.login-card .brand strong,
.login-card>.brand{
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:.06em;
}

/* ==========================================================
   PORTEBELLA · S1.1 Product Skin
   Visual-only overrides. Avoids structural layout properties.
   ========================================================== */
body{
  background:#F7F6F2;
  color:var(--sorella-text);
}
.main{
  background:linear-gradient(180deg,#F7F8FA 0,#F7F6F2 260px,#F7F6F2 100%);
}
.topbar{
  border-bottom:1px solid rgba(30,43,47,.07);
  padding-bottom:14px;
}
.topbar h1,
.main h1{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500!important;
  letter-spacing:-.025em;
  color:var(--sorella-charcoal);
}
.main h2,.main h3{
  color:var(--sorella-charcoal);
}
.card{
  border:1px solid #E7E3DC;
  border-radius:15px;
  box-shadow:0 5px 20px rgba(30,43,47,.045);
}
.card:hover{border-color:#DDD8CF}

button,.btn{
  background:var(--sorella-charcoal);
  color:#fff;
  box-shadow:none;
}
button:hover,.btn:hover{background:#26383C}
.btn.secondary,button.secondary,
.secondary.btn{
  background:#fff!important;
  color:var(--sorella-charcoal)!important;
  border:1px solid #D9DED9!important;
}
.btn.secondary:hover,button.secondary:hover,
.secondary.btn:hover{
  background:#F0F5F3!important;
  border-color:var(--sorella-aqua)!important;
}

input,select,textarea{
  border-radius:10px;
  background:#fff;
  border-color:#D8DDD9;
}
input[type="date"]{color:var(--sorella-charcoal)}

.table{
  background:#fff;
}
.table th{
  background:#F5F3EE;
  color:#526166;
  font-size:12px;
  letter-spacing:.015em;
}
.table td{color:#2B393E}

.badge{
  background:#EEF4F2;
  color:#49635F;
  border:1px solid #DDE9E6;
}

/* Common tabs/chips used throughout the PMS. */
.tabs,.tabbar,.rp-tabs{
  border-color:#E5E1D9!important;
}
.tab,.rp-tab{
  border-color:#DDDAD3!important;
  color:#56656A!important;
  background:#FBFAF7!important;
}
.tab.active,.rp-tab.active,
.tab[aria-selected="true"],.rp-tab[aria-selected="true"]{
  background:var(--sorella-charcoal)!important;
  color:#fff!important;
  border-color:var(--sorella-charcoal)!important;
}

.notice-ok,.ok{
  background:#EDF5EF!important;
  color:#416650!important;
}
.notice-error,.error{
  background:#F8ECE9!important;
  color:#8B4942!important;
}

/* Sidebar is the strongest Portebella signature inside the application. */
.pms-sidebar{
  background:linear-gradient(180deg,#1E2B2F 0%,#203238 100%)!important;
  box-shadow:8px 0 28px rgba(30,43,47,.05);
}
.pms-sidebar .nav a{
  color:#E6ECEA!important;
}
.pms-sidebar .nav a:hover{
  background:rgba(148,183,178,.10)!important;
}
.pms-sidebar .nav a.active{
  background:rgba(148,183,178,.20)!important;
  box-shadow:inset 3px 0 0 #94B7B2!important;
}

/* Login: editorial and hospitality-oriented, without changing form behavior. */
.login-card{
  border:1px solid #E2DED6;
  box-shadow:0 22px 65px rgba(30,43,47,.09);
}
.login-card h1{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:-.02em;
}


/* ==========================================================
   PORTEBELLA · S1.2 VISUAL FOUNDATION
   Brand fidelity pass. Presentation layer only.
   ========================================================== */
:root{
 --s-bg:#FAF8F3;--s-panel:#FFFFFF;--s-panel-soft:#F6F2EA;--s-ink:#1E2B2F;
 --s-sage:#70806F;--s-aqua:#94B7B2;--s-sand:#EFE7DA;--s-line:#E4E0D8;
 --s-muted:#71807F;--s-shadow:0 7px 24px rgba(30,43,47,.045);
}
html{background:var(--s-bg)}
body{background:var(--s-bg)!important;color:var(--s-ink)!important;font-size:13px}
.main{background:linear-gradient(180deg,#FBFAF7 0%,#F8F6F1 100%)!important;padding:20px 24px}
.topbar{border-bottom:0!important;margin-bottom:16px}.topbar h1,.main>h1{font-family:Georgia,"Times New Roman",serif;font-weight:500!important;letter-spacing:-.025em;color:var(--s-ink)!important}
.muted{color:var(--s-muted)!important}
.card,.login-card{background:rgba(255,255,255,.96)!important;border:1px solid var(--s-line)!important;border-radius:14px!important;box-shadow:var(--s-shadow)!important}
.card h2,.card h3{font-weight:650;color:var(--s-ink)}
button,.btn{background:var(--s-ink);border-radius:9px!important;box-shadow:none!important}.btn:hover,button:hover{background:#2A3C40}
.btn.primary,.primary.btn,button.primary{background:var(--s-sage)!important;color:#fff!important}.btn.primary:hover,.primary.btn:hover,button.primary:hover{background:#637563!important}
.btn.secondary,.secondary.btn,button.secondary{background:#fff!important;color:var(--s-ink)!important;border:1px solid #D9DDD8!important}
input,select,textarea{background:#FFFEFC!important;border:1px solid #D8DDD8!important;border-radius:9px!important;color:var(--s-ink)!important;box-shadow:none!important}
input:focus,select:focus,textarea:focus{border-color:var(--s-aqua)!important;box-shadow:0 0 0 3px rgba(148,183,178,.18)!important}
.table{background:#fff;border-color:var(--s-line)}.table th{background:#F5F2EC!important;color:#62716F!important;font-size:10.5px!important;text-transform:none;letter-spacing:.025em}.table td{border-bottom-color:#ECE8E1!important;font-size:12px!important}
.badge{background:#EEF4F2!important;border:1px solid #DCE8E5!important;color:#4E6762!important;font-size:10px!important}
.error{background:#F7EBE8!important;color:#894C45!important}.ok{background:#EDF4EF!important;color:#496650!important}
.tab,.rp-tab{background:#FBFAF7!important;border-color:#DDD9D1!important;color:#5C6C69!important}.tab.active,.rp-tab.active,.tab[aria-selected="true"],.rp-tab[aria-selected="true"]{background:var(--s-ink)!important;color:#fff!important;border-color:var(--s-ink)!important}
/* Warm, quiet scrollbars without altering overflow behavior. */
*{scrollbar-color:#B2C0BC #F1EEE7;scrollbar-width:thin}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:#F1EEE7}*::-webkit-scrollbar-thumb{background:#B2C0BC;border-radius:999px;border:2px solid #F1EEE7}

/* ==========================================================
   PORTEBELLA · S1.9.1 UI SCALE & RHYTHM
   Shared presentation rules only. No layout/behavior logic.
   ========================================================== */
.sorella-page{
  --ui-title:28px;
  --ui-subtitle:12px;
  --ui-section-title:18px;
  --ui-label:11px;
  --ui-control:38px;
  --ui-card-pad:16px;
  --ui-gap:12px;
}
.sorella-page .main{padding:18px 22px!important}
.sorella-page .topbar,
.sorella-page .c14-pagehead,
.sorella-page .audit-head{margin-bottom:12px!important}
.sorella-page .topbar h1,
.sorella-page .c14-pagehead h1,
.sorella-page .audit-head h1{
  font-size:var(--ui-title)!important;
  line-height:1.05!important;
  margin:0!important;
}
.sorella-page .topbar .muted,
.sorella-page .c14-pagehead p,
.sorella-page .c14-pagehead .sub,
.sorella-page .audit-head .sub{
  font-size:var(--ui-subtitle)!important;
  line-height:1.35!important;
}
.sorella-page .card{padding:var(--ui-card-pad)!important;margin-bottom:12px!important}
.sorella-page .card h2,
.sorella-page .card h3{font-size:var(--ui-section-title)!important;line-height:1.15!important;margin:0 0 12px!important}
.sorella-page label{font-size:var(--ui-label)!important;line-height:1.2!important;font-weight:650!important}
.sorella-page input:not([type="checkbox"]):not([type="radio"]),
.sorella-page select{
  min-height:var(--ui-control)!important;
  padding:8px 11px!important;
  font-size:12px!important;
}
.sorella-page textarea{padding:9px 11px!important;font-size:12px!important;line-height:1.35!important}
.sorella-page input[type="checkbox"],
.sorella-page input[type="radio"]{
  width:15px!important;height:15px!important;min-height:0!important;padding:0!important;
  vertical-align:middle;accent-color:var(--s-sage);
}
.sorella-page button,.sorella-page .btn{min-height:34px!important;padding:7px 12px!important;font-size:11px!important}
.sorella-page .table th{height:34px!important;padding:8px 10px!important;font-size:10px!important}
.sorella-page .table td{padding:9px 10px!important;font-size:11.5px!important;line-height:1.3!important}

/* Forms: consistent rhythm and restrained width where the task is simple. */
.sorella-page-rates .rate-grid,
.sorella-page-extras .grid{gap:10px 12px!important}
.sorella-page-rates .note{font-size:11px!important;padding:10px 12px!important;margin-bottom:12px!important}
.sorella-page-rates .days{min-height:38px;align-items:center;padding:7px 10px!important;border:1px solid var(--s-line);border-radius:9px;background:#F8F6F1}
.sorella-page-rates .days label{margin:0!important;display:inline-flex!important;align-items:center;gap:5px;font-size:11px!important}
.sorella-page-rates .card:last-child p,
.sorella-page-extras .card:last-child p,
.sorella-page-night .card:last-child p{margin:0!important;padding:16px;border:1px dashed #DDD8CF;border-radius:10px;text-align:center;color:var(--s-muted)}

/* Extras: restore normal checkbox scale and compact option row. */
.sorella-page-extras .grid>label:has(input[type="checkbox"]){display:flex!important;align-items:center;gap:8px;min-height:38px;margin:0!important}
.sorella-page-extras .grid>label:has(input[type="checkbox"]) input{order:-1}

/* Cash: simple action should stay visually simple, not full-width. */
.sorella-page-cash .card form input[name="opening_cash"]{width:min(320px,100%)!important;display:block;margin:6px 0 10px!important}
.sorella-page-cash .metrics{gap:8px!important}.sorella-page-cash .metric{padding:10px!important;border-color:var(--s-line)!important;background:#F8F8F5!important}
.sorella-page-cash .metric strong{font-size:17px!important}
.sorella-page-cash .table{margin-top:4px}

/* Night audit: KPI tiles use the same density as executive dashboard. */
.sorella-page-night .k{gap:8px!important}
.sorella-page-night .k>div{padding:12px 14px!important;border:1px solid var(--s-line);border-radius:10px;background:#F7F8F5}
.sorella-page-night .k .muted{font-size:10.5px!important}
.sorella-page-night .n{font-family:Georgia,"Times New Roman",serif;font-size:26px!important;line-height:1!important;margin-top:8px!important;font-weight:500!important}
.sorella-page-night input[name="notes"]{max-width:760px!important}

/* Audit: readable but dense; details remain available without dominating. */
.sorella-page-audit .audit-toolbar{gap:8px!important;padding:10px!important;margin-bottom:10px!important}
.sorella-page-audit .audit-toolbar input,.sorella-page-audit .audit-toolbar select{min-height:36px!important}
.sorella-page-audit .audit-table th{padding:9px 10px!important;font-size:9.5px!important}
.sorella-page-audit .audit-table td{padding:10px!important;font-size:11px!important}
.sorella-page-audit .audit-actor small{font-size:9.5px!important;margin-top:3px!important}
.sorella-page-audit .audit-note{font-size:10px!important;line-height:1.45!important;padding:10px 12px!important;margin-top:10px!important}

/* Users / booking / finance: same scale as operational modules. */
.sorella-page-users .c14-pagehead h1,
.sorella-page-booking .c14-pagehead h1,
.sorella-page-finance .c14-pagehead h1{font-size:var(--ui-title)!important}
.sorella-page-users .c14-kpis,
.sorella-page-booking .c14-kpis,
.sorella-page-finance .c14-kpis{margin:8px 0 12px!important}
.sorella-page-users .c14-kpi,
.sorella-page-booking .c14-kpi,
.sorella-page-finance .c14-kpi{padding:10px 12px!important;min-height:64px!important}
.sorella-page-users .c14-kpi b,
.sorella-page-booking .c14-kpi b,
.sorella-page-finance .c14-kpi b{font-size:20px!important;line-height:1.05!important}
.sorella-page-users .c14-kpi span,
.sorella-page-booking .c14-kpi span,
.sorella-page-finance .c14-kpi span{font-size:8.5px!important}
.sorella-page-users .c14-kpi small,
.sorella-page-booking .c14-kpi small,
.sorella-page-finance .c14-kpi small{font-size:9px!important}
.sorella-page-booking .c161-section-head{margin:16px 0 10px!important}
.sorella-page-booking .c161-section-head h2{font-size:20px!important;margin:3px 0!important}
.sorella-page-booking .c161-room-grid{gap:12px!important}
.sorella-page-booking .c161-room-card{padding:14px!important}
.sorella-page-booking .c161-room-card h2{font-size:18px!important}
.sorella-page-booking .c161-save{padding:10px 12px!important}

/* Finance: preserve functional tabs while matching shared cadence. */
.sorella-page-finance .c14-pagehead{margin-bottom:10px!important}
.sorella-page-finance .c14-kpis{border-radius:11px!important;overflow:hidden}
.sorella-page-finance .c14-tabs{margin:10px 0!important}
.sorella-page-finance .section,.sorella-page-finance .card{padding:14px!important}

@media(max-width:900px){
 .sorella-page{--ui-title:25px;--ui-card-pad:13px}
 .sorella-page .main{padding:14px!important}
}

/* =========================================================
   S1.10 — PORTEBELLA CORE OPERATIONS UI
   Prioridad operativa, anticipación y mínima fricción.
   No modifica timeline, scroll, paginación ni lógica.
   ========================================================= */
.sorella-core-page .main{padding-top:18px!important}
.sorella-core-head{margin-bottom:12px!important;align-items:flex-end!important}
.sorella-core-head h1{font-family:Georgia,"Times New Roman",serif!important;font-size:28px!important;font-weight:500!important;line-height:1.04!important;letter-spacing:-.025em!important}
.sorella-eyebrow{font-size:9px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;color:#738376;font-weight:800;margin-bottom:4px}
.sorella-core-head .muted{font-size:11.5px!important;margin-top:3px}
.sorella-ops-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 12px;background:#fff;border:1px solid #dfe4df;border-radius:12px;overflow:hidden}
.sorella-ops-kpis>.sorella-ops-kpi{position:relative;padding:10px 13px 9px;min-height:68px;border-right:1px solid #e6e9e5;background:#fff}
.sorella-ops-kpis>.sorella-ops-kpi:last-child{border-right:0}
.sorella-ops-kpi span{display:block;font-size:8px;line-height:1.2;letter-spacing:.055em;text-transform:uppercase;color:#78847d;font-weight:800;margin-bottom:4px}
.sorella-ops-kpi strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1;color:#1d3133;font-weight:500}
.sorella-ops-kpi small{display:block;margin-top:4px;font-size:9px;line-height:1.2;color:#7d8985}
.sorella-ops-kpi.needs-attention{background:#fff8ec}
.sorella-ops-kpi.needs-attention:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#c89036}
.sorella-filter-card,.sorella-form-card,.sorella-work-card,.sorella-secondary-card{border-color:#dddeda!important;box-shadow:0 6px 24px rgba(35,48,43,.035)!important}
.sorella-filter-card{padding:12px 14px!important;background:#fff!important}
.sorella-list-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:2px}
.sorella-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72px;border:1px dashed #d9d9d3;border-radius:10px;background:#fcfbf8;color:#758078;text-align:center;padding:15px}
.sorella-empty strong{color:#334744;font-size:12px;margin-bottom:2px}.sorella-empty span{font-size:10px}
.sorella-note{border:1px solid #dce6e2;border-left:3px solid #8fb6af;border-radius:9px;padding:10px 12px;background:#f2f7f5;color:#536661;font-size:11px}
.sorella-alert-text{color:#a66a17!important;font-weight:800}

/* Reservations: fast scan first, details remain available horizontally. */
.sorella-page-reservations .filters{gap:8px!important}.sorella-page-reservations .filters input,.sorella-page-reservations .filters select{min-height:36px!important;padding:7px 9px!important}
.sorella-page-reservations .order-note{margin:8px 0!important;padding:7px 9px!important;background:#f6f4ef!important}
.sorella-page-reservations .table th,.sorella-page-reservations .table td{padding:8px 9px!important}
.sorella-page-reservations .folio-link{color:#284640!important}.sorella-page-reservations .row-link:hover td{background:#f3f7f5!important}

/* Availability: make the number to sell the visual anchor. */
.sorella-page-availability .toolbar{margin:0 0 9px!important}.sorella-page-availability .toolbar .btn{padding:7px 10px!important}
.sorella-page-availability .avail-wrap{border-color:#dadfdb!important;border-radius:11px!important;box-shadow:0 5px 20px rgba(35,48,43,.03)}
.sorella-page-availability .avail th{background:#f4f2ed!important;color:#66756f!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.045em}
.sorella-page-availability .avail th,.sorella-page-availability .avail td{padding:8px 7px!important;border-color:#e5e8e5!important}
.sorella-page-availability .avail td .num{font-family:Georgia,"Times New Roman",serif;font-size:24px!important;font-weight:500!important;color:#233b3b}
.sorella-page-availability .avail td .sub{font-size:8.5px!important;line-height:1.25!important}
.sorella-page-availability .zero{background:#fff3ef!important}.sorella-page-availability .low{background:#fff9ed!important}.sorella-page-availability .good{background:#f2f8f5!important}
.sorella-page-availability .typecol{min-width:145px!important}

/* Inventory / housekeeping: status + next operational event. */
.sorella-page-inventory .sorella-ops-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.sorella-page-inventory .table th,.sorella-page-inventory .table td,.sorella-page-housekeeping .table th,.sorella-page-housekeeping .table td{padding:9px 10px!important;vertical-align:middle}
.sorella-page-inventory .status,.sorella-page-housekeeping .status{padding:4px 8px!important;font-size:9px!important;border-radius:999px!important}
.sorella-page-housekeeping .actions select{min-width:128px;padding:6px 8px!important;font-size:10px!important}.sorella-page-housekeeping .actions button{padding:6px 8px!important;font-size:10px!important}
.sorella-page-housekeeping .history-item{padding:8px 0!important}

/* Blocks: creation is compact; impact is visible before history. */
.sorella-page-blocks .form-grid{gap:8px 12px!important}.sorella-page-blocks .form-grid textarea{min-height:64px!important}
.sorella-page-blocks .sorella-form-card{padding:14px!important}.sorella-page-blocks .sorella-work-card h2{margin:0 0 9px!important}
.sorella-page-blocks .table th,.sorella-page-blocks .table td{padding:8px 9px!important}

/* Reservation detail: make context and next action lead the page without changing workflow. */
.sorella-page-reservation-detail .sorella-reservation-status{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin:0 0 10px!important}
.sorella-page-reservation-detail .sorella-reservation-status .pill{padding:5px 9px!important;border-radius:999px!important;background:#f1f5f2!important;color:#34504a!important;font-size:10px!important}
.sorella-page-reservation-detail .sorella-reservation-financial{padding:13px 14px!important}
.sorella-page-reservation-detail .sorella-reservation-financial>div[style*="grid-template-columns"]{gap:0!important;border:1px solid #e3e5e1;border-radius:10px;overflow:hidden}
.sorella-page-reservation-detail .sorella-reservation-financial>div[style*="grid-template-columns"]>div{padding:9px 10px;border-right:1px solid #e6e8e4}
.sorella-page-reservation-detail .sorella-reservation-financial>div[style*="grid-template-columns"]>div:last-child{border-right:0}
.sorella-page-reservation-detail .sorella-action-card{border:1px solid #dce6e2!important;background:#f7faf8!important;border-radius:12px!important;padding:14px!important;margin-bottom:14px!important}
.sorella-page-reservation-detail .form-grid{gap:9px 12px!important}.sorella-page-reservation-detail textarea{min-height:68px!important}

@media(max-width:1100px){.sorella-ops-kpis,.sorella-page-inventory .sorella-ops-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sorella-ops-kpis>.sorella-ops-kpi{border-bottom:1px solid #e6e9e5}}
@media(max-width:700px){.sorella-ops-kpis,.sorella-page-inventory .sorella-ops-kpis{grid-template-columns:1fr 1fr}.sorella-core-head h1{font-size:25px!important}}


/* ==========================================================
   PORTEBELLA · S12 Product Polish & Mobile Finalization
   Presentation-only: hospitality language, touch targets and
   graceful mobile behavior across operational surfaces.
   ========================================================== */
:root{--s12-radius:14px;--s12-touch:44px;--s12-gap:12px}
html{-webkit-text-size-adjust:100%}body{min-width:0}.main{min-width:0;overflow-x:hidden}
.main p,.main .muted,.main .sub{line-height:1.5}
.main .card,.main .panel{border-radius:var(--s12-radius)}
.main button,.main .btn,.main input[type="submit"],.main input[type="button"]{transition:background .15s ease,border-color .15s ease,transform .05s ease}
.main button:active,.main .btn:active{transform:translateY(1px)}
.main input,.main select,.main textarea{font-size:16px;max-width:100%}
.main textarea{resize:vertical}
.sorella-empty,.empty-state{padding:18px;border:1px dashed #D8DDD9;border-radius:13px;background:#FBFAF7;color:#5E6B68}
.sorella-empty strong,.empty-state strong{display:block;color:#26383C;margin-bottom:3px}
@media(max-width:900px){
  .main .topbar,.main .page-head,.main .c14-pagehead,.main .audit-head{align-items:flex-start!important;gap:12px!important;flex-wrap:wrap!important}
  .main h1{font-size:clamp(26px,7vw,34px)!important;line-height:1.05!important}
  .main h2{line-height:1.15}
  .main .grid,.main .c14-kpis,.main .c13-kpis,.main .sorella-kpis,.main .ops-kpis,.main .report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .main table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .main table td,.main table th{white-space:nowrap}
  .main form .actions,.main .actions{flex-wrap:wrap}
  .main button,.main .btn,.main input[type="submit"],.main input[type="button"]{min-height:var(--s12-touch)!important;padding:10px 14px!important}
  .main select,.main input:not([type="checkbox"]):not([type="radio"]),.main textarea{min-height:44px}
  dialog{width:min(94vw,680px)!important;max-height:88vh;overflow:auto}
}
@media(max-width:600px){
  .main .grid,.main .c14-kpis,.main .c13-kpis,.main .sorella-kpis,.main .ops-kpis,.main .report-kpis{grid-template-columns:1fr!important}
  .main .card,.main .panel{padding:14px!important}
  .main .btn,.main button{max-width:100%}
  .main .topbar>.actions,.main .page-head>.actions{width:100%}
  .main .topbar>.actions .btn,.main .page-head>.actions .btn{flex:1}
}

/* S12.1 Mobile Refinement */
@media(max-width:900px){html,body{max-width:100%;overflow-x:hidden}.main{min-width:0}.main input,.main select,.main textarea{max-width:100%}}

/* S12.3 · visual refinement and hospitality language */
.sorella-page-reservations .bulk-actions{margin:0 0 10px;border:1px solid #e6e2da;border-radius:10px;background:#fbfaf7;max-width:620px}
.sorella-page-reservations .bulk-actions summary{cursor:pointer;padding:9px 12px;font-size:11px;font-weight:800;color:#52615e}
.sorella-page-reservations .bulk-delete-controls{display:flex;gap:8px;align-items:center;padding:0 12px 12px}
.sorella-page-reservations .bulk-delete-controls input{flex:1;min-width:0;padding:9px 10px;border:1px solid #d7d9d4;border-radius:8px}
.sorella-page-housekeeping .mobile-hk-actions button{font-size:14px}
@media(max-width:620px){
 .sorella-page-reservations .bulk-delete-controls{display:grid;grid-template-columns:1fr}
 .sorella-page-reservations .bulk-delete-controls button{width:100%}
 .sorella-page-reservations .order-note{font-size:12px;line-height:1.4}
 .sorella-page-booking .card{border-radius:18px}
}
