/* Tenuta Virgilio — Site 01 luxury theme. Full mobile responsive pass. */
:root{--site-olive:#4d5132;--site-olive-deep:#2f3321;--site-olive-soft:#6d7250;--site-ivory:#f4ead8;--site-cream:#f7efdf;--site-paper:#f3e6d2;--site-sand:#dcc7a5;--site-gold:#a88448;--site-stone:#7f7767;--site-ink:#182033;--site-line:rgba(126,101,58,.24);--site-line-strong:rgba(126,101,58,.42);--ivory:var(--site-ivory);--ink:var(--site-ink);--paper:var(--site-paper);--navy:var(--site-olive-deep);--navy-2:var(--site-olive);--gold:var(--site-gold);--gold-soft:#d8c29d;--line:#ddccb0;--success:#596344;--serif:Georgia,"Times New Roman",Times,serif;--radius:16px}
html{background:var(--site-ivory)}body{color:var(--site-ink);background:linear-gradient(180deg,#f8f0e2,#f1e4d0)}h1,h2,h3,.metric-value,.kpi-value,.hero-kpi-grid strong,.kpi-grid strong{font-family:var(--serif)!important;font-weight:400!important}.eyebrow{color:var(--site-olive-soft);font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.sidebar{color:#f8f4ea;background:var(--site-olive-deep)}.brand strong{color:#fffdf7;font-family:var(--serif)}.nav a{color:rgba(255,255,255,.8)}.nav a.active,.nav a:hover{color:#fff;background:rgba(255,255,255,.05)}
.topbar{background:linear-gradient(90deg,rgba(35,44,34,.80),rgba(35,44,34,.55),rgba(35,44,34,.12)),url("./assets/background.jpeg") center/cover no-repeat}.topbar h1{color:#fffdf8;font-family:var(--serif)}.topbar .eyebrow{color:#d9bc82}.topbar .muted{color:rgba(255,247,231,.82)}
.quick-filters,.filter-bar{background:linear-gradient(180deg,#f8efdf,#edddc3);border:1px solid var(--site-line-strong)}.quick-filters select,select,input,textarea{color:#182033;background:#f8eedc;border-color:var(--site-line-strong)}.toolbar button,.file-button{color:#fff;background:linear-gradient(180deg,#555a37,#343821);border:1px solid rgba(218,190,139,.58)}
.hero-kpi-grid>*,.kpi-grid>*{background:linear-gradient(135deg,#f8eedc,#ecd9ba)!important;border:1px solid rgba(168,132,72,.40)!important;border-radius:18px!important;box-shadow:0 8px 22px rgba(87,69,39,.08)!important;color:#182033!important}.hero-kpi-grid strong,.kpi-grid strong,.metric-value,.kpi-value{color:#101827!important}.hero-kpi-grid .eyebrow,.kpi-grid .eyebrow,.hero-kpi-grid small,.kpi-grid small,.hero-kpi-grid p,.kpi-grid p{color:#4f5664!important}.hero-kpi-grid svg,.kpi-grid svg{color:#a88448!important}
.panel,.lucia-panel,.chart-panel,.monthly-airbnb-panel,.stay-profit-panel,.personal-profit-panel,.simulator-panel{background:linear-gradient(145deg,#f8eedc,#efddc0)!important;border:1px solid rgba(168,132,72,.36)!important;border-radius:18px!important;color:#182033!important}.table-wrap{background:#f4e6cf;border:1px solid rgba(168,132,72,.34);border-radius:16px}th{color:#5e574b!important;background:#ead7b8!important}td{color:#182033!important;border-bottom-color:rgba(126,101,58,.18)!important}.summary-pill,.detail-pill{color:#3e452d;background:#efe0c7;border:1px solid var(--site-line-strong)}
#guestGeographyPanel .geo-flag{display:inline-flex;width:30px;margin-right:8px;font-size:22px;vertical-align:middle}.mobile-luxury-nav{display:none}

@media(max-width:1099px){
  html,body{max-width:100%;overflow-x:hidden}body{background:#f2e6d3;padding-bottom:92px}.app-shell{margin-left:0!important;width:100%!important;max-width:100%!important;padding:0 12px 30px!important}.sidebar{max-width:86vw}
  .topbar{min-height:500px;margin:0 -12px 18px;padding:30px 18px 26px;background:linear-gradient(180deg,rgba(28,34,22,.15),rgba(31,36,23,.72)),url("./assets/background.jpeg") center/cover no-repeat}.topbar h1{font-size:clamp(35px,9.5vw,50px);line-height:1.02}.hero-copy{width:100%}.quick-filters{width:100%;display:grid!important;grid-template-columns:1fr 1fr;border-radius:16px;overflow:hidden}.quick-filters label{min-width:0!important;padding:11px 12px}.quick-filters select{width:100%;min-width:0;font-size:16px}.toolbar{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:9px}.toolbar #menuToggle,.toolbar #toggleFilters{grid-column:1/-1}.toolbar button,.file-button{width:100%;min-height:50px;border-radius:14px}.auth-status{min-width:0!important;max-width:100%!important}
  .filter-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:13px!important;border-radius:16px}.filter-bar label,.filter-bar .wide{grid-column:auto!important;min-width:0!important}.filter-bar .wide{grid-column:1/-1!important}.filter-bar select,.filter-bar input,.filter-bar button{width:100%!important;min-width:0!important;max-width:100%!important}
  .executive-strip,.section,.panel,.split,.insight-grid,.pricing-grid,.pricing-strip,.strategy-focus-grid,.strategy-controls{max-width:100%!important;min-width:0!important}
  .hero-kpi-grid,.kpi-grid,.kpi-grid.compact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;background:transparent!important;padding:0!important;border:0!important;width:100%!important}
  .hero-kpi-grid>*,.kpi-grid>*,.kpi-grid.compact>*{width:100%!important;max-width:100%!important;min-width:0!important;min-height:138px!important;padding:14px!important;margin:0!important;border-radius:17px!important;overflow:hidden!important}
  .hero-kpi-grid>* *, .kpi-grid>* *{color:#182033!important;text-shadow:none!important;opacity:1!important}.hero-kpi-grid .eyebrow,.kpi-grid .eyebrow,.hero-kpi-grid [class*="label"],.kpi-grid [class*="label"]{color:#5d5a50!important;font-size:10px!important;line-height:1.25!important}.hero-kpi-grid strong,.kpi-grid strong,.hero-kpi-grid .metric-value,.kpi-grid .metric-value,.hero-kpi-grid .kpi-value,.kpi-grid .kpi-value{color:#111827!important;font-size:clamp(27px,7.6vw,38px)!important;line-height:1.02!important;letter-spacing:-.02em!important;overflow-wrap:anywhere!important;word-break:normal!important}.hero-kpi-grid p,.kpi-grid p,.hero-kpi-grid small,.kpi-grid small{color:#535966!important;font-size:12px!important;line-height:1.3!important}
  .hero-kpi-grid .hero-kpi-card,.kpi-grid .kpi-card{display:flex!important;align-items:center!important;gap:12px!important}.hero-kpi-grid .hero-kpi-icon,.kpi-grid .kpi-icon{flex:0 0 auto!important}.hero-kpi-grid .hero-kpi-content,.kpi-grid .kpi-content{min-width:0!important;flex:1 1 auto!important}
  .section{padding:22px 0 30px!important}.section-head{display:flex!important;align-items:flex-start!important;gap:10px!important;flex-wrap:wrap!important}.section-head>div{min-width:0!important;flex:1 1 220px!important}.section-head h2{font-size:27px!important;line-height:1.08!important}.section-head select,.section-head .summary-pill{max-width:100%!important}
  .panel{padding:14px!important;border-radius:17px!important;overflow:hidden!important}.panel-head{display:flex!important;align-items:flex-start!important;gap:10px!important;flex-wrap:wrap!important}.panel-head>div{min-width:0!important;flex:1 1 200px!important}.panel-head h2{font-size:22px!important;line-height:1.12!important}.panel-actions{max-width:100%!important;flex-wrap:wrap!important}
  .split,.insight-grid,.pricing-grid,.pricing-strip,.strategy-focus-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.strategy-controls{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.strategy-controls label{min-width:0!important}.strategy-controls input,.strategy-controls select{width:100%!important;min-width:0!important}
  .table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:14px}.table-wrap table{min-width:640px}.table-wrap.embedded table{min-width:560px}th,td{padding:9px 10px!important;font-size:12px!important;white-space:nowrap}.chart,.chart-panel,[id*="Chart"]{max-width:100%!important;overflow-x:auto!important}.chart svg{max-width:100%!important;height:auto!important}
  details,.break-even-advanced{max-width:100%!important}.monthly-airbnb-panel,.stay-profit-panel,.personal-profit-panel,.simulator-panel,.lucia-panel{max-width:100%!important;overflow:hidden!important}
  form,.entry-form,.airbnb-import-form{max-width:100%!important}.entry-form,.entry-form form,.airbnb-import-form,.airbnb-import-form form{grid-template-columns:1fr!important}.entry-form input,.entry-form select,.entry-form textarea,.airbnb-import-form input,.airbnb-import-form select,.airbnb-import-form textarea{width:100%!important;min-width:0!important}
  .guest-geo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mobile-luxury-nav{position:fixed;left:0;right:0;bottom:0;z-index:5000;display:grid;grid-template-columns:repeat(5,1fr);padding:8px 7px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(79,84,49,.97),rgba(47,51,33,.99));border-top:1px solid rgba(218,190,139,.5);box-shadow:0 -10px 28px rgba(31,35,23,.2)}.mobile-luxury-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;color:#f6ead7;text-decoration:none;border-radius:12px;font-family:var(--serif);font-size:11px}.mobile-luxury-nav a.active{background:rgba(255,244,222,.11)}.mobile-luxury-nav .nav-icon{font-family:system-ui,sans-serif;font-size:19px}
}
@media(max-width:560px){
  .topbar{min-height:490px}.topbar h1{font-size:38px}.filter-bar{grid-template-columns:1fr!important}.filter-bar .wide{grid-column:auto!important}
  .hero-kpi-grid,.kpi-grid,.kpi-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hero-kpi-grid>*,.kpi-grid>*,.kpi-grid.compact>*{min-height:132px!important;padding:12px!important}.hero-kpi-grid strong,.kpi-grid strong,.metric-value,.kpi-value{font-size:clamp(25px,7.2vw,34px)!important}.hero-kpi-grid .eyebrow,.kpi-grid .eyebrow{font-size:9px!important;letter-spacing:.13em!important}.hero-kpi-grid p,.kpi-grid p,.hero-kpi-grid small,.kpi-grid small{font-size:11px!important}.strategy-controls{grid-template-columns:1fr!important}.panel{padding:13px!important}.section-head h2{font-size:25px!important}.panel-head h2{font-size:21px!important}#guestGeographyPanel .guest-geo-kpis{display:none!important}
}
@media(max-width:390px){.hero-kpi-grid,.kpi-grid,.kpi-grid.compact{grid-template-columns:1fr!important}.hero-kpi-grid>*,.kpi-grid>*,.kpi-grid.compact>*{min-height:118px!important}.mobile-luxury-nav a{font-size:10px}.mobile-luxury-nav .nav-icon{font-size:18px}}
