*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:#fff;color:#101828}
:root{--navy:#02070d;--navy2:#071827;--blue:#1168ff;--muted:#667085;--line:#e4e7ec;--bg:#f6f8fb}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
header{height:90px;background:#03070b;display:flex;align-items:center;padding:0 34px;gap:24px;position:sticky;top:0;z-index:60}
.logo{display:flex;align-items:center;min-width:260px}.logo img{width:245px;height:auto;display:block}
nav{display:flex;gap:38px;margin-left:auto}nav a{color:#fff;text-decoration:none;font-weight:700}nav a.active{color:var(--blue)}
.header-actions{display:flex;gap:12px;align-items:center;margin-left:18px}.btn{border:0;border-radius:10px;padding:12px 16px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--blue);color:#fff}.ghost{background:transparent;color:#fff;border:1px solid #415063}
.lang-wrap{position:relative}.lang-btn{background:#0a121d;color:#fff;border:1px solid #2d3a49;border-radius:10px;padding:11px 13px;font-weight:800}
.lang-menu{position:absolute;right:0;top:48px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #0002;min-width:170px;display:none;overflow:hidden}
.lang-menu.show{display:block}.lang-menu button{display:block;width:100%;border:0;background:#fff;padding:11px 14px;text-align:left}.lang-menu button:hover{background:#f2f5f9}
.view{display:none}.view.active{display:block}
.hero{min-height:620px;background-image:linear-gradient(90deg,rgba(3,10,18,.98) 0%,rgba(3,10,18,.84) 42%,rgba(3,10,18,.20) 73%,rgba(3,10,18,.05) 100%),url("assets/mrg-47e82cba7ecd.jpg");background-size:cover;background-position:center;color:#fff}
.hero-inner{max-width:1180px;margin:auto;padding:75px 24px 45px}.kicker,.eyebrow{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
.hero h1{font-size:clamp(50px,6vw,78px);line-height:.98;letter-spacing:-3px;margin:16px 0 20px}.hero h1 span{color:var(--blue)}
.hero p{font-size:19px;color:#d0d5dd;max-width:600px;line-height:1.55}
.search-panel{margin-top:34px;background:rgba(4,15,27,.84);border:1px solid rgba(255,255,255,.14);padding:14px;border-radius:18px;display:grid;grid-template-columns:1.35fr 1fr 1fr auto;gap:10px;max-width:940px}
.search-panel label{background:rgba(255,255,255,.08);border-radius:12px;padding:11px 13px}.search-panel label span{display:block;color:#bcc6d3;font-size:10px;font-weight:900;margin-bottom:6px}
.search-panel input{width:100%;border:0;outline:0;background:transparent;color:#fff}.search-note{grid-column:1/-1;color:#cbd5df;font-size:12px}

/* ===== MovRentGo V93.8.84 · Marketplace Search Decoupling Cleanup =====
   Destinazione e date Moto/E-bike sono autonome dal MOVRENTGO TRIP.
   Il layout desktop usa quindi la griglia marketplace standard (destinazione + date + CTA).
   Restano qui solo gli affinamenti visuali del pulsante/note, senza vincoli di layout Trip. */
.search-panel.mrg-market-trip-search #marketSearchBtn{
  min-height:58px;
  font-size:18px;
  border-radius:13px;
}
.search-panel.mrg-market-trip-search .search-note{
  grid-column:1/-1;
  margin:1px 0 0;
  line-height:1.45;
}
@media(max-width:760px){
  .search-panel.mrg-market-trip-search{max-width:100%;padding:13px}
  .search-panel.mrg-market-trip-search #marketSearchBtn{min-height:54px;font-size:16px}
}
.benefits{max-width:1180px;margin:auto;padding:38px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.benefits article{display:flex;gap:14px}.benefits h3{margin:0 0 5px}.benefits p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.benefit-icon{font-size:31px}
.results{background:var(--bg);padding:54px 24px}.results-inner{max-width:1180px;margin:auto}.results-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.results-head h2{font-size:38px;margin:8px 0}.results-head p{margin:0;color:var(--muted)}
.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.vehicle-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #10182812}
.vehicle-img{height:190px;background-image:url("assets/mrg-47e82cba7ecd.jpg");background-size:cover;background-position:center;position:relative}.vehicle-tag{position:absolute;top:12px;left:12px;background:#fff;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}
.vehicle-body{padding:18px}.vehicle-body h3{margin:0 0 5px;font-size:20px}.vehicle-meta{font-size:13px;color:var(--muted);margin-bottom:15px}.vehicle-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.vehicle-price strong{font-size:23px}.vehicle-price span{font-size:12px;color:var(--muted)}
.owner-hero{min-height:455px;background-image:linear-gradient(90deg,rgba(3,10,18,.98) 0%,rgba(3,10,18,.86) 40%,rgba(3,10,18,.20) 72%),url("assets/mrg-47e82cba7ecd.jpg");background-size:cover;background-position:center;color:#fff}
.owner-hero-inner{max-width:1460px;margin:auto;padding:45px 38px}.owner-hero h1{font-size:42px;line-height:1.12;letter-spacing:-1.6px;margin:16px 0 32px;max-width:700px}.owner-hero h1 span{color:var(--blue)}
.promise{display:grid;gap:20px;max-width:700px}.promise-row{display:grid;grid-template-columns:50px 1fr;gap:16px}.promise-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--blue);font-size:21px;font-weight:900}
.promise-row h3{margin:0 0 5px}.promise-row p{margin:0;color:#d0d5dd;line-height:1.5}
.workspace{background:#071827;padding:0 28px 45px;display:grid;grid-template-columns:250px 1fr;gap:20px}.sidebar{background:#0c1724;color:#fff;border-radius:0 0 14px 14px;padding:22px 12px;min-height:500px}
.sidebar h3{padding:0 10px}.side-item{width:100%;border:0;background:transparent;color:#e8eef5;text-align:left;padding:12px 14px;border-radius:9px;margin:2px 0;font-weight:700}.side-item.active{background:#17335a;color:#5ca0ff}
.main-card{background:#fff;border-radius:14px;padding:28px;min-height:520px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.card-title{display:flex;gap:14px;align-items:center}.card-title h2{margin:0;font-size:26px}.card-title p{margin:4px 0 0;color:#475467}
.steps{display:flex;align-items:center;gap:12px;color:#475467;font-size:14px}.step{display:flex;align-items:center;gap:7px}.circle{width:25px;height:25px;border-radius:50%;border:1px solid #aab5c4;display:grid;place-items:center}.step.active .circle{background:var(--blue);border-color:var(--blue);color:#fff}.sep{width:24px;height:1px;background:#d0d5dd}
.form-zone{display:grid;grid-template-columns:1fr 325px;gap:28px;margin-top:20px}.vehicle-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.field{border:1px solid #d7dee7;border-radius:10px;padding:10px 12px}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:0;outline:0;background:transparent}.field.span2{grid-column:span 2}.field.full{grid-column:1/-1}
.rca-card{background:#f5f8ff;border:1px solid #d7e4ff;border-radius:12px;padding:22px}.rca-title{display:flex;gap:10px;align-items:center;font-size:18px;font-weight:900}.rca-card p{color:#344054;line-height:1.55}.rca-btn{width:100%;border:0;border-radius:9px;background:var(--blue);color:#fff;padding:13px;font-weight:900}
.owner-list{margin-top:26px;border-top:1px solid var(--line);padding-top:18px}.vehicle-row{border:1px solid var(--line);border-radius:11px;padding:13px 15px;display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px}.vehicle-row small{color:var(--muted)}.remove{border:1px solid #f3b7b1;background:#fff1f0;color:#b42318;border-radius:8px;padding:8px 10px}
.publish-row{grid-column:1/-1;display:flex;justify-content:flex-end}.publish{border:0;border-radius:10px;background:var(--blue);color:#fff;padding:13px 22px;font-weight:900}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(18px);background:#101828;color:#fff;padding:12px 16px;border-radius:10px;opacity:0;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.mobile-menu-btn{display:none;border:1px solid #2d3a49;background:#0a121d;color:#fff;border-radius:10px;padding:10px 12px;font-size:22px}
.mobile-panel{display:none;position:fixed;top:76px;left:0;right:0;background:#03070b;border-top:1px solid #1d2939;z-index:70;padding:14px}
.mobile-panel.show{display:grid;gap:8px}
.mobile-panel button{width:100%;border:0;border-radius:10px;padding:13px 14px;text-align:left;font-weight:800;background:#0c1724;color:#fff}
.mobile-panel button.active{background:#17335a;color:#5ca0ff}
@media(max-width:800px){
  .mobile-menu-btn{display:block}
  .header-actions{margin-left:auto}
  .lang-wrap{order:1}
  .mobile-menu-btn{order:2}
}


.photo-upload{grid-column:1/-1;border:1px solid #d7dee7;border-radius:12px;padding:14px;background:#fafcff}
.photo-upload label{display:block;font-size:12px;font-weight:800;margin-bottom:8px}
.photo-upload input[type=file]{width:100%}
.photo-help{font-size:12px;color:#667085;margin-top:7px}
.photo-previews{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.photo-preview{position:relative;height:110px;border-radius:10px;overflow:hidden;background:#eef2f6;border:1px solid #dbe2ea}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-preview button{position:absolute;right:5px;top:5px;width:26px;height:26px;border:0;border-radius:50%;background:#101828cc;color:#fff;font-size:16px;line-height:1}
.photo-count{font-size:12px;font-weight:800;color:#344054;margin-top:8px}
@media(max-width:560px){.photo-previews{grid-template-columns:1fr 1fr}.photo-preview{height:130px}}


/* Supabase Authentication */
.auth-modal{position:fixed;inset:0;background:rgba(0,0,0,.68);display:grid;place-items:center;padding:18px;z-index:120}.auth-modal.hidden{display:none}.auth-card{width:min(440px,100%);background:#fff;border-radius:20px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.35);position:relative}.auth-close{position:absolute;right:13px;top:9px;border:0;background:transparent;font-size:30px;color:#344054}.auth-card h2{margin:0 0 6px;font-size:28px}.auth-card>p{color:#667085;margin:0 0 18px;line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.auth-tabs button{border:1px solid #d0d5dd;background:#fff;border-radius:10px;padding:10px;font-weight:800}.auth-tabs button.active{background:#eaf2ff;border-color:#8ab5ff;color:#0d5ae8}.auth-form{display:grid;gap:12px}.auth-form label{font-size:12px;font-weight:800;color:#344054}.auth-form input,.auth-form select{width:100%;margin-top:6px;padding:12px;border:1px solid #d0d5dd;border-radius:10px;outline:0}.auth-submit{border:0;border-radius:10px;background:#1168ff;color:#fff;padding:13px;font-weight:900}
.auth-helper-row{display:flex;justify-content:flex-end;margin-top:-3px}
.auth-link-btn{border:0;background:transparent;color:#0d5ae8;padding:2px 0;font:inherit;font-size:12px;font-weight:900;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.auth-secondary{border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#344054;padding:12px;font-weight:900;cursor:pointer}
.auth-secondary:hover{background:#f9fafb}
.auth-or{
  display:flex;
  align-items:center;
  gap:10px;
  margin:2px 0;
  color:#98a2b3;
  font-size:11px;
  font-weight:850;
}
.auth-or::before,.auth-or::after{
  content:"";
  height:1px;
  background:#eaecf0;
  flex:1;
}
.google-auth-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  color:#101828;
  padding:12px 14px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
.google-auth-btn:hover{
  background:#f9fafb;
  border-color:#98a2b3;
}
.google-auth-btn:disabled{
  opacity:.6;
  cursor:not-allowed;
}
.google-g{
  width:22px;
  height:22px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #eaecf0;
  color:#4285f4;
  font-size:15px;
  font-family:Arial,sans-serif;
  font-weight:900;
  line-height:1;
}
.google-auth-note{
  color:#667085;
  font-size:10px;
  line-height:1.45;
  text-align:center;
  margin-top:-2px;
}

.auth-legal-consent{display:flex!important;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid #d0d5dd;border-radius:10px;background:#f9fafb;font-size:11px!important;line-height:1.45;color:#344054;font-weight:700!important}
.auth-legal-consent input{width:auto!important;margin:2px 0 0!important;flex:0 0 auto}
.auth-legal-consent span{display:block}
.auth-legal-link{border:0;background:transparent;color:#0d5ae8;padding:0;font:inherit;font-weight:900;cursor:pointer;text-decoration:underline;text-underline-offset:2px}

.password-rule{font-size:11px;color:#667085;line-height:1.45;margin-top:-4px}
.auth-msg{font-size:13px;line-height:1.5;border-radius:10px;padding:11px 12px;margin-top:12px;display:none}.auth-msg.show{display:block}.auth-msg.ok{background:#ecfdf3;color:#027a48}.auth-msg.err{background:#fef3f2;color:#b42318}.user-chip{display:none;align-items:center;gap:9px;color:#fff;font-size:13px;font-weight:800;background:#0c1724;border:1px solid #304156;border-radius:10px;padding:9px 12px}.user-chip.show{display:flex}.logout-btn{border:0;background:transparent;color:#a7c7ff;font-weight:800;padding:0}@media(max-width:800px){.user-chip.show{display:none}}



/* ===== V17: dashboard prenotazioni ===== */
.booking-dashboard{background:#f6f8fb;min-height:calc(100vh - 90px);padding:42px 24px 70px}
.booking-dashboard-inner{max-width:1180px;margin:0 auto}
.booking-dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}
.booking-dashboard-head h1{margin:4px 0 0;font-size:38px;letter-spacing:-1.2px}
.booking-dashboard-head p{margin:8px 0 0;color:#667085}
.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.dashboard-stat{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:18px}
.dashboard-stat span{display:block;color:#667085;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.dashboard-stat strong{display:block;margin-top:7px;font-size:28px}
.booking-panel{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:20px;margin-top:18px}
.booking-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.booking-panel-head h2{margin:0;font-size:22px}
.booking-list{display:grid;gap:12px}
.booking-item{display:grid;grid-template-columns:92px 1fr auto;gap:14px;align-items:center;border:1px solid #e4e7ec;border-radius:14px;padding:12px;background:#fff}
.booking-photo{width:92px;height:78px;border-radius:11px;overflow:hidden;background:#eef2f7}
.booking-photo img{width:100%;height:100%;object-fit:cover}
.booking-photo-empty{height:100%;display:grid;place-items:center;color:#98a2b3;font-size:12px}
.booking-main h3{margin:0 0 5px;font-size:17px}
.booking-main p{margin:3px 0;color:#667085;font-size:13px}
.booking-side{text-align:right;min-width:150px}
.booking-total{font-size:19px;font-weight:900;margin-bottom:7px}
.status-badge{display:inline-block;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}
.status-confirmed{background:#ecfdf3;color:#027a48}
.status-pending{background:#fff7e6;color:#b54708}
.status-cancelled{background:#fef3f2;color:#b42318}
.status-completed{background:#eef4ff;color:#3538cd}
.payout-note{margin-top:6px;font-size:11px;color:#667085}
.empty-bookings{padding:24px;text-align:center;color:#667085;background:#f9fafb;border-radius:12px}
.account-bookings-btn{display:none}
.account-bookings-btn.show{display:inline-flex}
@media(max-width:760px){
  .booking-dashboard{padding:26px 14px 55px}
  .booking-dashboard-head{align-items:flex-start;flex-direction:column}
  .booking-dashboard-head h1{font-size:30px}
  .dashboard-stats{grid-template-columns:1fr}
  .booking-item{grid-template-columns:74px 1fr}
  .booking-photo{width:74px;height:68px}
  .booking-side{grid-column:1/-1;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
}

/* ===== Scheda mezzo + calcolo prezzo ===== */
.detail-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:16px;z-index:140}
.detail-modal.hidden{display:none}
.detail-card{width:min(980px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.4);position:relative}
.detail-close{position:sticky;float:right;right:14px;top:10px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:#101828dd;color:#fff;font-size:24px}
.detail-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:0}
.detail-gallery{padding:18px;background:#f7f8fa;border-radius:22px 0 0 22px}
.detail-main-photo{height:420px;border-radius:16px;overflow:hidden;background:#e9eef5}
.detail-main-photo img{width:100%;height:100%;object-fit:cover}
.detail-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.detail-thumb{height:78px;border-radius:10px;overflow:hidden;border:2px solid transparent;background:#e9eef5;padding:0}
.detail-thumb.active{border-color:#1168ff}
.detail-thumb img{width:100%;height:100%;object-fit:cover}
.detail-info{padding:30px}
.detail-info h2{font-size:32px;letter-spacing:-1px;margin:6px 0 6px}
.detail-location{color:#667085;margin-bottom:14px}
.detail-price-day{font-size:30px;font-weight:900;color:#1168ff;margin:16px 0}
.detail-price-day small{font-size:13px;color:#667085;font-weight:700}
.detail-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.detail-meta{background:#f7f8fa;border-radius:11px;padding:11px;font-size:13px}
.detail-description{color:#667085;line-height:1.6;margin:18px 0}
.booking-box{border-top:1px solid #e4e7ec;margin-top:20px;padding-top:20px}
.booking-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.booking-dates label{font-size:12px;font-weight:800;color:#344054}
.booking-dates input{width:100%;margin-top:6px;padding:12px;border:1px solid #d0d5dd;border-radius:10px}
.price-summary{margin-top:14px;background:#f5f8ff;border:1px solid #d6e3ff;border-radius:12px;padding:14px}
.price-line{display:flex;justify-content:space-between;gap:20px;padding:5px 0}
.price-line.total{font-size:20px;font-weight:900;border-top:1px solid #c7d7f5;margin-top:7px;padding-top:11px}
.availability-note{font-size:12px;margin-top:9px;color:#667085}
.availability-note.ok{color:#027a48}.availability-note.bad{color:#b42318}
.book-btn{width:100%;margin-top:14px;border:0;border-radius:11px;background:#1168ff;color:#fff;padding:14px;font-weight:900}
.book-btn:disabled{background:#98a2b3;cursor:not-allowed}
@media(max-width:800px){
  .detail-layout{grid-template-columns:1fr}
  .detail-gallery{border-radius:22px 22px 0 0}
  .detail-main-photo{height:310px}
}
@media(max-width:520px){
  .detail-info{padding:20px}
  .detail-info h2{font-size:27px}
  .booking-dates{grid-template-columns:1fr}
  .detail-main-photo{height:250px}
  .detail-thumb{height:62px}
}

@media(max-width:1000px){nav{gap:20px}.search-panel{grid-template-columns:1fr 1fr}.vehicle-grid{grid-template-columns:1fr 1fr}.form-zone{grid-template-columns:1fr}.vehicle-form{grid-template-columns:1fr 1fr}}
@media(max-width:800px){header{height:76px;padding:0 14px}.logo{min-width:auto}.logo img{width:190px}nav,.ghost,.primary.register{display:none}.header-actions{margin-left:auto}.workspace{grid-template-columns:1fr;padding:0 14px 30px}.sidebar{display:none}}
@media(max-width:560px){.search-panel{grid-template-columns:1fr}.benefits,.vehicle-grid{grid-template-columns:1fr}.results-head{flex-direction:column;align-items:flex-start}.vehicle-form{grid-template-columns:1fr}.field.span2{grid-column:1}.owner-hero h1{font-size:34px}}

/* ===== V19: Stripe Connect proprietari ===== */
.stripe-connect-card{background:#fff;border:1px solid #dfe5ec;border-radius:18px;padding:18px;margin:0 0 18px;box-shadow:0 8px 22px rgba(16,24,40,.06)}
.stripe-connect-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.stripe-connect-copy h3{margin:0 0 5px;font-size:19px}
.stripe-connect-copy p{margin:0;color:#667085;font-size:13px;line-height:1.45}
.stripe-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;margin-top:10px}
.stripe-status.wait{background:#fff7e6;color:#b54708}
.stripe-status.ok{background:#ecfdf3;color:#027a48}
.stripe-status.off{background:#f2f4f7;color:#475467}
.stripe-connect-btn{border:0;border-radius:12px;padding:12px 16px;font-weight:900;cursor:pointer;background:#635bff;color:#fff;min-width:220px}
.stripe-connect-btn:disabled{opacity:.55;cursor:not-allowed}
.stripe-mini{font-size:11px;color:#98a2b3;margin-top:7px}
@media(max-width:760px){.stripe-connect-row{align-items:stretch}.stripe-connect-btn{width:100%}}


/* ===== V20: Policy aziendale / Termini MovRentGo ===== */
.policy-consent{
  display:flex;align-items:flex-start;gap:10px;margin:12px 0 14px;padding:12px 13px;
  border:1px solid #d9e2ec;border-radius:12px;background:#f8fafc;
  font-size:12px;line-height:1.45;color:#475467
}
.policy-consent input{margin-top:2px;flex:0 0 auto;width:17px;height:17px}
.policy-link{
  padding:0;border:0;background:none;color:#1769ff;font:inherit;font-weight:800;
  text-decoration:underline;cursor:pointer
}
.policy-fab{
  position:fixed;left:16px;bottom:16px;z-index:8700;border:1px solid rgba(255,255,255,.18);
  background:#111827;color:#fff;border-radius:999px;padding:10px 14px;font-size:12px;
  font-weight:900;box-shadow:0 8px 26px rgba(0,0,0,.25);cursor:pointer
}
.policy-modal{
  position:fixed;inset:0;z-index:12000;background:rgba(15,23,42,.72);
  display:flex;align-items:center;justify-content:center;padding:18px
}
.policy-modal.hidden{display:none}
.policy-card{
  width:min(940px,100%);max-height:92vh;background:#fff;border-radius:22px;overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.35);display:flex;flex-direction:column
}
.policy-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 14px;
  border-bottom:1px solid #e4e7ec
}
.policy-head h2{margin:0 0 5px;font-size:24px;color:#101828}
.policy-head p{margin:0;color:#667085;font-size:12px;line-height:1.45}
.policy-close{
  border:0;background:#f2f4f7;width:38px;height:38px;border-radius:50%;font-size:24px;
  cursor:pointer;color:#344054
}
.policy-tabs{
  display:flex;gap:8px;padding:12px 22px;border-bottom:1px solid #e4e7ec;background:#f8fafc;
  overflow:auto
}
.policy-tab{
  border:1px solid #d0d5dd;background:#fff;border-radius:999px;padding:9px 13px;
  font-weight:900;font-size:12px;cursor:pointer;white-space:nowrap
}
.policy-tab.active{background:#1769ff;color:#fff;border-color:#1769ff}
.policy-body{overflow:auto;padding:20px 24px 26px;color:#344054;line-height:1.58;font-size:13px}
.policy-body h3{color:#101828;margin:22px 0 7px;font-size:17px}
.policy-body h3:first-child{margin-top:0}
.policy-body h4{color:#101828;margin:16px 0 5px;font-size:14px}
.policy-body p{margin:0 0 10px}
.policy-body ul{margin:6px 0 12px 20px;padding:0}
.policy-body li{margin:5px 0}
.policy-alert{
  border:1px solid #fdb022;background:#fffaeb;color:#7a2e0e;border-radius:12px;
  padding:12px 14px;margin-bottom:16px;font-size:12px
}
.policy-info{
  border:1px solid #b2ddff;background:#eff8ff;color:#1849a9;border-radius:12px;
  padding:12px 14px;margin:12px 0;font-size:12px
}
.policy-panel{display:none}
.policy-panel.active{display:block}
.policy-meta{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:#667085;font-size:11px
}
.policy-chip{background:#f2f4f7;border-radius:999px;padding:5px 8px}
.policy-footer{
  border-top:1px solid #e4e7ec;padding:12px 22px;display:flex;justify-content:flex-end;
  background:#fff
}
.policy-ok{
  border:0;background:#1769ff;color:#fff;border-radius:11px;padding:11px 18px;
  font-weight:900;cursor:pointer
}
@media(max-width:700px){
  .policy-modal{padding:8px}
  .policy-card{max-height:96vh;border-radius:16px}
  .policy-head{padding:16px}
  .policy-tabs{padding:10px 16px}
  .policy-body{padding:16px}
  .policy-fab{left:10px;bottom:10px}
}


/* ===== V21: Dashboard economica proprietario ===== */
.owner-finance-section{
  background:linear-gradient(135deg,#0f172a,#182b4d);
  color:#fff;border-radius:22px;padding:22px;margin:0 0 22px;
  box-shadow:0 18px 45px rgba(15,23,42,.16)
}
.owner-finance-section[hidden]{display:none!important}
.owner-finance-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px
}
.owner-finance-head h2{margin:3px 0 5px;font-size:25px}
.owner-finance-head p{margin:0;color:#cbd5e1;font-size:12px;line-height:1.5}
.owner-finance-badge{
  display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:8px 11px;
  font-size:11px;font-weight:900;white-space:nowrap
}
.owner-finance-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:10px
}
.owner-finance-stat{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
  border-radius:15px;padding:14px
}
.owner-finance-stat span{
  display:block;color:#cbd5e1;font-size:10px;font-weight:900;text-transform:uppercase;
  letter-spacing:.55px;min-height:28px
}
.owner-finance-stat strong{
  display:block;margin-top:7px;font-size:22px;letter-spacing:-.3px
}
.owner-finance-stat small{display:block;color:#94a3b8;margin-top:4px;font-size:10px}
.owner-finance-note{
  margin-top:13px;color:#cbd5e1;font-size:11px;line-height:1.5
}
.owner-money-breakdown{
  margin-top:8px;display:flex;gap:7px;flex-wrap:wrap
}
.owner-money-chip{
  border-radius:999px;padding:5px 8px;background:#f2f4f7;color:#475467;
  font-size:10px;font-weight:800
}
.owner-money-chip.owner{background:#ecfdf3;color:#027a48}
.owner-money-chip.fee{background:#fff7e6;color:#b54708}
.transfer-badge{
  display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;
  margin-top:7px;font-size:10px;font-weight:900
}
.transfer-not_released{background:#fff7e6;color:#b54708}
.transfer-ready{background:#eef4ff;color:#3538cd}
.transfer-transferred{background:#ecfdf3;color:#027a48}
.transfer-failed{background:#fef3f2;color:#b42318}
.transfer-na{background:#f2f4f7;color:#667085}
.transfer-date{display:block;margin-top:4px;font-size:10px;color:#667085}
@media(max-width:980px){
  .owner-finance-grid{grid-template-columns:repeat(2,1fr)}
  .owner-finance-stat:last-child{grid-column:1/-1}
}
@media(max-width:560px){
  .owner-finance-section{padding:16px;border-radius:17px}
  .owner-finance-head{flex-direction:column}
  .owner-finance-grid{grid-template-columns:1fr 1fr}
  .owner-finance-stat:last-child{grid-column:1/-1}
  .owner-finance-stat strong{font-size:19px}
}


/* ===== V22: Calendario prenotazioni con date occupate ===== */
.calendar-input{
  width:100%;min-height:48px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;
  padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  font:inherit;color:#101828;cursor:pointer;text-align:left
}
.calendar-input:hover{border-color:#84adff}
.calendar-input .cal-placeholder{color:#98a2b3}
.calendar-input .cal-value{font-weight:800}
.calendar-legend{
  display:flex;gap:13px;flex-wrap:wrap;margin:-2px 0 14px;color:#667085;font-size:11px
}
.calendar-legend span{display:inline-flex;align-items:center;gap:6px}
.calendar-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}
.calendar-legend .leg-free{background:#fff;border:1px solid #d0d5dd}
.calendar-legend .leg-booked{background:#fee4e2;border:1px solid #f97066}
.calendar-legend .leg-selected{background:#1769ff}
.booking-calendar-modal{
  position:fixed;inset:0;z-index:14000;background:rgba(15,23,42,.72);
  display:flex;align-items:center;justify-content:center;padding:14px
}
.booking-calendar-modal.hidden{display:none}
.booking-calendar-card{
  width:min(430px,100%);background:#fff;border-radius:22px;overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.4)
}
.booking-calendar-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:16px 17px;border-bottom:1px solid #eaecf0
}
.booking-calendar-head h3{margin:0;font-size:18px;color:#101828}
.booking-calendar-close{
  width:36px;height:36px;border:0;border-radius:50%;background:#f2f4f7;
  font-size:22px;color:#344054;cursor:pointer
}
.booking-calendar-nav{
  display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;
  padding:13px 16px 8px
}
.booking-calendar-nav button{
  width:40px;height:40px;border:1px solid #d0d5dd;background:#fff;border-radius:10px;
  font-size:20px;cursor:pointer
}
.booking-calendar-month{text-align:center;font-weight:900;color:#101828;font-size:16px}
.booking-calendar-weekdays,
.booking-calendar-grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:0 14px
}
.booking-calendar-weekdays{padding-top:5px;padding-bottom:6px}
.booking-calendar-weekdays div{
  text-align:center;font-size:10px;color:#667085;font-weight:900
}
.booking-calendar-grid{padding-bottom:10px}
.booking-calendar-day{
  position:relative;aspect-ratio:1;border:0;border-radius:12px;background:#fff;color:#101828;
  font-weight:800;cursor:pointer;font-size:13px
}
.booking-calendar-day:hover:not(:disabled){background:#eff8ff}
.booking-calendar-day.today{box-shadow:inset 0 0 0 1px #84adff}
.booking-calendar-day.selected{background:#1769ff!important;color:#fff}
.booking-calendar-day.in-range{background:#eff8ff}
.booking-calendar-day:disabled{cursor:not-allowed;color:#b2b8c3;background:#f8fafc}
.booking-calendar-day.booked{
  color:#b42318!important;background:#fee4e2!important;text-decoration:line-through;
  box-shadow:inset 0 0 0 1px #fda29b
}
.booking-calendar-day.booked::after{
  content:"";position:absolute;bottom:5px;left:50%;transform:translateX(-50%);
  width:5px;height:5px;border-radius:50%;background:#d92d20
}
.booking-calendar-day.outside{background:#f8fafc;color:#d0d5dd}
.booking-calendar-message{
  min-height:34px;padding:5px 17px 11px;font-size:11px;color:#667085;line-height:1.45
}
.booking-calendar-message strong{color:#b42318}
.booking-calendar-foot{
  border-top:1px solid #eaecf0;padding:12px 16px;display:flex;justify-content:space-between;
  align-items:center;gap:10px;font-size:11px;color:#667085
}
.booking-calendar-foot button{
  border:0;background:none;color:#1769ff;font-weight:900;cursor:pointer
}
@media(max-width:520px){
  .booking-calendar-modal{padding:7px}
  .booking-calendar-card{border-radius:18px}
  .booking-calendar-day{border-radius:10px;font-size:14px}
}


/* ===== V23: Regole di ritiro e riconsegna ===== */
.rental-rules-card{
  margin:16px 0 14px;padding:16px;border:1px solid #d0d5dd;border-radius:16px;
  background:#f8fafc;color:#344054
}
.rental-rules-card h3{margin:0 0 10px;font-size:17px;color:#101828}
.rental-rules-card p{margin:0 0 10px;font-size:12px;line-height:1.5;color:#667085}
.rental-rules-list{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.rental-rules-list li{
  display:flex;gap:10px;align-items:flex-start;padding:10px 11px;background:#fff;
  border:1px solid #eaecf0;border-radius:12px;font-size:12px;line-height:1.45
}
.rental-rules-list .rule-icon{font-size:17px;line-height:1.1;flex:0 0 auto}
.rental-rules-accept{
  display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:11px 12px;
  border-radius:12px;background:#eef4ff;border:1px solid #b2ccff;font-size:12px;
  line-height:1.45;color:#3538cd
}
.rental-rules-accept input{width:17px;height:17px;margin-top:1px;flex:0 0 auto}


/* ===== V24: Località predefinite città + aeroporti italiani ===== */
.location-field-wrap{position:relative}
.location-input{cursor:pointer!important;background:#fff!important;padding-right:38px!important}
.location-input-icon{position:absolute;right:12px;bottom:13px;pointer-events:none;color:#667085;font-size:16px}
.location-picker-modal{position:fixed;inset:0;z-index:15000;background:rgba(15,23,42,.72);display:flex;align-items:center;justify-content:center;padding:14px}
.location-picker-modal.hidden{display:none}
.location-picker-card{width:min(660px,100%);max-height:88vh;background:#fff;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 32px 90px rgba(0,0,0,.4)}
.location-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 12px;border-bottom:1px solid #eaecf0}
.location-picker-head h3{margin:0 0 4px;color:#101828;font-size:21px}
.location-picker-head p{margin:0;color:#667085;font-size:11px;line-height:1.45}
.location-picker-close{width:38px;height:38px;border:0;border-radius:50%;background:#f2f4f7;color:#344054;font-size:23px;cursor:pointer;flex:0 0 auto}
.location-picker-search{padding:13px 18px;border-bottom:1px solid #eaecf0;background:#f8fafc}
.location-picker-search input{width:100%;min-height:46px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;padding:10px 13px;font:inherit;color:#101828;outline:none}
.location-picker-search input:focus{border-color:#1769ff;box-shadow:0 0 0 3px rgba(23,105,255,.12)}
.location-picker-list{overflow:auto;padding:8px 10px 16px}
.location-group-title{position:sticky;top:0;z-index:1;background:#fff;padding:11px 8px 7px;color:#667085;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}
.location-option{width:100%;border:0;background:#fff;border-radius:13px;padding:11px 12px;display:flex;align-items:flex-start;gap:11px;text-align:left;cursor:pointer;color:#101828}
.location-option:hover,.location-option:focus{background:#f2f7ff;outline:none}
.location-option.selected{background:#eef4ff}
.location-option-icon{width:34px;height:34px;border-radius:10px;background:#f2f4f7;display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto}
.location-option.airport .location-option-icon{background:#eff8ff}
.location-option-main{min-width:0;flex:1}
.location-option-title{display:block;font-size:13px;font-weight:900;line-height:1.35}
.location-option-sub{display:block;margin-top:3px;color:#667085;font-size:10px;line-height:1.35}
.location-option-code{flex:0 0 auto;margin-top:4px;background:#f2f4f7;border-radius:999px;padding:4px 7px;color:#475467;font-size:9px;font-weight:900}
.location-empty{padding:30px 18px;text-align:center;color:#667085;font-size:12px}
.location-picker-foot{border-top:1px solid #eaecf0;padding:10px 18px;background:#fff;color:#667085;font-size:10px;line-height:1.45}
@media(max-width:620px){.location-picker-modal{padding:7px}.location-picker-card{max-height:94vh;border-radius:17px}.location-picker-head{padding:15px}.location-picker-search{padding:10px 15px}.location-option{padding:10px}}


/* ===== V25: Distanza dal punto scelto al ritiro ===== */
.pickup-address-help{
  margin-top:5px;color:#667085;font-size:10px;line-height:1.4
}
.detail-distance-card{
  margin:10px 0 14px;padding:13px 14px;border:1px solid #b2ddff;border-radius:14px;
  background:#eff8ff;color:#1849a9
}
.detail-distance-card.loading{background:#f8fafc;border-color:#eaecf0;color:#667085}
.detail-distance-card.error{background:#fffaeb;border-color:#fedf89;color:#93370d}
.detail-distance-title{
  display:flex;align-items:center;gap:7px;font-size:12px;font-weight:900;margin-bottom:5px
}
.detail-distance-main{
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap
}
.detail-distance-main strong{font-size:22px;color:#101828}
.detail-distance-main span{font-size:12px;color:#475467}
.detail-distance-route{
  margin-top:5px;font-size:10px;line-height:1.4;color:#667085
}
.detail-distance-note{
  margin-top:6px;font-size:9px;color:#98a2b3;line-height:1.35
}


/* ===== V26: Mappa proprietario + posizione privata ===== */
.private-location-box{grid-column:1/-1;border:1px solid #d0d5dd;border-radius:16px;padding:14px;background:#f8fafc}
.private-location-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.private-location-head h3{margin:0 0 4px;font-size:15px;color:#101828}
.private-location-head p{margin:0;font-size:10px;line-height:1.45;color:#667085}
.private-location-lock{flex:0 0 auto;border-radius:999px;padding:6px 9px;background:#ecfdf3;color:#027a48;font-size:9px;font-weight:900}
#ownerPickupMap{width:100%;height:300px;border-radius:14px;border:1px solid #d0d5dd;background:#e9eef5;overflow:hidden}
.owner-map-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.owner-map-actions button{border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:10px;padding:9px 11px;font-size:10px;font-weight:900;cursor:pointer}
.owner-map-actions button.primary{background:#1769ff;border-color:#1769ff;color:#fff}
.owner-map-status{margin-top:8px;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #eaecf0;font-size:10px;line-height:1.45;color:#667085}
.owner-map-status.ok{background:#ecfdf3;border-color:#abefc6;color:#027a48}
.owner-map-status.bad{background:#fffaeb;border-color:#fedf89;color:#93370d}
.leaflet-control-attribution{font-size:9px!important}
@media(max-width:620px){#ownerPickupMap{height:270px}.private-location-head{flex-direction:column}}


/* ===== MovRentGo V86: Mappa pubblica collegata ai risultati ===== */
.marketplace-map-shell{
  margin:0 0 22px;
  overflow:hidden;
  border:1px solid #d0d5dd;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px rgba(16,24,40,.08);
}
.marketplace-map-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 17px;
  border-bottom:1px solid #eaecf0;
  background:linear-gradient(135deg,#fff,#f8fbff);
}
.marketplace-map-copy{min-width:0}
.marketplace-map-copy strong{
  display:block;
  margin-bottom:3px;
  color:#101828;
  font-size:15px;
}
.marketplace-map-status{
  color:#667085;
  font-size:11px;
  line-height:1.45;
}
.marketplace-map-status.error{color:#b42318}
.marketplace-map-privacy{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid #abefc6;
  border-radius:999px;
  background:#ecfdf3;
  color:#027a48;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.marketplace-results-map{
  position:relative;
  isolation:isolate;
  z-index:0;
  width:100%;
  height:420px;
  background:#e9eef5;
}
.marketplace-map-marker-wrap{
  display:flex!important;
  align-items:center;
  justify-content:center;
  border:0!important;
  background:transparent!important;
}
.marketplace-map-marker{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:3px solid #fff;
  border-radius:50% 50% 50% 12px;
  background:#1168ff;
  box-shadow:0 8px 20px rgba(16,24,40,.30);
  color:#fff;
  font-size:20px;
  line-height:1;
  transform:rotate(-45deg);
  transition:transform .16s ease,background .16s ease;
}
.marketplace-map-marker span{transform:rotate(45deg)}
.marketplace-map-marker.nautica{background:#087eb4}
.marketplace-map-marker.active{
  z-index:2;
  background:#f04438;
  transform:rotate(-45deg) scale(1.14);
}
.nautical-port-marker-wrap{
  display:flex!important;
  align-items:center;
  justify-content:center;
  border:0!important;
  background:transparent!important;
}
.nautical-port-marker{
  position:relative;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:2px solid #087eb4;
  border-radius:50%;
  background:#fff;
  color:#087eb4;
  box-shadow:0 5px 15px rgba(16,24,40,.20);
  font-size:11px;
  font-weight:900;
  transition:transform .15s ease,background .15s ease,color .15s ease;
}
.nautical-port-marker.has-listings{
  width:38px;
  height:38px;
  border:3px solid #fff;
  background:#087eb4;
  color:#fff;
  box-shadow:0 8px 20px rgba(8,126,180,.32);
}
.nautical-port-marker.selected{outline:3px solid rgba(17,104,255,.24);outline-offset:2px}
.nautical-port-marker.active{transform:scale(1.16);background:#f04438;color:#fff;border-color:#fff}
.nautical-port-count{
  position:absolute;
  top:-8px;
  right:-8px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:999px;
  background:#1168ff;
  color:#fff;
  font-size:9px;
  line-height:1;
  font-weight:900;
}

/* V93.5.0.6 · cluster porti Nautica: leggibili a scala Italia, progressivi allo zoom */
.nautical-cluster-wrap{
  display:flex!important;
  align-items:center;
  justify-content:center;
  border:0!important;
  background:transparent!important;
}
.nautical-cluster{
  position:relative;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:3px solid #fff;
  border-radius:50%;
  background:#e7f6fb;
  color:#087eb4;
  box-shadow:0 8px 22px rgba(16,24,40,.24);
  font-size:15px;
  font-weight:950;
  line-height:1;
}
.nautical-cluster.has-listings{
  width:52px;
  height:52px;
  background:#087eb4;
  color:#fff;
  box-shadow:0 9px 24px rgba(8,126,180,.34);
}
.nautical-cluster small{
  position:absolute;
  left:50%;
  bottom:-9px;
  transform:translateX(-50%);
  min-width:max-content;
  padding:3px 6px;
  border:2px solid #fff;
  border-radius:999px;
  background:#1168ff;
  color:#fff;
  font-size:8px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
@media(max-width:700px){
  .nautical-cluster{width:42px;height:42px;font-size:14px}
  .nautical-cluster.has-listings{width:48px;height:48px}
}
.nautical-port-popup{width:260px}
.nautical-port-popup h3{margin:0 0 4px;color:#101828;font-size:15px;line-height:1.25}
.nautical-port-popup .port-sub{margin:0 0 9px;color:#667085;font-size:10px}
.nautical-port-popup .port-availability{margin:0 0 9px;padding:7px 9px;border-radius:9px;background:#eff8ff;color:#175cd3;font-size:10px;font-weight:800}
.nautical-port-listings{display:grid;gap:7px;margin-top:8px}
.nautical-port-listing{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #eaecf0}
.nautical-port-listing:first-child{border-top:0}
.nautical-port-listing-copy{min-width:0}
.nautical-port-listing-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#101828;font-size:11px}
.nautical-port-listing-copy small{display:block;color:#667085;font-size:9px;margin-top:2px}
.nautical-port-listing button,.nautical-port-empty button{border:0;border-radius:8px;padding:7px 9px;background:#1168ff;color:#fff;font-size:9px;font-weight:900;white-space:nowrap}
.nautical-port-empty{display:grid;gap:8px;color:#667085;font-size:10px;line-height:1.4}
.marketplace-map-popup{width:210px}
.marketplace-map-popup-img{
  width:100%;
  height:105px;
  margin-bottom:9px;
  overflow:hidden;
  border-radius:10px;
  background:#eaf2ff;
}
.marketplace-map-popup-img img{display:block;width:100%;height:100%;object-fit:cover}
.marketplace-map-popup-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:42px}
.marketplace-map-popup h3{margin:0 0 5px;color:#101828;font-size:14px;line-height:1.25}
.marketplace-map-popup p{margin:0 0 8px;color:#667085;font-size:10px;line-height:1.4}
.marketplace-map-popup-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}
.marketplace-map-popup-bottom strong{color:#101828;font-size:14px}
.marketplace-map-popup-bottom button{
  border:0;
  border-radius:9px;
  padding:8px 10px;
  background:#1168ff;
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.vehicle-card.map-linked-active,.nautica-real-card.map-linked-active{
  border-color:#1168ff;
  box-shadow:0 0 0 3px rgba(17,104,255,.14),0 14px 32px rgba(16,24,40,.12);
}
@media(max-width:620px){
  .marketplace-map-head{align-items:flex-start;flex-direction:column;gap:9px;padding:13px 14px}
  .marketplace-map-privacy{white-space:normal}
  .marketplace-results-map{height:330px}
}


/* ===== V27: Barra ricerca mobile a colore unico ===== */
/* Solo la ricerca cliente: non modifica i campi chiari dell'area proprietario */
.search-panel > label{
  background:rgba(255,255,255,.08)!important;
  overflow:hidden;
}

/* Località: elimina rettangolo e fascia bianca laterale Android/Chrome */
.search-panel .location-field-wrap .location-input{
  display:block;
  width:100%;
  min-height:28px;
  padding:0 28px 0 0!important;
  margin:0;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  background-color:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  font:inherit;
  font-size:15px;
  cursor:pointer!important;
}

/* Freccia integrata nello stesso sfondo, senza blocco laterale */
.search-panel .location-field-wrap .location-input-icon{
  right:13px!important;
  bottom:12px!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#d8e1ec!important;
  font-size:16px!important;
  line-height:1!important;
}

/* Date: stesso colore pieno anche nella zona dell'icona calendario */
.search-panel input[type="date"]{
  display:block;
  width:100%;
  min-height:28px;
  margin:0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  background-color:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  color-scheme:dark;
}

.search-panel input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:.85;
  cursor:pointer;
  filter:none;
  background-color:transparent!important;
}

/* Evita sfondi automatici bianchi del browser */
.search-panel input:-webkit-autofill,
.search-panel input:-webkit-autofill:hover,
.search-panel input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px transparent inset!important;
  transition:background-color 9999s ease-out 0s;
}

/* Mobile: i tre campi hanno esattamente lo stesso blocco visivo */
@media(max-width:560px){
  .search-panel > label{
    min-height:88px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .search-panel .location-field-wrap .location-input,
  .search-panel input[type="date"]{
    font-size:15px!important;
  }
}


/* ===== V28: Distanza visibile già nei risultati ===== */
.vehicle-distance{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:7px;
  padding:6px 9px;
  border-radius:999px;
  background:#eff8ff;
  color:#175cd3;
  font-size:11px;
  font-weight:900;
  line-height:1.2
}
.vehicle-distance.unavailable{
  background:#f2f4f7;
  color:#667085;
  font-weight:700
}


/* ===== V29: Rimozione annuncio protetta da prenotazioni ===== */
.vehicle-row.inactive{
  opacity:.72;
  background:#f8fafc;
}
.owner-vehicle-status{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:7px;
}
.owner-status-pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  line-height:1.2;
}
.owner-status-live{background:#ecfdf3;color:#027a48}
.owner-status-locked{background:#fff7e6;color:#b54708}
.owner-status-removed{background:#f2f4f7;color:#667085}
.owner-status-pending{background:#eef4ff;color:#3538cd}
.remove:disabled{
  cursor:not-allowed;
  opacity:.55;
  background:#f2f4f7!important;
  border-color:#d0d5dd!important;
  color:#667085!important;
}
.owner-remove-note{
  display:block;
  margin-top:6px;
  max-width:460px;
  color:#667085;
  font-size:9px;
  line-height:1.4
}
.owner-listing-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.owner-listing-actions button{border-radius:10px;padding:9px 12px;font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.owner-listing-actions .edit{border:1px solid #b2ccff;background:#eff8ff;color:#175cd3}
.owner-listing-actions .remove{border:1px solid #fda29b;background:#fff1f0;color:#b42318}
.owner-listing-actions button:disabled{cursor:not-allowed;opacity:.55;background:#f2f4f7!important;border-color:#d0d5dd!important;color:#667085!important}
.owner-listing-protected{display:block;margin-top:8px;color:#b54708;font-size:10px;font-weight:800;line-height:1.4}

.owner-edit-modal{position:fixed;inset:0;z-index:19000;background:rgba(15,23,42,.76);display:flex;align-items:center;justify-content:center;padding:16px}
.owner-edit-modal.hidden{display:none!important}
.owner-edit-card{position:relative;width:min(760px,100%);max-height:92vh;overflow:auto;border-radius:22px;background:#fff;padding:24px;box-shadow:0 32px 100px rgba(0,0,0,.38)}
.owner-edit-close{position:absolute;right:13px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#f2f4f7;color:#101828;font-size:25px;cursor:pointer}
.owner-edit-card h2{margin:0 50px 4px 0;color:#101828;font-size:26px}
.owner-edit-sub{margin:0 0 18px;color:#667085;font-size:12px;line-height:1.5}
.owner-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.owner-edit-grid label{display:flex;flex-direction:column;gap:6px;color:#344054;font-size:11px;font-weight:900}
.owner-edit-grid label.full{grid-column:1/-1}
.owner-edit-grid input,.owner-edit-grid textarea{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:11px;background:#fff;padding:11px 12px;color:#101828;font:inherit;outline:0}
.owner-edit-grid textarea{min-height:120px;resize:vertical}
.owner-edit-grid input:focus,.owner-edit-grid textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(41,112,255,.1)}
.owner-edit-fields{display:contents}
.owner-edit-fields.hidden{display:none!important}
.owner-edit-note{margin:15px 0 0;padding:11px 12px;border:1px solid #b2ddff;border-radius:12px;background:#eff8ff;color:#175cd3;font-size:11px;line-height:1.5}
.owner-edit-msg{min-height:18px;margin-top:11px;color:#b42318;font-size:11px;font-weight:800}
.owner-edit-submit{width:100%;margin-top:12px;border:0;border-radius:12px;background:#155eef;color:#fff;padding:13px 16px;font:inherit;font-weight:900;cursor:pointer}
.owner-edit-submit:disabled{opacity:.55;cursor:not-allowed}
/* ===== V93.0 · Editor completo Moto / E-bike ===== */
.owner-edit-card{width:min(940px,100%)}
.owner-edit-road-section{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border:1px solid #e4e7ec;border-radius:15px;background:#f9fafb}
.owner-edit-road-section.hidden{display:none!important}
.owner-edit-road-section .full{grid-column:1/-1}
.owner-edit-location-row,.owner-edit-address-row{display:flex;gap:8px;align-items:stretch}
.owner-edit-location-row input,.owner-edit-address-row input{flex:1;min-width:0}
.owner-edit-location-row button,.owner-edit-address-row button,.owner-edit-map-actions button{border:1px solid #b2ccff;border-radius:10px;background:#eff8ff;color:#175cd3;padding:9px 11px;font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.owner-edit-map-wrap{grid-column:1/-1}
.owner-edit-road-map{height:270px;border:1px solid #d0d5dd;border-radius:14px;overflow:hidden;background:#eef2f6}
.owner-edit-map-status{margin-top:7px;color:#667085;font-size:10px;line-height:1.45;font-weight:700}
.owner-edit-map-status.bad{color:#b42318}
.owner-edit-map-status.ok{color:#027a48}
.owner-edit-map-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.owner-edit-photo-manager{grid-column:1/-1;padding-top:3px}
.owner-edit-photo-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.owner-edit-photo-head strong{font-size:12px;color:#101828}
.owner-edit-photo-count{font-size:10px;font-weight:900;color:#475467}
.owner-edit-photo-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.owner-edit-photo-item{position:relative;border:1px solid #d0d5dd;border-radius:12px;background:#fff;overflow:hidden}
.owner-edit-photo-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f2f4f7}
.owner-edit-photo-controls{display:flex;gap:5px;padding:7px}
.owner-edit-photo-controls button{flex:1;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;padding:6px 5px;font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.owner-edit-photo-controls button.danger{border-color:#fda29b;background:#fff1f0;color:#b42318}
.owner-edit-photo-controls button:disabled{opacity:.35;cursor:not-allowed}
.owner-edit-photo-add{display:flex;align-items:center;justify-content:center;margin-top:9px;border:1px dashed #84adff;border-radius:11px;background:#eff8ff;color:#175cd3;padding:10px;font-size:11px;font-weight:900;cursor:pointer}
.owner-edit-photo-add input{display:none}
.owner-edit-photo-help{margin-top:7px;color:#667085;font-size:10px;line-height:1.45}
@media(max-width:620px){.owner-edit-card{padding:20px 14px;border-radius:17px}.owner-edit-grid{grid-template-columns:1fr}.owner-edit-grid label.full{grid-column:auto}.owner-listing-actions button{flex:1 1 calc(50% - 8px)}.owner-edit-road-section{grid-template-columns:1fr}.owner-edit-road-section .full,.owner-edit-map-wrap,.owner-edit-photo-manager{grid-column:auto}.owner-edit-photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-edit-location-row,.owner-edit-address-row{flex-direction:column}}


/* ===== V30: Il proprietario non può prenotare il proprio mezzo ===== */
.owner-own-listing-box{
  margin-top:18px;
  padding:18px;
  border:1px solid #b2ccff;
  border-radius:16px;
  background:#eef4ff;
  color:#3538cd;
}
.owner-own-listing-box h3{
  margin:0 0 7px;
  color:#101828;
  font-size:18px;
}
.owner-own-listing-box p{
  margin:0 0 12px;
  color:#475467;
  font-size:12px;
  line-height:1.5;
}
.owner-own-listing-box .btn{
  width:100%;
}


/* ===== V92.5: documento assicurativo Moto verificato dallo Staff ===== */
.rca-card.real-rca{
  border:1px solid #b2ccff;
  background:#f8fbff;
}
.rca-live-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:9px;
  padding:5px 8px;
  border-radius:999px;
  background:#eef4ff;
  color:#3538cd;
  font-size:9px;
  font-weight:900;
}
.rca-status-box{
  margin-top:14px;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid #eaecf0;
  background:#fff;
  font-size:11px;
  font-weight:800;
  line-height:1.45;
  color:#667085;
}
.rca-status-box.ok{
  background:#ecfdf3;
  border-color:#abefc6;
  color:#027a48;
}
.rca-status-box.bad{
  background:#fef3f2;
  border-color:#fecdca;
  color:#b42318;
}
.rca-status-box.wait{
  background:#fffaeb;
  border-color:#fedf89;
  color:#93370d;
}
.rca-status-box small{
  display:block;
  margin-top:4px;
  font-weight:700;
  opacity:.85;
}
.motor-insurance-upload{
  display:block;
  margin-top:14px;
  padding:12px;
  border:1px dashed #84adff;
  border-radius:12px;
  background:#fff;
}
.motor-insurance-upload label{
  display:block;
  margin-bottom:7px;
  color:#101828;
  font-size:12px;
  font-weight:900;
}
.motor-insurance-upload input{
  width:100%;
  color:#344054;
  font-size:11px;
}
.motor-insurance-help{
  margin-top:7px;
  color:#667085;
  font-size:10px;
  line-height:1.45;
}
.rca-btn:disabled,
.publish:disabled{
  opacity:.55;
  cursor:not-allowed;
}



/* ===== V33: sezione E-bike ===== */
.ebike-owner-card{display:none}
.ebike-owner-card.show{display:block}
.ebike-owner-card .ebike-box{border:1px solid #b7e4c7;background:#f1fff6;border-radius:16px;padding:16px}
.ebike-owner-card h3{margin:0 0 8px;color:#101828;font-size:17px}
.ebike-owner-card p{margin:6px 0;color:#475467;font-size:12px;line-height:1.5}
.ebike-owner-card .ebike-fee{margin-top:12px;padding:10px 12px;border-radius:12px;background:#0b1f33;color:#fff;font-weight:800;font-size:12px}
.ebike-owner-card .ebike-standard{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #d0d5dd;color:#344054;font-size:12px;line-height:1.45}
.ebike-field.hidden-ebike-field,.motor-field.hidden-motor-field{display:none!important}
.ebike-detail-badge{margin:10px 0 4px;padding:12px 13px;border:1px solid #b7e4c7;background:#f1fff6;border-radius:12px;color:#166534;font-size:12px;line-height:1.45;font-weight:700}
.ebike-market-pill{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:7px 11px;border-radius:999px;background:rgba(38,198,130,.14);border:1px solid rgba(84,238,166,.28);color:#b7ffd9;font-size:12px;font-weight:900}



/* ===== MovRentGo V34 — E-bike in evidenza, dopo lo scooter ===== */
.ebike-promo-section{
  background:#06111d;
  padding:26px 20px 30px;
  /* V92.7: Moto ed E-bike hanno pagine autonome. La vecchia card promozionale
     resta solo come sorgente tecnica della foto E-bike, ma non deve comparire
     nel contenuto pubblico di nessuna delle due sezioni. */
  display:none !important;
}
.ebike-promo{
  position:relative;
  max-width:1180px;
  min-height:520px;
  margin:0 auto;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(148,163,184,.26);
  box-shadow:0 26px 75px rgba(0,0,0,.34);
  background:
    linear-gradient(90deg,rgba(2,10,19,.98) 0%,rgba(2,10,19,.91) 36%,rgba(2,10,19,.52) 57%,rgba(2,10,19,.10) 82%),
    url("assets/mrg-ec65f4f01658.png");
  background-size:cover;
  background-position:center right;
}
.ebike-promo-content{
  position:relative;
  z-index:2;
  width:min(550px,58%);
  min-height:520px;
  padding:52px 48px 38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ebike-promo-badge{
  align-self:flex-start;
  margin-bottom:18px;
  padding:7px 12px;
  border-radius:8px;
  background:#1769ff;
  color:white;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.04em;
}
.ebike-promo h2{
  margin:0;
  color:#fff;
  font-size:clamp(52px,6vw,82px);
  line-height:.95;
  letter-spacing:-3px;
}
.ebike-promo h2 span{color:#1769ff}
.ebike-promo-lead{
  margin:20px 0 22px;
  color:#e2e8f0;
  font-size:clamp(20px,2.2vw,30px);
  line-height:1.25;
  max-width:430px;
}
.ebike-promo-line{
  width:78px;height:4px;border-radius:999px;background:#1769ff;margin:0 0 22px;
}
.ebike-promo-features{
  display:grid;
  gap:15px;
  margin-bottom:26px;
}
.ebike-promo-feature{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#fff;
}
.ebike-promo-icon{
  width:42px;height:42px;flex:0 0 42px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(23,105,255,.65);
  border-radius:50%;
  background:rgba(5,20,38,.76);
  font-size:19px;
}
.ebike-promo-feature strong{display:block;font-size:14px;margin-top:1px}
.ebike-promo-feature small{
  display:block;margin-top:3px;color:#cbd5e1;font-size:12px;line-height:1.3;
}
.ebike-promo-btn{
  width:100%;
  min-height:64px;
  border:0;
  border-radius:16px;
  background:#1769ff;
  color:#fff;
  font-size:19px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 32px rgba(23,105,255,.25);
}
.ebike-promo-btn:hover{filter:brightness(1.06)}
.ebike-promo-private-note{
  margin-top:10px;
  color:#94a3b8;
  font-size:10px;
  text-align:center;
}
@media(max-width:760px){
  .ebike-promo-section{padding:14px 12px 20px}
  .ebike-promo{
    min-height:620px;
    border-radius:22px;
    background:
      linear-gradient(180deg,rgba(2,10,19,.96) 0%,rgba(2,10,19,.83) 49%,rgba(2,10,19,.24) 76%,rgba(2,10,19,.38) 100%),
      url("assets/mrg-ec65f4f01658.png");
    background-size:cover;
    background-position:64% center;
  }
  .ebike-promo-content{
    width:100%;
    min-height:620px;
    padding:32px 24px 24px;
    justify-content:flex-start;
  }
  .ebike-promo h2{font-size:58px;letter-spacing:-2px}
  .ebike-promo-lead{font-size:23px;max-width:300px;margin:14px 0 16px}
  .ebike-promo-features{gap:10px;max-width:310px}
  .ebike-promo-feature small{font-size:11px}
  .ebike-promo-btn{margin-top:auto;min-height:58px;font-size:18px}
}



/* ===== V36: contatti WhatsApp + Instagram ===== */
.benefits-wrap{
  max-width:1180px;
  margin:auto;
  padding:38px 24px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:28px;
  align-items:center;
}
.benefits-wrap .benefits{
  max-width:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 26px;
}
.contact-socials{
  display:grid;
  gap:12px;
  align-content:center;
}
.contact-social-btn{
  min-height:72px;
  border-radius:18px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  font-weight:900;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  box-shadow:0 12px 28px rgba(16,24,40,.14);
}
.contact-social-btn:hover{transform:translateY(-2px);filter:brightness(1.03)}
.contact-social-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.18);
  font-size:22px;
}
.contact-social-copy{display:flex;flex-direction:column;line-height:1.15}
.contact-social-copy strong{font-size:16px}
.contact-social-copy small{font-size:11px;font-weight:700;margin-top:4px;opacity:.94}
.whatsapp-contact{background:#25D366;color:#fff}
.instagram-contact{
  color:#fff;
  background:linear-gradient(135deg,#833AB4 0%,#E1306C 52%,#F77737 100%);
}
@media(max-width:900px){
  .benefits-wrap{grid-template-columns:1fr}
  .benefits-wrap .benefits{grid-template-columns:1fr}
  .contact-socials{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .benefits-wrap{padding:30px 24px}
  .contact-socials{grid-template-columns:1fr 1fr;gap:10px}
  .contact-social-btn{min-height:66px;padding:12px 10px;border-radius:16px}
  .contact-social-icon{width:38px;height:38px;flex-basis:38px;font-size:20px}
  .contact-social-copy strong{font-size:14px}
  .contact-social-copy small{font-size:10px}
}


/* ===== V37: profilo contatti + handover post-pagamento ===== */
.account-profile-btn{display:none}
.account-profile-btn.show{display:inline-flex}

.profile-modal,.handover-modal{
  position:fixed;inset:0;z-index:15500;background:rgba(2,8,23,.72);
  display:flex;align-items:center;justify-content:center;padding:16px
}
.profile-modal.hidden,.handover-modal.hidden{display:none}
.profile-card,.handover-card{
  width:min(620px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;
  box-shadow:0 28px 90px rgba(0,0,0,.38);position:relative;padding:24px
}
.profile-close,.handover-close{
  position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:50%;
  background:#f2f4f7;color:#344054;font-size:23px
}
.profile-card h2,.handover-card h2{margin:0 46px 6px 0;font-size:27px;color:#101828}
.profile-card>p,.handover-card>p{margin:0 0 18px;color:#667085;font-size:13px;line-height:1.5}
.contact-form{display:grid;gap:13px}
.contact-form label{font-size:12px;font-weight:800;color:#344054}
.contact-form input{
  width:100%;margin-top:6px;padding:12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff
}
.contact-form input[readonly]{background:#f2f4f7;color:#667085}
.profile-privacy-note{
  padding:11px 12px;border:1px solid #b2ddff;background:#eff8ff;border-radius:11px;
  color:#1849a9;font-size:11px;line-height:1.45
}
.profile-save{
  border:0;border-radius:11px;background:#1168ff;color:#fff;padding:13px 16px;
  font-weight:900;width:100%
}
.profile-msg{display:none;margin-top:10px;padding:10px 12px;border-radius:10px;font-size:12px}
.profile-msg.show{display:block}.profile-msg.ok{background:#ecfdf3;color:#027a48}.profile-msg.err{background:#fef3f2;color:#b42318}

/* ===== V93.8.33: self-service account deletion ===== */
.profile-danger-zone{
  margin-top:18px;padding:16px;border:1px solid #fecdca;background:#fff7f6;border-radius:14px
}
.profile-danger-zone h3{margin:0 0 6px;color:#912018;font-size:15px}
.profile-danger-zone p{margin:0 0 12px;color:#7a271a;font-size:11px;line-height:1.5}
.profile-delete-btn{
  width:100%;border:1px solid #f04438;background:#fff;color:#b42318;border-radius:10px;
  padding:11px 13px;font-weight:900
}
.profile-delete-btn:hover{background:#fef3f2}
.account-delete-modal{
  position:fixed;inset:0;z-index:16550;background:rgba(2,8,23,.78);
  display:flex;align-items:center;justify-content:center;padding:16px
}
.account-delete-modal.hidden{display:none}
.account-delete-card{
  width:min(620px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;
  box-shadow:0 28px 90px rgba(0,0,0,.4);position:relative;padding:24px
}
.account-delete-close{
  position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:50%;
  background:#f2f4f7;color:#344054;font-size:23px
}
.account-delete-card h2{margin:0 46px 7px 0;font-size:26px;color:#101828}
.account-delete-card>p{margin:0 0 16px;color:#667085;font-size:12px;line-height:1.5}
.account-delete-box{padding:13px 14px;border-radius:12px;font-size:12px;line-height:1.5;margin:12px 0}
.account-delete-box.info{background:#eff8ff;border:1px solid #b2ddff;color:#1849a9}
.account-delete-box.ok{background:#ecfdf3;border:1px solid #abefc6;color:#067647}
.account-delete-box.warn{background:#fffaeb;border:1px solid #fedf89;color:#93370d}
.account-delete-box.err{background:#fef3f2;border:1px solid #fecdca;color:#b42318}
.account-delete-blockers{display:grid;gap:8px;margin:12px 0}
.account-delete-blocker{padding:10px 12px;border:1px solid #fecdca;border-radius:10px;background:#fff7f6;color:#7a271a;font-size:11px;line-height:1.45}
.account-delete-blocker b{display:block;color:#912018;margin-bottom:2px}
.account-delete-confirm{margin-top:14px;padding-top:14px;border-top:1px solid #e4e7ec}
.account-delete-confirm label{display:block;font-size:12px;font-weight:800;color:#344054}
.account-delete-confirm input{width:100%;margin-top:7px;padding:12px;border:1px solid #d0d5dd;border-radius:10px}
.account-delete-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.account-delete-actions button{flex:1;min-width:150px;border-radius:10px;padding:11px 13px;font-weight:900}
.account-delete-primary{border:0;background:#d92d20;color:#fff}
.account-delete-primary:disabled{opacity:.5;cursor:not-allowed}
.account-delete-secondary{border:1px solid #d0d5dd;background:#fff;color:#344054}
.account-delete-cancel-request{border:1px solid #f79009;background:#fff;color:#b54708}
.account-delete-msg{display:none;margin-top:12px;padding:11px 12px;border-radius:10px;font-size:12px;line-height:1.45}
.account-delete-msg.show{display:block}
.account-delete-msg.ok{background:#ecfdf3;color:#067647}
.account-delete-msg.err{background:#fef3f2;color:#b42318}
@media(max-width:560px){.account-delete-card{padding:20px 16px;border-radius:17px}.account-delete-actions{flex-direction:column}.account-delete-actions button{width:100%}}

.handover-open-btn{
  margin-top:10px;border:0;border-radius:10px;background:#101828;color:#fff;padding:10px 12px;
  font-size:12px;font-weight:900
}
.handover-locked{
  margin-top:9px;padding:8px 10px;border-radius:9px;background:#f2f4f7;color:#667085;
  font-size:11px;font-weight:700
}
.handover-success{
  display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;
  background:#ecfdf3;color:#027a48;font-size:11px;font-weight:900;margin:2px 0 16px
}
.handover-section{
  border:1px solid #e4e7ec;border-radius:15px;padding:15px;margin-top:12px;background:#fff
}
.handover-section h3{margin:0 0 10px;font-size:16px;color:#101828}
.handover-row{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid #f2f4f7;font-size:13px}
.handover-row:last-child{border-bottom:0}
.handover-row span:first-child{color:#667085;font-weight:700}
.handover-row strong{color:#101828;overflow-wrap:anywhere}
.handover-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.handover-action{
  text-decoration:none;text-align:center;border-radius:11px;padding:11px 8px;font-size:12px;font-weight:900
}
.handover-action.wa{background:#25D366;color:#fff}
.handover-action.tel{background:#101828;color:#fff}
.handover-action.mail{background:#eef4ff;color:#1849a9}
.handover-map-btn{
  display:block;margin-top:11px;text-decoration:none;text-align:center;border:1px solid #b2ddff;
  background:#eff8ff;color:#175cd3;padding:11px 12px;border-radius:11px;font-size:12px;font-weight:900
}
.handover-note{
  margin-top:14px;padding:11px 12px;border-radius:11px;background:#f8fafc;border:1px solid #e4e7ec;
  color:#667085;font-size:11px;line-height:1.5
}
.pickup-instructions-help{margin-top:5px;color:#667085;font-size:11px;line-height:1.4}
@media(max-width:620px){
  .profile-card,.handover-card{padding:20px 16px;border-radius:17px}
  .handover-row{grid-template-columns:1fr;gap:3px}
  .handover-actions{grid-template-columns:1fr}
}


/* ===== V40: portali login separati ===== */
#registerRole{pointer-events:none;background:#f2f4f7;color:#475467}


/* ===== V41: separazione totale ruoli ===== */
.owner-role-lock-note{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:10px;
  padding:7px 10px;
  border-radius:999px;
  background:#eef4ff;
  color:#1849a9;
  font-size:11px;
  font-weight:900;
}


/* ===== V42: cancellazioni e rimborsi ===== */
.cancel-booking-btn{
  margin-top:10px;
  border:1px solid #fda29b;
  background:#fff;
  color:#b42318;
  border-radius:12px;
  padding:10px 13px;
  font-weight:900;
  cursor:pointer;
}
.cancel-booking-btn:hover{background:#fff4f3}
.cancel-modal{
  position:fixed;
  inset:0;
  z-index:1600;
  background:rgba(2,6,23,.72);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.cancel-card{
  width:min(520px,100%);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:22px;
  padding:22px;
  position:relative;
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.cancel-close{
  position:absolute;
  right:14px;
  top:12px;
  border:0;
  background:transparent;
  font-size:28px;
  cursor:pointer;
}
.cancel-card h2{margin:0 34px 7px 0}
.cancel-card>p{margin:0 0 15px;color:#667085;font-size:13px;line-height:1.5}
.cancel-quote{
  display:grid;
  gap:9px;
  margin:14px 0;
}
.cancel-quote-row{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:11px 12px;
  background:#f8fafc;
  border:1px solid #eaecf0;
  border-radius:12px;
  font-size:13px;
}
.cancel-quote-row strong{text-align:right}
.cancel-refund-highlight{
  background:#ecfdf3;
  border-color:#abefc6;
  color:#067647;
}
.cancel-retained-highlight{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#9a3412;
}
.cancel-policy-note{
  border-radius:12px;
  padding:11px 12px;
  background:#eff8ff;
  color:#175cd3;
  font-size:12px;
  line-height:1.45;
  font-weight:750;
}
.cancel-reason{
  display:grid;
  gap:6px;
  margin-top:13px;
  font-size:12px;
  font-weight:850;
  color:#344054;
}
.cancel-reason textarea{
  width:100%;
  min-height:76px;
  resize:vertical;
  border:1px solid #d0d5dd;
  border-radius:12px;
  padding:10px;
  font:inherit;
}
.cancel-confirm{
  width:100%;
  margin-top:14px;
  border:0;
  border-radius:13px;
  background:#b42318;
  color:white;
  padding:12px 14px;
  font-weight:950;
  cursor:pointer;
}
.cancel-confirm:disabled{opacity:.55;cursor:not-allowed}
.cancel-msg{
  margin-top:10px;
  min-height:18px;
  font-size:12px;
  font-weight:800;
}
.cancel-summary{
  margin-top:9px;
  padding:10px 11px;
  border-radius:11px;
  background:#f9fafb;
  border:1px solid #eaecf0;
  font-size:12px;
  line-height:1.45;
}
.cancel-summary.refunded{
  background:#ecfdf3;
  border-color:#abefc6;
  color:#067647;
}


/* ===== V43: fix mobile modal rimborsi ===== */
.cancel-card,
.cancel-card *{
  box-sizing:border-box;
}
.cancel-card{
  width:min(520px,calc(100vw - 24px));
  max-width:calc(100vw - 24px);
}
.cancel-quote-row{
  min-width:0;
  align-items:flex-start;
}
.cancel-quote-row span{
  min-width:0;
  flex:1 1 auto;
}
.cancel-quote-row strong{
  flex:0 0 auto;
  max-width:45%;
  white-space:normal;
  overflow-wrap:anywhere;
}
.cancel-confirm{
  white-space:normal;
  line-height:1.25;
}
@media (max-width:420px){
  .cancel-card{padding:18px}
  .cancel-quote-row{gap:10px}
  .cancel-quote-row strong{max-width:42%}
}


/* ===== MovRentGo V49: fix modulo segnalazioni su mobile ===== */
.incident-report-card,
.incident-report-card *{
  box-sizing:border-box;
}
.incident-report-card{
  overflow-x:hidden;
}
.incident-form,
.incident-form > *,
.incident-two-col,
.incident-two-col > *,
.incident-fine-fields,
.incident-fine-fields > *{
  min-width:0;
}
.incident-form input,
.incident-form textarea,
.incident-evidence-box,
.incident-legal-note,
.incident-submit{
  max-width:100%;
}
.incident-submit{
  width:100%;
}
.incident-evidence-box input[type="file"]{
  width:100%;
  max-width:100%;
}
.incident-evidence-help,
.incident-files-list,
.incident-legal-note{
  overflow-wrap:anywhere;
  word-break:break-word;
}
@media(max-width:620px){
  .incident-report-modal{
    padding:7px;
  }
  .incident-report-card{
    width:100%;
    max-width:100%;
    padding:18px 14px;
  }
  .incident-type-tabs{
    width:100%;
  }
  .incident-type-tab{
    min-width:0;
    font-size:14px;
  }
}


/* ===== MovRentGo V53 · Notifiche ===== */
.notification-header-btn{
  position:relative;
  display:none;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:0 12px;
  border:1px solid #344054;
  border-radius:12px;
  background:#0b1220;
  color:#fff;
  font-size:19px;
  cursor:pointer;
}
.notification-header-btn.show{display:inline-flex}
.notification-badge{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#e11d48;
  color:#fff;
  border:2px solid #070b12;
  font-size:10px;
  font-weight:900;
  line-height:16px;
  text-align:center;
}
.notification-badge.hidden{display:none!important}
.mobile-notification-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  margin-left:6px;
  border-radius:999px;
  background:#e11d48;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.mobile-notification-count.hidden{display:none!important}

.notification-layer{
  position:fixed;
  inset:0;
  z-index:100500;
  background:rgba(15,23,42,.58);
  display:none;
  justify-content:flex-end;
}
.notification-layer.show{display:flex}
.notification-drawer{
  width:min(440px,100%);
  height:100%;
  background:#fff;
  box-shadow:-18px 0 55px rgba(15,23,42,.22);
  display:flex;
  flex-direction:column;
}
.notification-head{
  padding:18px 18px 14px;
  border-bottom:1px solid #e4e7ec;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.notification-head h2{margin:0;font-size:22px;color:#101828}
.notification-head p{margin:4px 0 0;color:#667085;font-size:12px}
.notification-close{
  width:36px;height:36px;border:0;border-radius:50%;
  background:#f2f4f7;color:#344054;font-size:22px;cursor:pointer
}
.notification-toolbar{
  padding:10px 18px;
  border-bottom:1px solid #e4e7ec;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.notification-toolbar span{font-size:12px;color:#667085;font-weight:700}
.notification-read-all{
  border:0;
  background:#eef2ff;
  color:#3538cd;
  border-radius:9px;
  padding:8px 10px;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.notification-list{
  flex:1;
  overflow:auto;
  padding:12px;
  background:#f8fafc;
}
.notification-item{
  width:100%;
  border:1px solid #e4e7ec;
  background:#fff;
  border-radius:14px;
  padding:13px;
  margin-bottom:9px;
  text-align:left;
  display:flex;
  gap:11px;
  cursor:pointer;
  transition:.15s ease;
}
.notification-item:hover{border-color:#b8c2d1;transform:translateY(-1px)}
.notification-item.unread{
  border-color:#b2ccff;
  background:#f5f8ff;
}
.notification-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#eef2ff;
  font-size:18px;
}
.notification-body{min-width:0;flex:1}
.notification-title{
  font-size:13px;
  font-weight:900;
  color:#101828;
  display:flex;
  align-items:center;
  gap:6px;
}
.notification-new-dot{
  width:7px;height:7px;border-radius:50%;background:#2563eb;display:inline-block
}
.notification-message{
  margin-top:4px;
  color:#475467;
  font-size:12px;
  line-height:1.45;
}
.notification-time{
  margin-top:7px;
  color:#98a2b3;
  font-size:10px;
  font-weight:700;
}
.notification-empty{
  background:#fff;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  padding:28px 18px;
  text-align:center;
  color:#667085;
  font-size:13px;
}
.notification-error{color:#b42318}
@media(max-width:760px){
  .notification-drawer{width:100%}
  .notification-head{padding-top:16px}
}


/* ===== MovRentGo V54 · Nautica ===== */
#nauticaView{background:#f6f9fc;min-height:calc(100vh - 90px)}
.nautica-hero{
  position:relative;
  overflow:hidden;
  padding:70px 7vw 54px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 18%,rgba(40,167,255,.30),transparent 28%),
    linear-gradient(120deg,#031426 0%,#063d66 46%,#0586c8 100%);
}
.nautica-hero:after{
  content:"";
  position:absolute;
  width:680px;height:260px;
  right:-80px;bottom:-90px;
  border-radius:50%;
  border:22px solid rgba(255,255,255,.10);
  transform:rotate(-8deg);
  box-shadow:
    0 -44px 0 rgba(36,164,255,.13),
    0 -88px 0 rgba(255,255,255,.06);
}
.nautica-hero-inner{position:relative;z-index:2;max-width:1200px;margin:auto}
.nautica-kicker{font-weight:900;letter-spacing:.14em;font-size:12px;color:#72d7ff;margin-bottom:13px}
.nautica-hero h1{font-size:clamp(42px,6vw,78px);line-height:.98;margin:0;max-width:820px;letter-spacing:-.045em}
.nautica-hero h1 span{color:#49c5ff}
.nautica-hero p{max-width:710px;font-size:18px;line-height:1.6;color:#d9efff;margin:20px 0 0}
.nautica-wave-icon{
  position:absolute;right:8%;top:52px;font-size:118px;opacity:.24;
  filter:drop-shadow(0 15px 24px rgba(0,0,0,.25))
}
.nautica-search{
  position:relative;z-index:3;
  max-width:1200px;margin:34px auto 0;
  background:#fff;border-radius:18px;padding:13px;
  box-shadow:0 20px 50px rgba(0,18,38,.28);
  display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr auto;gap:10px
}
.nautica-search-field{background:#f7f9fc;border:1px solid #e4e7ec;border-radius:12px;padding:10px 12px}
.nautica-search-field label{display:block;font-size:10px;font-weight:900;color:#475467;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.nautica-search-field input,.nautica-search-field select{
  width:100%;border:0;background:transparent;outline:0;color:#101828;font:inherit;font-weight:750
}
.nautica-search-btn{
  border:0;border-radius:12px;background:#0b6cff;color:#fff;font-weight:900;
  padding:0 22px;cursor:pointer;white-space:nowrap
}
.nautica-benefits{
  position:relative;z-index:2;max-width:1200px;margin:25px auto 0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px
}
.nautica-benefit{display:flex;align-items:center;gap:10px;color:#eaf7ff;font-size:12px;font-weight:800}
.nautica-benefit b{font-size:23px}
.nautica-main{max-width:1200px;margin:0 auto;padding:46px 22px 70px}
.nautica-section-title{text-align:center;margin:0 0 26px}
.nautica-section-title small{font-weight:900;color:#0b6cff;letter-spacing:.12em}
.nautica-section-title h2{font-size:34px;margin:7px 0 8px;color:#0b1b33}
.nautica-section-title p{color:#667085;margin:0}
.nautica-types{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.nautica-type-card{
  background:#fff;border:1px solid #e4e7ec;border-radius:20px;padding:24px;
  box-shadow:0 12px 34px rgba(15,23,42,.06)
}
.nautica-type-icon{font-size:44px}
.nautica-type-card h3{font-size:21px;margin:12px 0 7px;color:#101828}
.nautica-type-card p{color:#667085;line-height:1.55;font-size:13px;min-height:62px}
.nautica-pill{
  display:inline-flex;padding:7px 10px;border-radius:999px;background:#eaf3ff;
  color:#075dcc;font-size:11px;font-weight:900
}
.nautica-results{margin-top:45px}
.nautica-results-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}
.nautica-results-head h2{margin:0;color:#101828}
.nautica-results-head p{margin:5px 0 0;color:#667085;font-size:13px}
.nautica-coming-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.nautica-coming-card{
  background:#fff;border:1px solid #dfe5ec;border-radius:18px;overflow:hidden;
  position:relative;box-shadow:0 10px 30px rgba(15,23,42,.05)
}
.nautica-coming-img{
  height:155px;display:grid;place-items:center;font-size:72px;
  background:linear-gradient(135deg,#dff5ff,#edf4ff 55%,#d8e7ff)
}
.nautica-coming-body{padding:16px}
.nautica-coming-body h3{margin:0 0 6px;color:#101828}
.nautica-coming-body p{margin:0;color:#667085;font-size:12px;line-height:1.5}
.nautica-coming-badge{
  position:absolute;right:12px;top:12px;border-radius:999px;background:#101828;color:#fff;
  padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.04em
}
.nautica-owner-cta{
  margin-top:45px;border-radius:22px;padding:28px 30px;
  background:linear-gradient(115deg,#031426,#084b7b);
  color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px
}
.nautica-owner-cta h2{margin:0 0 7px;font-size:27px}
.nautica-owner-cta p{margin:0;color:#d4ecff}
.nautica-owner-cta .btn{min-width:220px}
.nautica-owner-points{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;color:#ccecff;font-size:12px;font-weight:800}
.nautica-owner-points span{background:rgba(255,255,255,.08);padding:8px 10px;border-radius:999px}
.nautica-preview-msg{
  display:none;margin-top:16px;padding:13px 15px;border-radius:12px;
  background:#eff8ff;border:1px solid #b2ddff;color:#175cd3;font-size:12px;font-weight:800
}
.nautica-preview-msg.show{display:block}
@media(max-width:1000px){
  .nautica-search{grid-template-columns:1fr 1fr}
  .nautica-search-btn{min-height:52px}
  .nautica-benefits{grid-template-columns:1fr 1fr}
  .nautica-types,.nautica-coming-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  #nauticaView{min-height:calc(100vh - 76px)}
  .nautica-hero{padding:48px 16px 38px}
  .nautica-wave-icon{font-size:76px;right:-5%;top:38px}
  .nautica-hero p{font-size:15px}
  .nautica-search{grid-template-columns:1fr;margin-top:26px}
  .nautica-benefits{grid-template-columns:1fr;margin-top:20px}
  .nautica-main{padding:34px 14px 50px}
  .nautica-section-title h2{font-size:28px}
  .nautica-owner-cta{flex-direction:column;align-items:flex-start;padding:23px}
  .nautica-owner-cta .btn{width:100%}
}


/* ===== MovRentGo V55 · menu categorie ===== */
.header nav{
  display:flex;
  align-items:center;
  gap:8px;
}
.header nav .market-nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:42px;
  padding:0 14px;
  border-radius:11px;
  color:#fff;
  font-weight:900;
  white-space:nowrap;
  border:1px solid transparent;
  transition:.18s ease;
}
.header nav .market-nav-link:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.13);
}
.header nav .market-nav-link.active{
  color:#fff;
  background:#0b6cff;
  border-color:#2b82ff;
  box-shadow:0 6px 16px rgba(11,108,255,.24);
}
.header nav .owner-nav-link{
  margin-left:7px;
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.18);
  color:#1683ff;
  font-weight:900;
  white-space:nowrap;
}
@media(max-width:1050px){
  .header nav .market-nav-link{padding:0 10px;font-size:13px}
  .header nav .owner-nav-link{font-size:13px}
}


/* ===== MovRentGo V56 · categorie sempre visibili ===== */
.header nav .market-nav-link{
  flex:0 0 auto;
}
@media(min-width:801px){
  .header nav{
    gap:6px;
  }
  .header nav .market-nav-link{
    padding-left:12px;
    padding-right:12px;
  }
}


/* ===== MovRentGo V59 · Pubblica Barca ===== */
.owner-market-switch{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin:0 0 18px;
  padding:8px;
  background:#f2f4f7;
  border:1px solid #e4e7ec;
  border-radius:14px;
}
.owner-market-switch button{
  border:0;
  background:transparent;
  color:#475467;
  padding:11px 16px;
  border-radius:10px;
  font-weight:900;
  cursor:pointer;
  transition:.15s ease;
}
.owner-market-switch button.active{
  background:#101828;
  color:#fff;
  box-shadow:0 5px 14px rgba(16,24,40,.16);
}
.owner-market-switch button.nautica.active{
  background:#0879c9;
}
.motor-professional-gate{
  display:none;
  grid-column:1/-1;
  border:1px solid #b8cdfd;
  border-radius:18px;
  background:linear-gradient(145deg,#f8faff,#eef4ff);
  padding:20px;
  box-shadow:0 10px 24px rgba(35,78,170,.08);
}
.motor-professional-gate.show{display:block}
.motor-professional-gate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.motor-professional-kicker{display:inline-block;margin-bottom:7px;color:#155eef;font-size:11px;font-weight:950;letter-spacing:.08em}
.motor-professional-gate h3{margin:0 0 7px;color:#101828;font-size:21px}
.motor-professional-gate p{margin:0;color:#475467;font-size:13px;line-height:1.55}
.motor-professional-badge{flex:0 0 auto;border-radius:999px;padding:7px 11px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:900}
.motor-professional-badge.pending{background:#fff4d6;color:#9a6700}
.motor-professional-badge.verified{background:#dcfae6;color:#067647}
.motor-professional-badge.rejected{background:#fee4e2;color:#b42318}
.motor-professional-state{margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #d0d5dd;color:#344054;font-size:13px;line-height:1.5}
.motor-professional-state.ok{border-color:#86d9a9;background:#ecfdf3;color:#067647}
.motor-professional-state.warn{border-color:#fedf89;background:#fffaeb;color:#93370d}
.motor-professional-state.bad{border-color:#fda29b;background:#fef3f2;color:#b42318}
.motor-professional-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.motor-professional-form.hidden{display:none}
.motor-professional-form .full{grid-column:1/-1}
.motor-professional-form label{display:block;margin-bottom:6px;color:#344054;font-size:12px;font-weight:850}
.motor-professional-form input[type="text"]{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;background:#fff;color:#101828;font:inherit}
.motor-professional-documents{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #b8cdfd;border-radius:14px;background:#fff}
.motor-professional-documents h4{grid-column:1/-1;margin:0;color:#101828;font-size:14px}
.motor-professional-documents>p{grid-column:1/-1;margin:-4px 0 2px;color:#667085;font-size:11px;line-height:1.45}
.motor-professional-file{padding:11px;border:1px solid #e4e7ec;border-radius:11px;background:#f8fafc}
.motor-professional-file label{margin:0 0 7px}
.motor-professional-file input[type="file"]{width:100%;font-size:11px;color:#475467}
.motor-professional-checklist{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.motor-professional-check{padding:9px 11px;border-radius:10px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:800}
.motor-professional-check.ok{background:#ecfdf3;color:#067647}
.motor-professional-check.bad{background:#fffaeb;color:#93370d}
.motor-professional-declaration{display:flex!important;align-items:flex-start;gap:9px;margin:2px 0 0!important;padding:12px;border-radius:12px;background:#fff;border:1px solid #d0d5dd;line-height:1.45}
.motor-professional-declaration input{margin-top:3px}
.motor-professional-submit{justify-self:start;border:0;border-radius:10px;padding:12px 16px;background:#155eef;color:#fff;font-weight:900;cursor:pointer}
.motor-professional-submit:disabled{opacity:.55;cursor:not-allowed}
.motor-professional-msg{min-height:18px;color:#475467;font-size:12px}
.motor-professional-recheck{margin-left:8px;border:0;border-radius:8px;padding:7px 10px;background:#155eef;color:#fff;font-size:11px;font-weight:900;cursor:pointer}
.motor-professional-content-locked{display:none!important}
.professional-listing-badge{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 9px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:11px;font-weight:900}
@media(max-width:700px){
  .motor-professional-gate-head{display:block}
  .motor-professional-badge{display:inline-block;margin-top:12px}
  .motor-professional-form{grid-template-columns:1fr}
  .motor-professional-form .full{grid-column:auto}
  .motor-professional-documents,.motor-professional-checklist{grid-template-columns:1fr;grid-column:auto}
  .motor-professional-documents h4,.motor-professional-documents>p{grid-column:auto}
}
.nautical-owner-zone{display:none}
.nautical-owner-zone.show{display:block}
.nautical-owner-card{
  border:1px solid #b9ddf7;
  border-radius:18px;
  background:linear-gradient(145deg,#f8fcff,#eff8ff);
  padding:18px;
  margin-bottom:18px;
}
.nautical-owner-card h3{margin:0 0 6px;color:#0b3d63}
.nautical-owner-card p{margin:0;color:#475467;font-size:12px;line-height:1.5}
.nautical-fee-box{
  margin-top:12px;
  padding:11px 13px;
  border-radius:12px;
  background:#062b49;
  color:#fff;
  font-size:12px;
  font-weight:850;
}
.nautical-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.nautical-form .field{
  min-width:0;
}
.nautical-form .span2{grid-column:span 2}
.nautical-form .full{grid-column:1/-1}
.nautical-form label{
  display:block;
  font-size:11px;
  color:#344054;
  font-weight:900;
  margin-bottom:6px;
}
.nautical-form input,
.nautical-form select,
.nautical-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d0d5dd;
  border-radius:11px;
  background:#fff;
  color:#101828;
  padding:11px 12px;
  font:inherit;
  outline:none;
}
.nautical-form input:focus,
.nautical-form select:focus,
.nautical-form textarea:focus{
  border-color:#2e90fa;
  box-shadow:0 0 0 3px rgba(46,144,250,.10);
}
.nautical-port-wrap{position:relative}
.nautical-location-results{
  display:none;
  position:absolute;
  z-index:80;
  top:100%;
  left:0;
  right:0;
  margin-top:5px;
  max-height:260px;
  overflow:auto;
  border:1px solid #d0d5dd;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.16);
}
.nautical-location-results.show{display:block}
.nautical-location-item{
  display:block;
  width:100%;
  border:0;
  border-bottom:1px solid #f0f2f5;
  background:#fff;
  text-align:left;
  padding:10px 12px;
  cursor:pointer;
}
.nautical-location-item:hover{background:#f5f9ff}
.nautical-location-item b{
  display:block;
  color:#101828;
  font-size:12px;
}
.nautical-location-item small{
  color:#667085;
  font-size:10px;
}
.nautical-selected-location{
  display:none;
  margin-top:7px;
  padding:8px 10px;
  border-radius:9px;
  background:#ecfdf3;
  color:#027a48;
  font-size:11px;
  font-weight:800;
}
.nautical-selected-location.show{display:block}
.nautical-declarations{
  grid-column:1/-1;
  display:grid;
  gap:9px;
  padding:15px;
  border:1px solid #d0d5dd;
  border-radius:14px;
  background:#fff;
}
.nautical-declarations h3{margin:0 0 3px;font-size:14px;color:#101828}
.nautical-declarations p{margin:0 0 5px;color:#667085;font-size:11px;line-height:1.5}
.nautical-check{
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:11px;
  color:#344054;
  line-height:1.45;
}
.nautical-check input{width:auto;margin-top:2px}
.nautical-submit-row{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:4px;
}
.nautical-submit-row small{color:#667085;max-width:600px;line-height:1.45}
.nautical-submit{
  border:0;
  border-radius:12px;
  background:#0879c9;
  color:#fff;
  font-weight:900;
  padding:13px 20px;
  cursor:pointer;
}
.nautical-submit:disabled{opacity:.55;cursor:not-allowed}
.nautical-form-status{
  display:none;
  grid-column:1/-1;
  border-radius:11px;
  padding:11px 13px;
  font-size:12px;
  font-weight:800;
}
.nautical-form-status.show{display:block}
.nautical-form-status.ok{
  background:#ecfdf3;color:#027a48;border:1px solid #abefc6
}
.nautical-form-status.bad{
  background:#fef3f2;color:#b42318;border:1px solid #fecdca
}
@media(max-width:900px){
  .nautical-form{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .owner-market-switch{display:grid;grid-template-columns:repeat(3,1fr)}
  .owner-market-switch button{padding:10px 7px;font-size:12px}
  .nautical-form{grid-template-columns:1fr}
  .nautical-form .span2,.nautical-form .full{grid-column:1}
  .nautical-declarations,.nautical-submit-row,.nautical-form-status{grid-column:1}
  .nautical-submit-row{align-items:stretch;flex-direction:column}
  .nautical-submit{width:100%}
}


/* ===== MovRentGo V60 · Annunci proprietario separati ===== */
.owner-list-section{
  margin:12px 0 22px;
}
.owner-list-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
.owner-list-section-head h4{
  margin:0;
  color:#101828;
  font-size:16px;
}
.owner-list-section-head span{
  color:#667085;
  font-size:11px;
}
.nautical-owner-row{
  border:1px solid #b9ddf7;
  background:linear-gradient(145deg,#fbfdff,#f2f9ff);
}
.nautical-owner-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  margin-top:5px;
  color:#667085;
  font-size:11px;
}
.nautical-owner-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:8px;
  padding:6px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
}
.nautical-owner-status.pending_review{
  background:#fff7e8;
  color:#b54708;
}
.nautical-owner-status.published{
  background:#ecfdf3;
  color:#027a48;
}
.nautical-owner-status.rejected{
  background:#fef3f2;
  color:#b42318;
}
.nautical-owner-status.paused{
  background:#f2f4f7;
  color:#475467;
}
.nautical-owner-status.draft{
  background:#eef4ff;
  color:#3538cd;
}
.nautical-owner-fee{
  margin-top:6px;
  color:#344054;
  font-size:10px;
  font-weight:800;
}
@media(max-width:620px){
  .owner-list-section-head{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}


/* ===== MovRentGo V61 · Foto + Staff + Social Nautica ===== */
.nautical-photo-box{
  grid-column:1/-1;
  border:1px dashed #98a2b3;
  border-radius:14px;
  background:#fbfdff;
  padding:14px;
}
.nautical-photo-box label{
  display:block;
  margin-bottom:6px;
  color:#101828;
  font-size:12px;
  font-weight:900;
}
.nautical-photo-box input[type=file]{
  display:block;
  width:100%;
  box-sizing:border-box;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  padding:10px;
}
.nautical-photo-help{
  margin-top:7px;
  color:#667085;
  font-size:10px;
}
.nautical-photo-preview{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-top:11px;
}
.nautical-photo-preview figure{
  margin:0;
  min-width:0;
  border:1px solid #e4e7ec;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.nautical-photo-preview img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.nautical-photo-preview figcaption{
  padding:5px 6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#667085;
  font-size:9px;
}
.nautical-photo-progress{
  margin-top:8px;
  color:#175cd3;
  font-size:10px;
  font-weight:850;
}
.nautical-owner-thumb{
  width:115px;
  height:82px;
  object-fit:cover;
  flex:0 0 115px;
  border-radius:12px;
  border:1px solid #d0d5dd;
  background:#eef4ff;
}
.nautical-owner-row{
  display:flex;
  gap:13px;
  align-items:flex-start;
}
.nautica-socials{
  position:relative;
  z-index:3;
  max-width:1200px;
  margin:18px auto 0;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.nautica-social-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  text-decoration:none;
  padding:10px 14px;
  border-radius:12px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(8px);
}
.nautica-social-link.whatsapp{background:rgba(37,211,102,.92)}
.nautica-social-link.instagram{
  background:linear-gradient(120deg,rgba(131,58,180,.94),rgba(225,48,108,.94),rgba(245,133,41,.94));
}
.staff-nautical-section{
  margin-top:34px;
  padding-top:30px;
  border-top:2px solid #e4e7ec;
}
.staff-nautical-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0 16px;
}
.staff-nautical-filter{
  border:1px solid #d0d5dd;
  background:#fff;
  color:#344054;
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.staff-nautical-filter.active{
  background:#0b6cff;
  color:#fff;
  border-color:#0b6cff;
}
.staff-nautical-grid{
  display:grid;
  gap:14px;
}
.staff-nautical-card{
  border:1px solid #d0d5dd;
  border-radius:18px;
  background:#fff;
  padding:17px;
}
.staff-motor-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}
.staff-motor-checks span{padding:9px;border-radius:10px;background:#fff7e8;color:#93370d;font-size:10px;font-weight:900;text-align:center}
.staff-motor-checks span.ok{background:#ecfdf3;color:#067647}
.staff-motor-documents{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.staff-motor-documents a{display:inline-flex;padding:8px 11px;border:1px solid #b8cdfd;border-radius:999px;color:#155eef;text-decoration:none;font-size:10px;font-weight:900;background:#f8faff}
.staff-motor-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.staff-motor-actions button{border:0;border-radius:10px;padding:10px 13px;color:#fff;font-weight:900;cursor:pointer}
.staff-motor-actions .approve{background:#079455}.staff-motor-actions .reject{background:#d92d20}
.staff-nautical-card-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.staff-nautical-title{
  margin:0;
  color:#101828;
  font-size:18px;
}
.staff-nautical-sub{
  margin-top:4px;
  color:#667085;
  font-size:11px;
}
.staff-nautical-status{
  display:inline-flex;
  border-radius:999px;
  padding:7px 10px;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
.staff-nautical-status.pending_review{background:#fff7e8;color:#b54708}
.staff-nautical-status.published{background:#ecfdf3;color:#027a48}
.staff-nautical-status.rejected{background:#fef3f2;color:#b42318}
.staff-nautical-status.paused{background:#f2f4f7;color:#475467}
.staff-nautical-info{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:13px;
}
.staff-nautical-info div{
  background:#f8fafc;
  border-radius:11px;
  padding:10px;
  min-width:0;
}
.staff-nautical-info span{
  display:block;
  color:#667085;
  font-size:9px;
  font-weight:800;
}
.staff-nautical-info strong{
  display:block;
  margin-top:4px;
  color:#101828;
  font-size:11px;
}
.staff-nautical-description{
  margin-top:10px;
  padding:11px;
  border-radius:11px;
  background:#f8fafc;
  color:#344054;
  font-size:11px;
  line-height:1.5;
}
.staff-nautical-declarations{
  margin-top:10px;
  color:#475467;
  font-size:10px;
  line-height:1.6;
}
.staff-nautical-photos{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  margin-top:12px;
}
.staff-nautical-photos a{
  display:block;
  border-radius:10px;
  overflow:hidden;
  border:1px solid #e4e7ec;
  background:#f2f4f7;
}
.staff-nautical-photos img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.staff-nautical-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:14px;
}
.staff-nautical-actions button{
  border:0;
  border-radius:11px;
  padding:10px 14px;
  font-weight:900;
  cursor:pointer;
}
.staff-nautical-actions .publish{background:#ecfdf3;color:#027a48}
.staff-nautical-actions .reject{background:#fef3f2;color:#b42318}
.staff-nautical-empty{
  padding:24px;
  border:1px dashed #d0d5dd;
  border-radius:14px;
  color:#667085;
  text-align:center;
  background:#fff;
}
@media(max-width:900px){
  .nautical-photo-preview,.staff-nautical-photos{grid-template-columns:repeat(3,1fr)}
  .staff-nautical-info{grid-template-columns:1fr 1fr}
  .staff-motor-checks{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .nautical-photo-preview,.staff-nautical-photos{grid-template-columns:repeat(2,1fr)}
  .staff-nautical-info{grid-template-columns:1fr}
  .staff-motor-checks{grid-template-columns:1fr}
  .staff-nautical-card-head{flex-direction:column}
  .nautical-owner-row{flex-direction:column}
  .nautical-owner-thumb{width:100%;height:170px}
}


/* ===== MovRentGo V62 · Marketplace Nautica reale ===== */
.nautica-real-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.nautica-real-card{
  overflow:hidden;
  border:1px solid #d0d5dd;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.nautica-real-cover{
  position:relative;
  height:210px;
  background:linear-gradient(135deg,#e6f5ff,#d9eaff);
  overflow:hidden;
}
.nautica-real-cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.nautica-real-cover-placeholder{
  height:100%;
  display:grid;
  place-items:center;
  font-size:70px;
}
.nautica-real-type{
  position:absolute;
  top:12px;
  left:12px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(3,20,38,.90);
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.nautica-real-body{padding:16px}
.nautica-real-body h3{
  margin:0 0 7px;
  color:#101828;
  font-size:19px;
}
.nautica-real-location{
  color:#475467;
  font-size:11px;
  line-height:1.45;
}
.nautica-real-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:12px 0;
}
.nautica-real-meta span{
  padding:6px 8px;
  border-radius:999px;
  background:#f2f4f7;
  color:#344054;
  font-size:10px;
  font-weight:800;
}
.nautica-real-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-top:12px;
  border-top:1px solid #eaecf0;
}
.nautica-real-price strong{
  display:block;
  color:#101828;
  font-size:19px;
}
.nautica-real-price small{
  color:#667085;
  font-size:9px;
}
.nautica-real-open{
  border:0;
  border-radius:11px;
  background:#0b6cff;
  color:#fff;
  padding:10px 13px;
  font-weight:900;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.nautica-real-empty{
  grid-column:1/-1;
  padding:28px;
  border:1px dashed #cbd5e1;
  border-radius:16px;
  background:#fff;
  text-align:center;
  color:#667085;
}
.nautica-results-count{
  color:#667085;
  font-size:12px;
  font-weight:800;
}
.nautica-detail-layer{
  position:fixed;
  inset:0;
  z-index:100700;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15,23,42,.68);
}
.nautica-detail-layer.show{display:flex}
.nautica-detail-modal{
  width:min(960px,100%);
  max-height:92vh;
  overflow:auto;
  border-radius:22px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.nautica-detail-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid #eaecf0;
}
.nautica-detail-head h2{
  margin:0;
  color:#101828;
}
.nautica-detail-close{
  border:0;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#f2f4f7;
  color:#344054;
  font-size:22px;
  cursor:pointer;
}
.nautica-detail-content{padding:20px}
.nautica-detail-gallery{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:8px;
  margin-bottom:18px;
}
.nautica-detail-gallery img{
  width:100%;
  height:170px;
  object-fit:cover;
  border-radius:12px;
}
.nautica-detail-gallery img:first-child{
  height:348px;
  grid-row:span 2;
}
.nautica-detail-info{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.nautica-detail-info div{
  padding:11px;
  border-radius:11px;
  background:#f8fafc;
}
.nautica-detail-info span{
  display:block;
  color:#667085;
  font-size:9px;
  font-weight:800;
}
.nautica-detail-info strong{
  display:block;
  margin-top:4px;
  color:#101828;
  font-size:11px;
}
.nautica-detail-desc{
  margin-top:14px;
  padding:14px;
  border-radius:12px;
  background:#f8fafc;
  color:#344054;
  line-height:1.55;
  font-size:12px;
}
.nautica-detail-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #eaecf0;
}
.nautica-booking-soon{
  padding:11px 13px;
  border-radius:11px;
  background:#fff7e8;
  color:#b54708;
  font-size:11px;
  font-weight:850;
}
.nautica-detail-whatsapp{
  text-decoration:none;
  border-radius:11px;
  background:#25d366;
  color:#fff;
  padding:11px 14px;
  font-weight:900;
  font-size:11px;
}
@media(max-width:950px){
  .nautica-real-grid{grid-template-columns:1fr 1fr}
  .nautica-detail-info{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .nautica-real-grid{grid-template-columns:1fr}
  .nautica-detail-layer{padding:10px}
  .nautica-detail-gallery{grid-template-columns:1fr 1fr}
  .nautica-detail-gallery img,
  .nautica-detail-gallery img:first-child{
    height:180px;
    grid-row:auto;
  }
  .nautica-detail-gallery img:first-child{grid-column:1/-1}
  .nautica-detail-info{grid-template-columns:1fr}
}


/* ===== MovRentGo V63 · Hero fotografica + prenotazione Nautica ===== */
.nautica-hero{
  background-image:
    linear-gradient(90deg,rgba(2,19,35,.96) 0%,rgba(3,34,58,.86) 34%,rgba(3,55,87,.45) 62%,rgba(2,26,44,.20) 100%),
    url("assets/mrg-a89f4f3989a6.webp") !important;
  background-size:cover !important;
  background-position:56% center !important;
  background-repeat:no-repeat !important;
}
.nautica-hero:after{
  opacity:.24;
}
.nautica-wave-icon{
  display:none !important;
}
.nautica-hero-inner{
  text-shadow:0 2px 12px rgba(0,0,0,.22);
}
.nautica-search,
.nautica-benefits,
.nautica-socials{
  text-shadow:none;
}
.nautica-booking-panel{
  margin-top:16px;
  padding:16px;
  border:1px solid #b9ddf7;
  border-radius:15px;
  background:linear-gradient(145deg,#f8fcff,#eef8ff);
}
.nautica-booking-panel h3{
  margin:0 0 5px;
  color:#0b3d63;
  font-size:16px;
}
.nautica-booking-panel p{
  margin:0 0 13px;
  color:#667085;
  font-size:10px;
}
.nautica-booking-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.nautica-booking-field label{
  display:block;
  margin-bottom:5px;
  color:#344054;
  font-size:10px;
  font-weight:900;
}
.nautica-booking-field-wrap{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  padding:9px 10px;
}
.nautica-booking-field input{
  display:block;
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  padding:0;
  background:transparent;
  color:#101828;
  font:inherit;
}
.nautica-booking-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:11px;
}
.nautica-booking-summary div{
  border-radius:10px;
  background:#fff;
  border:1px solid #e4e7ec;
  padding:9px 10px;
}
.nautica-booking-summary span{
  display:block;
  color:#667085;
  font-size:9px;
  font-weight:800;
}
.nautica-booking-summary strong{
  display:block;
  margin-top:3px;
  color:#101828;
  font-size:13px;
}
.nautica-booking-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
}
.nautica-booking-note{
  color:#667085;
  font-size:9px;
  line-height:1.45;
  max-width:540px;
}
.nautica-booking-btn{
  border:0;
  border-radius:11px;
  background:#0b6cff;
  color:#fff;
  padding:11px 16px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.nautica-booking-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.nautica-booking-feedback{
  display:none;
  margin-top:10px;
  border-radius:10px;
  padding:10px 11px;
  font-size:10px;
  font-weight:800;
}
.nautica-booking-feedback.show{display:block}
.nautica-booking-feedback.ok{
  background:#ecfdf3;
  color:#027a48;
  border:1px solid #abefc6;
}
.nautica-booking-feedback.bad{
  background:#fef3f2;
  color:#b42318;
  border:1px solid #fecdca;
}
@media(max-width:620px){
  .nautica-hero{
    background-position:62% center !important;
  }
  .nautica-booking-fields,
  .nautica-booking-summary{
    grid-template-columns:1fr;
  }
  .nautica-booking-action{
    align-items:stretch;
    flex-direction:column;
  }
  .nautica-booking-btn{width:100%}
}


/* ===== MovRentGo V64 · compressione foto uniforme ===== */
.nautical-photo-preview figcaption{
  white-space:normal;
  line-height:1.25;
}
.nautical-photo-preview .photo-size{
  display:block;
  margin-top:2px;
  color:#175cd3;
  font-weight:800;
}


/* ===== MovRentGo V66 · autocomplete ricerca pubblica Nautica ===== */
.nautica-public-location-wrap{
  position:relative;
  overflow:visible;
}
.nautica-public-suggestions{
  display:none;
  position:absolute;
  z-index:120;
  top:calc(100% + 8px);
  left:0;
  width:max(100%,360px);
  max-width:520px;
  max-height:300px;
  overflow:auto;
  border:1px solid #d0d5dd;
  border-radius:13px;
  background:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.22);
  text-align:left;
}
.nautica-public-suggestions.show{display:block}
.nautica-public-suggestion{
  display:block;
  width:100%;
  border:0;
  border-bottom:1px solid #f0f2f5;
  background:#fff;
  padding:11px 13px;
  text-align:left;
  cursor:pointer;
}
.nautica-public-suggestion:last-child{border-bottom:0}
.nautica-public-suggestion:hover,
.nautica-public-suggestion:focus{
  background:#f3f8ff;
  outline:none;
}
.nautica-public-suggestion b{
  display:block;
  color:#101828;
  font-size:12px;
}
.nautica-public-suggestion small{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:10px;
}
.nautica-public-suggestion-state{
  padding:12px 13px;
  color:#667085;
  font-size:11px;
}
@media(max-width:620px){
  .nautica-public-suggestions{
    width:100%;
    max-width:none;
  }
}


/* ===== MovRentGo V70 · Stripe payout prenotazioni Nautica ===== */
.staff-nautical-booking-money{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:12px;
}
.staff-nautical-booking-money>div{
  border:1px solid #eaecf0;
  border-radius:12px;
  padding:10px 11px;
  background:#fff;
}
.staff-nautical-booking-money span{
  display:block;
  color:#667085;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.35px;
}
.staff-nautical-booking-money strong{
  display:block;
  margin-top:4px;
  color:#101828;
  font-size:16px;
}
.staff-nautical-booking-money .platform strong{color:#175cd3}
.staff-nautical-booking-money .owner strong{color:#027a48}
.nautical-payout-state{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 9px;
  font-size:10px;
  font-weight:900;
  margin-top:10px;
}
.nautical-payout-state.wait{background:#fff7e6;color:#b54708}
.nautical-payout-state.ready{background:#eef4ff;color:#3538cd}
.nautical-payout-state.done{background:#ecfdf3;color:#027a48}
.nautical-payout-state.failed{background:#fef3f2;color:#b42318}
.nautical-payout-state.processing{background:#f2f4f7;color:#475467}
.staff-action.test-transfer{
  background:#f4f3ff;
  color:#5925dc;
}
@media(max-width:700px){
  .staff-nautical-booking-money{grid-template-columns:1fr}
}


/* ===== MovRentGo V71 · Prenotazioni Nautica Cliente/Proprietario ===== */
.booking-kind-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-bottom:5px;
  padding:5px 8px;
  border-radius:999px;
  background:#eaf4ff;
  color:#175cd3;
  font-size:10px;
  font-weight:900;
}
.booking-nautical-note{
  margin-top:8px;
  border-radius:10px;
  padding:8px 10px;
  background:#f8fafc;
  color:#475467;
  font-size:10px;
  line-height:1.45;
}
.booking-nautical-note strong{color:#101828}


/* ===== MovRentGo V73 · Calendario disponibilità Nautica ===== */
.nautical-owner-calendar-btn{
  margin-top:10px;
  border:1px solid #b2ccff;
  border-radius:10px;
  background:#eff8ff;
  color:#175cd3;
  padding:8px 10px;
  font:inherit;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.nautical-owner-calendar-btn:hover{background:#dbeeff}

.nautical-owner-calendar-modal{
  position:fixed;
  inset:0;
  z-index:18000;
  background:rgba(15,23,42,.72);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.nautical-owner-calendar-modal.hidden{display:none}
.nautical-owner-calendar-card{
  width:min(760px,100%);
  max-height:min(92vh,900px);
  overflow:auto;
  background:#fff;
  border-radius:22px;
  box-shadow:0 32px 100px rgba(0,0,0,.38);
  padding:20px;
}
.nautical-owner-calendar-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.nautical-owner-calendar-head h2{
  margin:4px 0 5px;
  color:#101828;
  font-size:24px;
}
.nautical-owner-calendar-head p{
  margin:0;
  color:#667085;
  font-size:12px;
  line-height:1.5;
}
.nautical-owner-calendar-close{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:#f2f4f7;
  color:#344054;
  font-size:24px;
  cursor:pointer;
}
.nautical-owner-calendar-legend{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:18px 0 12px;
  color:#667085;
  font-size:10px;
  font-weight:800;
}
.nautical-owner-calendar-legend span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.nautical-owner-calendar-legend i{
  width:13px;
  height:13px;
  border-radius:4px;
  display:inline-block;
  border:1px solid #d0d5dd;
}
.nautical-owner-calendar-legend .free{background:#ecfdf3;border-color:#75e0a7}
.nautical-owner-calendar-legend .booked{background:#fee4e2;border-color:#f97066}
.nautical-owner-calendar-legend .blocked{background:#f2f4f7;border-color:#98a2b3}
.nautical-owner-calendar-legend .selected{background:#1769ff;border-color:#1769ff}
.nautical-owner-calendar-legend .outside{background:#fff;border-color:#eaecf0;opacity:.5}

.nautical-owner-calendar-nav{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.nautical-owner-calendar-nav button{
  height:38px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  font-weight:900;
}
.nautical-owner-calendar-nav strong{
  text-align:center;
  color:#101828;
  font-size:16px;
}
.nautical-owner-calendar-weekdays,
.nautical-owner-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}
.nautical-owner-calendar-weekdays{
  margin-bottom:6px;
}
.nautical-owner-calendar-weekdays span{
  text-align:center;
  color:#667085;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
.nautical-owner-day{
  position:relative;
  aspect-ratio:1/1;
  min-height:48px;
  border:1px solid #75e0a7;
  border-radius:11px;
  background:#ecfdf3;
  color:#05603a;
  cursor:pointer;
  font:inherit;
  font-weight:900;
}
.nautical-owner-day:hover:not(:disabled){border-color:#84adff;background:#f5f9ff}
.nautical-owner-day.other{opacity:.35}
.nautical-owner-day.past{opacity:.32;cursor:not-allowed}
.nautical-owner-day.booked{
  background:#fee4e2;
  border-color:#f97066;
  color:#b42318;
  cursor:not-allowed;
}
.nautical-owner-day.blocked{
  background:#f2f4f7;
  border-color:#98a2b3;
  color:#475467;
  cursor:not-allowed;
}
.nautical-owner-day.outside{
  background:#fff;
  border-color:#eaecf0;
  color:#98a2b3;
  opacity:.48;
  cursor:not-allowed;
}
.nautical-owner-day.selected{
  background:#1769ff;
  border-color:#1769ff;
  color:#fff;
}
.nautical-owner-day small{
  position:absolute;
  left:4px;
  right:4px;
  bottom:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:7px;
  font-weight:800;
}

.owner-availability-reset{
  border:1px solid #d0d5dd;
  background:#fff;
  color:#344054;
  border-radius:10px;
  padding:10px 14px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.owner-availability-reset:hover{
  background:#f9fafb;
  border-color:#98a2b3;
}
.nautical-owner-calendar-selection{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding:12px;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid #eaecf0;
}
.nautical-owner-calendar-selection span{
  display:block;
  color:#667085;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
.nautical-owner-calendar-selection strong{
  display:block;
  margin-top:3px;
  color:#101828;
  font-size:12px;
}
.nautical-owner-calendar-selection button{
  border:1px solid #d0d5dd;
  border-radius:9px;
  background:#fff;
  padding:7px 9px;
  cursor:pointer;
  font-weight:800;
}
.nautical-owner-calendar-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:end;
  margin-top:12px;
}
.nautical-owner-calendar-form label{
  color:#344054;
  font-size:10px;
  font-weight:900;
}
.nautical-owner-calendar-form select{
  width:100%;
  min-height:42px;
  display:block;
  margin-top:5px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  padding:0 10px;
  background:#fff;
}
.nautical-owner-calendar-form .primary{
  min-height:42px;
  border:0;
  border-radius:10px;
  background:#1769ff;
  color:#fff;
  padding:0 14px;
  font-weight:900;
  cursor:pointer;
}
.nautical-owner-calendar-form .primary:disabled{opacity:.5;cursor:not-allowed}
.nautical-owner-calendar-status{
  display:none;
  margin-top:10px;
  border-radius:10px;
  padding:9px 10px;
  font-size:10px;
  font-weight:800;
}
.nautical-owner-calendar-status.show{display:block}
.nautical-owner-calendar-status.ok{background:#ecfdf3;color:#027a48}
.nautical-owner-calendar-status.bad{background:#fef3f2;color:#b42318}

.nautical-owner-block-list-wrap{
  margin-top:18px;
  border-top:1px solid #eaecf0;
  padding-top:15px;
}
.nautical-owner-block-list-wrap h3{
  margin:0 0 9px;
  font-size:15px;
  color:#101828;
}
.nautical-owner-block-list{
  display:grid;
  gap:7px;
}
.nautical-owner-block-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid #eaecf0;
  border-radius:11px;
  padding:10px 11px;
}
.nautical-owner-block-row strong{display:block;font-size:11px;color:#101828}
.nautical-owner-block-row small{display:block;margin-top:3px;color:#667085;font-size:9px}
.nautical-owner-block-row button{
  border:1px solid #fda29b;
  border-radius:9px;
  background:#fff;
  color:#b42318;
  padding:7px 9px;
  cursor:pointer;
  font-weight:900;
  font-size:9px;
}
.nautical-owner-block-empty{
  color:#667085;
  font-size:10px;
  padding:8px 0;
}
@media(max-width:600px){
  .nautical-owner-calendar-card{padding:15px;border-radius:18px}
  .nautical-owner-calendar-head h2{font-size:20px}
  .nautical-owner-calendar-form{grid-template-columns:1fr}
  .nautical-owner-day{min-height:40px;border-radius:8px;font-size:11px}
  .nautical-owner-day small{display:none}
}


/* ===== MovRentGo V76 · Staff rimborsi Nautica più chiari ===== */
.staff-nautical-booking-money.cancelled-refund{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.staff-nautical-booking-money .refund{
  background:#ecfdf3;
  border-color:#abefc6;
}
.staff-nautical-booking-money .refund strong{
  color:#067647;
}
.staff-nautical-booking-money .retained{
  background:#fff7ed;
  border-color:#fed7aa;
}
.staff-nautical-booking-money .retained strong{
  color:#9a3412;
}
.staff-nautical-refund-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:9px;
  border:1px solid #e4e7ec;
  border-radius:10px;
  padding:8px 10px;
  background:#f8fafc;
  font-size:9px;
  color:#667085;
}
.staff-nautical-refund-meta span{
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.staff-nautical-refund-meta strong{
  color:#344054;
  overflow-wrap:anywhere;
}
.staff-nautical-refund-meta em{
  font-style:normal;
  font-weight:900;
  color:#067647;
}
@media(max-width:900px){
  .staff-nautical-booking-money.cancelled-refund{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .staff-nautical-booking-money.cancelled-refund{
    grid-template-columns:1fr;
  }
}


/* ===== MovRentGo V77 · annullamento proprietario via piattaforma ===== */
.owner-contact-platform{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:#111827;
  color:#fff;
}
.owner-contact-platform:hover{
  filter:brightness(1.05);
}
.owner-cancel-policy{
  display:inline-block;
  margin-top:5px;
  color:#667085;
  font-size:.92em;
}


/* ===== MovRentGo V79 · Area Proprietario funzionale ===== */
#ownerView .side-item{cursor:pointer;transition:.18s ease}
#ownerView .side-item:hover{background:#122b4d;color:#fff}
#ownerView .side-item.active{background:#1d3f6d;color:#66a5ff}
#ownerView .owner-publish-nav{margin:12px 0 14px;padding:11px 8px;border:1px solid rgba(255,255,255,.11);border-radius:13px;background:rgba(255,255,255,.025)}
#ownerView .owner-publish-label{display:block;padding:0 8px 7px;color:#7f96ad;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
#ownerView .owner-add-item{padding-left:13px;margin:3px 0}
#ownerView .owner-add-item span{display:inline-block;min-width:25px;text-align:center;margin-right:4px}
#ownerView .owner-terms-side{margin-top:12px;border:1px solid rgba(255,255,255,.14)}
.owner-dashboard-panel{display:none}
.owner-dashboard-panel.show{display:block}
.owner-dashboard-title{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  padding-bottom:20px;border-bottom:1px solid #e4e7ec
}
.owner-dashboard-title h2{margin:4px 0 5px;font-size:30px}
.owner-dashboard-title p{margin:0;color:#667085}
.owner-dashboard-refresh{
  border:1px solid #d0d5dd;background:#fff;border-radius:11px;padding:10px 14px;
  font-weight:900;cursor:pointer;color:#344054
}
.owner-dashboard-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px
}
.owner-dashboard-stat{
  border:1px solid #e4e7ec;background:#f8fafc;border-radius:15px;padding:18px;min-width:0
}
.owner-dashboard-stat span{
  display:block;color:#667085;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.25px
}
.owner-dashboard-stat strong{
  display:block;margin-top:8px;font-size:27px;color:#101828;overflow-wrap:anywhere
}
.owner-dashboard-stat.money strong{color:#067647}
.owner-dashboard-stat small{display:block;margin-top:4px;color:#98a2b3}
.owner-dashboard-actions{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px
}
.owner-dashboard-actions button{
  border:0;border-radius:12px;padding:12px 10px;background:#101828;color:#fff;font-weight:900;cursor:pointer
}
.owner-dashboard-actions button:hover{filter:brightness(1.08)}
.owner-dashboard-msg{min-height:18px;margin-top:12px;color:#667085;font-size:12px;font-weight:800}
.owner-section-hidden{display:none!important}
@media(max-width:900px){
  .owner-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .owner-dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .owner-dashboard-grid{grid-template-columns:1fr}
  .owner-dashboard-actions{grid-template-columns:1fr}
  .owner-dashboard-title{flex-direction:column}
}


/* ===== MovRentGo V80 · Staff annullamento su richiesta Proprietario ===== */
.staff-owner-cancel-section{
  margin-top:26px;padding-top:24px;border-top:1px solid #e4e7ec
}
.staff-owner-cancel-note{
  margin:12px 0 16px;padding:12px 14px;border-radius:12px;
  background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;
  font-size:12px;line-height:1.5
}
.staff-owner-cancel-grid{display:grid;gap:14px}
.staff-owner-cancel-card{
  background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:17px;
  box-shadow:0 6px 24px rgba(16,24,40,.05)
}
.staff-owner-cancel-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px
}
.staff-owner-cancel-head h3{margin:0;font-size:17px;color:#101828}
.staff-owner-cancel-head small{display:block;margin-top:4px;color:#667085}
.staff-owner-kind{
  display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;
  background:#eef4ff;color:#175cd3;font-size:10px;font-weight:900;margin-bottom:6px
}
.staff-owner-cancel-status{
  display:inline-flex;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;white-space:nowrap
}
.staff-owner-cancel-status.confirmed{background:#ecfdf3;color:#067647}
.staff-owner-cancel-status.cancelled{background:#fef3f2;color:#b42318}
.staff-owner-cancel-status.completed{background:#f2f4f7;color:#475467}
.staff-owner-cancel-info{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0
}
.staff-owner-cancel-info>div{
  background:#f8fafc;border-radius:11px;padding:10px;min-width:0
}
.staff-owner-cancel-info span{display:block;color:#667085;font-size:10px;font-weight:800;margin-bottom:3px}
.staff-owner-cancel-info strong{display:block;color:#101828;font-size:12px;overflow-wrap:anywhere}
.staff-owner-cancel-warning{
  padding:10px 12px;border-radius:11px;background:#fef3f2;color:#b42318;
  border:1px solid #fecdca;font-size:12px;font-weight:800
}
.staff-owner-cancel-success{
  padding:10px 12px;border-radius:11px;background:#ecfdf3;color:#067647;
  border:1px solid #abefc6;font-size:12px;font-weight:800
}
.staff-action.owner-cancel{
  background:#b42318;color:#fff
}
@media(max-width:900px){
  .staff-owner-cancel-info{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .staff-owner-cancel-info{grid-template-columns:1fr}
  .staff-owner-cancel-head{flex-direction:column}
}


/* ===== MovRentGo V81 · Rifinitura Staff annullamenti ===== */
.staff-owner-cancel-section{
  margin-top:28px;
  padding:24px;
  border:1px solid #e4e7ec;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 28px rgba(16,24,40,.045);
}
.staff-owner-cancel-section > .staff-toolbar{
  margin:0;
  padding:0 0 16px;
  border-bottom:1px solid #eaecf0;
  align-items:center;
}
.staff-owner-cancel-section > .staff-toolbar h2{
  margin:0 0 5px;
}
.staff-owner-cancel-section > .staff-toolbar p{
  margin:0;
  color:#667085;
}
.staff-owner-refresh-btn{
  appearance:none;
  border:1px solid #1769ff;
  background:#1769ff;
  color:#fff;
  border-radius:12px;
  padding:11px 15px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:12px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(23,105,255,.18);
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;
}
.staff-owner-refresh-btn:hover{
  filter:brightness(1.04);
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(23,105,255,.22);
}
.staff-owner-refresh-btn:active{transform:translateY(0)}
.staff-owner-cancel-section .staff-nautical-filters{
  margin:16px 0 12px;
}
.staff-owner-cancel-section .staff-nautical-filter{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 13px;
  transition:.15s ease;
}
.staff-owner-cancel-section .staff-nautical-filter:hover{
  border-color:#84adff;
  background:#f5f8ff;
}
.staff-owner-cancel-section .staff-nautical-filter.active:hover{
  background:#0b6cff;
}
.staff-owner-cancel-section .staff-nautical-filter span{
  min-width:20px;
  height:20px;
  padding:0 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#f2f4f7;
  color:#344054;
  font-size:10px;
  font-weight:950;
}
.staff-owner-cancel-section .staff-nautical-filter.active span{
  background:rgba(255,255,255,.22);
  color:#fff;
}
.staff-owner-cancel-note{
  margin:0 0 14px;
  padding:10px 13px;
  border-radius:12px;
  font-size:11px;
  line-height:1.45;
}
.staff-owner-cancel-grid{gap:11px}
.staff-owner-cancel-card{
  padding:15px;
  border-radius:16px;
  box-shadow:0 4px 16px rgba(16,24,40,.04);
}
.staff-owner-cancel-info{
  gap:8px;
  margin:12px 0;
}
.staff-owner-cancel-info>div{
  padding:9px 10px;
}
.staff-owner-cancel-card .staff-actions{
  margin-top:11px;
}
.staff-action.owner-cancel{
  padding:10px 13px;
  border-radius:11px;
  box-shadow:0 4px 12px rgba(180,35,24,.12);
}
.staff-owner-cancel-success,
.staff-owner-cancel-warning{
  padding:9px 11px;
  font-size:11px;
  line-height:1.4;
}
@media(max-width:760px){
  .staff-owner-cancel-section{padding:16px}
  .staff-owner-cancel-section > .staff-toolbar{
    align-items:stretch;
  }
  .staff-owner-refresh-btn{width:100%}
  .staff-owner-cancel-section .staff-nautical-filters{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .staff-owner-cancel-section .staff-nautical-filter{
    justify-content:center;
  }
}
@media(max-width:480px){
  .staff-owner-cancel-section .staff-nautical-filters{
    grid-template-columns:1fr;
  }
}


/* ===== MovRentGo V82 · Guadagni Proprietario ===== */
.owner-earnings-panel{display:none}
.owner-earnings-panel.show{display:block}
.owner-earnings-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  padding-bottom:18px;border-bottom:1px solid #e4e7ec
}
.owner-earnings-head h2{margin:4px 0 5px;font-size:30px;color:#101828}
.owner-earnings-head p{margin:0;color:#667085}
.owner-earnings-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.owner-earnings-stripe{
  display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:999px;
  background:#ecfdf3;color:#067647;font-size:11px;font-weight:900
}
.owner-earnings-refresh{
  border:1px solid #1769ff;background:#1769ff;color:#fff;border-radius:11px;
  padding:10px 13px;font-weight:900;cursor:pointer;min-height:40px
}
.owner-earnings-filters{
  display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 14px
}
.owner-earnings-filter{
  border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:999px;
  padding:8px 12px;font-weight:900;font-size:12px;cursor:pointer;
  display:inline-flex;align-items:center;gap:7px
}
.owner-earnings-filter:hover{border-color:#84adff;background:#f5f8ff}
.owner-earnings-filter.active{background:#1769ff;border-color:#1769ff;color:#fff}
.owner-earnings-filter span{
  min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#f2f4f7;
  color:#344054;display:inline-flex;align-items:center;justify-content:center;font-size:10px
}
.owner-earnings-filter.active span{background:rgba(255,255,255,.22);color:#fff}
.owner-earnings-summary{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px
}
.owner-earnings-summary article{
  border:1px solid #e4e7ec;background:#f8fafc;border-radius:15px;padding:16px;min-width:0
}
.owner-earnings-summary article span{
  display:block;color:#667085;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.2px
}
.owner-earnings-summary article strong{
  display:block;margin-top:7px;color:#101828;font-size:24px;overflow-wrap:anywhere
}
.owner-earnings-summary article small{display:block;margin-top:4px;color:#98a2b3;line-height:1.35}
.owner-earnings-summary article.fee strong{color:#b54708}
.owner-earnings-summary article.net strong,
.owner-earnings-summary article.paid strong{color:#067647}
.owner-earnings-summary article.ready strong{color:#175cd3}
.owner-earnings-summary article.maturing strong{color:#5925dc}
.owner-earnings-explain{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 20px
}
.owner-earnings-explain>div{
  border:1px solid #eaecf0;border-radius:11px;padding:10px;background:#fff
}
.owner-earnings-explain b{display:block;font-size:11px;color:#344054;margin-bottom:3px}
.owner-earnings-explain span{display:block;font-size:10px;color:#667085;line-height:1.35}
.owner-earnings-history-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:14px;
  padding-top:17px;border-top:1px solid #e4e7ec;margin-bottom:11px
}
.owner-earnings-history-head h3{margin:0;font-size:19px;color:#101828}
.owner-earnings-history-head p{margin:4px 0 0;color:#667085;font-size:12px}
.owner-earnings-history-head button{
  border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:10px;
  padding:9px 11px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap
}
.owner-earnings-list{display:grid;gap:10px}
.owner-earning-row{
  display:grid;grid-template-columns:minmax(210px,1.6fr) repeat(3,minmax(100px,.72fr)) minmax(135px,.9fr);
  gap:10px;align-items:center;border:1px solid #e4e7ec;border-radius:14px;padding:13px;background:#fff
}
.owner-earning-main{min-width:0}
.owner-earning-category{
  display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;
  background:#eef4ff;color:#175cd3;font-size:9px;font-weight:950;margin-bottom:5px
}
.owner-earning-main h4{margin:0;color:#101828;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.owner-earning-main p{margin:4px 0 0;color:#667085;font-size:10px;line-height:1.4}
.owner-earning-money span{display:block;color:#667085;font-size:9px;font-weight:800;margin-bottom:3px}
.owner-earning-money strong{display:block;color:#101828;font-size:12px}
.owner-earning-money.fee strong{color:#b54708}
.owner-earning-money.net strong{color:#067647}
.owner-earning-status{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.owner-earning-badge{
  display:inline-flex;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:950;text-align:center
}
.owner-earning-badge.transferred{background:#ecfdf3;color:#067647}
.owner-earning-badge.ready{background:#eff8ff;color:#175cd3}
.owner-earning-badge.maturing{background:#f4f3ff;color:#5925dc}
.owner-earning-badge.refunded{background:#fef3f2;color:#b42318}
.owner-earning-badge.pending{background:#fff6ed;color:#b54708}
.owner-earning-status small{font-size:9px;color:#98a2b3;text-align:right;line-height:1.3}
.owner-earnings-empty{
  padding:28px;border:1px dashed #d0d5dd;border-radius:14px;text-align:center;color:#667085;background:#fff
}
.owner-earnings-footnote{
  margin-top:13px;padding:11px 13px;border-radius:11px;background:#f8fafc;
  color:#667085;font-size:10px;line-height:1.45
}
@media(max-width:1050px){
  .owner-earnings-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .owner-earnings-explain{grid-template-columns:repeat(2,minmax(0,1fr))}
  .owner-earning-row{grid-template-columns:minmax(200px,1.5fr) repeat(2,minmax(100px,.7fr))}
  .owner-earning-row .owner-earning-money:nth-of-type(3){display:none}
  .owner-earning-status{align-items:flex-start}
}
@media(max-width:680px){
  .owner-earnings-head,.owner-earnings-history-head{flex-direction:column;align-items:stretch}
  .owner-earnings-head-actions{justify-content:stretch}
  .owner-earnings-refresh,.owner-earnings-history-head button{width:100%}
  .owner-earnings-summary,.owner-earnings-explain{grid-template-columns:1fr}
  .owner-earnings-filters{display:grid;grid-template-columns:1fr 1fr}
  .owner-earnings-filter{justify-content:center}
  .owner-earning-row{grid-template-columns:1fr 1fr}
  .owner-earning-main{grid-column:1/-1}
  .owner-earning-status{align-items:flex-start}
}
@media(max-width:440px){
  .owner-earnings-filters{grid-template-columns:1fr}
  .owner-earning-row{grid-template-columns:1fr}
}


/* ===== MovRentGo V83 · Quadratura finanziaria ===== */
.owner-earnings-summary-v83{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.owner-earnings-summary article.refund strong{color:#b42318}
.owner-earnings-summary article.effective strong{color:#344054}
.owner-earnings-summary article.reconcile strong{color:#b54708}

.owner-earnings-balance{
  margin:15px 0 18px;
  padding:14px 15px;
  border:1px solid #d0d5dd;
  border-radius:14px;
  background:#f8fafc;
}
.owner-earnings-balance.ok{
  background:#ecfdf3;
  border-color:#abefc6;
}
.owner-earnings-balance.warn{
  background:#fff7ed;
  border-color:#fed7aa;
}
.owner-earnings-balance-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.owner-earnings-balance-title strong{
  font-size:13px;
  color:#101828;
}
#ownerEarningsBalanceBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 9px;
  background:#f2f4f7;
  color:#475467;
  font-size:10px;
  font-weight:950;
}
.owner-earnings-balance.ok #ownerEarningsBalanceBadge{
  background:#d1fadf;
  color:#067647;
}
.owner-earnings-balance.warn #ownerEarningsBalanceBadge{
  background:#ffead5;
  color:#b54708;
}
.owner-earnings-balance-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.owner-earnings-balance-grid>div{
  padding:10px 11px;
  border-radius:10px;
  background:rgba(255,255,255,.75);
  min-width:0;
}
.owner-earnings-balance-grid span{
  display:block;
  font-size:9px;
  font-weight:900;
  color:#667085;
  text-transform:uppercase;
  margin-bottom:4px;
}
.owner-earnings-balance-grid b{
  display:block;
  font-size:11px;
  color:#101828;
  overflow-wrap:anywhere;
}
.owner-earnings-balance p{
  margin:9px 0 0;
  font-size:10px;
  line-height:1.45;
  color:#667085;
}
.owner-earning-badge.reconcile{
  background:#fff6ed;
  color:#b54708;
}
.owner-earning-reconcile-note{
  display:block;
  margin-top:4px;
  color:#b54708;
  font-size:9px;
  font-weight:850;
  line-height:1.3;
}
@media(max-width:680px){
  .owner-earnings-summary-v83{grid-template-columns:1fr}
  .owner-earnings-balance-grid{grid-template-columns:1fr}
}


/* ===== MovRentGo V91 · Accrediti automatici post-noleggio ===== */
.staff-auto-payout-section{
  margin-top:26px;
  padding:22px;
  border:1px solid #d0d5dd;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  box-shadow:0 7px 24px rgba(16,24,40,.045);
}
.staff-auto-payout-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.staff-auto-payout-actions button{
  border-radius:11px;
  padding:10px 13px;
  min-height:40px;
  font-weight:900;
  cursor:pointer;
}
.staff-auto-payout-dry{
  border:1px solid #84adff;
  background:#eff8ff;
  color:#175cd3;
}
.staff-auto-payout-run{
  border:1px solid #067647;
  background:#067647;
  color:#fff;
}
.staff-auto-payout-rules{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:15px 0 11px;
}
.staff-auto-payout-rules span{
  border:1px solid #d1fadf;
  background:#ecfdf3;
  color:#067647;
  border-radius:10px;
  padding:9px 10px;
  font-size:10px;
  font-weight:900;
}
.staff-auto-payout-warning{
  border:1px solid #fed7aa;
  background:#fff7ed;
  color:#9a3412;
  border-radius:11px;
  padding:10px 12px;
  font-size:10px;
  line-height:1.45;
}
.staff-auto-payout-result{
  margin-top:11px;
  border:1px solid #e4e7ec;
  background:#fff;
  border-radius:12px;
  padding:12px;
  color:#475467;
  font-size:11px;
  line-height:1.5;
  white-space:pre-wrap;
}
.staff-auto-payout-result.ok{
  border-color:#abefc6;
  background:#ecfdf3;
  color:#067647;
}
.staff-auto-payout-result.warn{
  border-color:#fed7aa;
  background:#fff7ed;
  color:#9a3412;
}
@media(max-width:760px){
  .staff-auto-payout-rules{grid-template-columns:1fr 1fr}
  .staff-auto-payout-actions{width:100%}
  .staff-auto-payout-actions button{flex:1}
}
@media(max-width:480px){
  .staff-auto-payout-rules{grid-template-columns:1fr}
  .staff-auto-payout-actions{display:grid;grid-template-columns:1fr}
}



/* ===== MovRentGo V93.5.0 · Ricerca Marketplace + Preferiti ===== */
.marketplace-tools{margin:0 0 22px;padding:16px;background:#fff;border:1px solid #e4e7ec;border-radius:18px;box-shadow:0 8px 24px rgba(16,24,40,.06)}
.marketplace-tools-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.marketplace-tools-title strong{display:block;font-size:16px;color:#101828}.marketplace-tools-title small{display:block;margin-top:3px;color:#667085;font-size:11px;line-height:1.4}
.marketplace-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.marketplace-filter-field{display:flex;flex-direction:column;gap:6px;padding:10px 11px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;min-width:0}.marketplace-filter-field>span{font-size:9px;font-weight:900;color:#667085;text-transform:uppercase;letter-spacing:.04em}
.marketplace-filter-field input,.marketplace-filter-field select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#101828;font-size:12px;font-weight:750}.marketplace-filter-field input[type=number]{appearance:textfield}.marketplace-filter-field input::-webkit-outer-spin-button,.marketplace-filter-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.marketplace-tools-reset{border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:10px;padding:9px 12px;font-size:11px;font-weight:900}.marketplace-tools-reset:hover{background:#f9fafb}.marketplace-filter-note{margin-top:10px;color:#667085;font-size:10px;line-height:1.45}
.favorite-card-btn{position:absolute;right:12px;top:12px;z-index:4;width:38px;height:38px;border:0!important;border-radius:50%!important;padding:0!important;display:grid!important;place-items:center;background:rgba(255,255,255,.96)!important;color:#344054!important;font-size:20px!important;line-height:1!important;box-shadow:0 5px 16px rgba(16,24,40,.18);cursor:pointer}.favorite-card-btn.active{color:#e11d48!important;background:#fff1f3!important}
.favorite-header-btn{display:none;align-items:center;gap:7px;border:1px solid #415063;background:transparent;color:#fff;border-radius:10px;padding:10px 12px;font-weight:850}.favorite-header-btn.show{display:inline-flex}.favorite-count-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e11d48;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900}
.favorites-layer{position:fixed;inset:0;z-index:145;background:rgba(2,6,12,.58);display:none;justify-content:flex-end}.favorites-layer.show{display:flex}.favorites-drawer{width:min(460px,100%);height:100%;overflow:auto;background:#fff;box-shadow:-20px 0 50px rgba(0,0,0,.2);padding:22px}
.favorites-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #e4e7ec}.favorites-head h2{margin:0;font-size:25px}.favorites-head p{margin:5px 0 0;color:#667085;font-size:12px}.favorites-close{border:0;background:#f2f4f7;border-radius:50%;width:38px;height:38px;font-size:22px;color:#344054}
.favorites-list{display:grid;gap:11px;margin-top:16px}.favorite-row{border:1px solid #e4e7ec;border-radius:14px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.favorite-row small{display:block;margin-top:4px;color:#667085;line-height:1.4}.favorite-row-actions{display:flex;gap:7px;align-items:center}
.favorite-row-actions button{border:0;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:900}.favorite-open{background:#1168ff;color:#fff}.favorite-remove{background:#fff1f3;color:#be123c}.favorites-empty{padding:28px 8px;text-align:center;color:#667085;font-size:12px;line-height:1.6}
.marketplace-distance-chip{display:inline-flex;align-items:center;margin-top:8px;padding:6px 8px;border-radius:999px;background:#eef4ff;color:#3538cd;font-size:10px;font-weight:850}.marketplace-policy-chip{display:inline-flex;align-items:center;margin-top:8px;padding:6px 8px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:850}
@media(max-width:1050px){.marketplace-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.marketplace-tools{padding:13px}.marketplace-tools-top{align-items:flex-start}.marketplace-filter-grid{grid-template-columns:1fr 1fr}.favorite-header-btn{display:none!important}.favorites-drawer{padding:17px}.favorite-row{grid-template-columns:1fr}}@media(max-width:430px){.marketplace-filter-grid{grid-template-columns:1fr}}

/* ===== MovRentGo V93.6.1 · Nautica Instant / Request ===== */
.nautica-booking-mode-badge{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900}
.nautica-booking-mode-badge.instant{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.nautica-booking-mode-badge.request{background:#eef4ff;color:#3538cd;border:1px solid #c7d7fe}
.owner-booking-mode-control{margin:10px 0 3px;padding:10px 11px;border-radius:12px;background:#f8fafc;border:1px solid #e4e7ec;max-width:360px}
.owner-booking-mode-control label{display:block;margin-bottom:6px;font-size:10px;font-weight:900;color:#475467;text-transform:uppercase;letter-spacing:.04em}
.owner-booking-mode-control select{width:100%;border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:8px 9px;font:inherit;font-size:11px;font-weight:800;color:#101828}
.nautical-request-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 0 10px;padding:9px 11px;border-radius:11px;background:#f0f7ff;border:1px solid #c7d7fe;color:#1849a9;font-size:11px;font-weight:900}
.nautical-request-card{border-color:#c7d7fe;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
.nautical-request-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.nautical-request-actions button{border:0;border-radius:9px;padding:9px 11px;font-size:10px;font-weight:900;cursor:pointer}
.nautical-request-actions .approve,.nautical-request-actions .pay{background:#1168ff;color:#fff}
.nautical-request-actions .reject,.nautical-request-actions .cancel{background:#fff1f3;color:#be123c;border:1px solid #fecdd3}
.nautical-request-actions button:disabled{opacity:.55;cursor:not-allowed}
.nautical-request-expiry{display:inline-flex;margin-top:7px;padding:6px 8px;border-radius:8px;background:#fffaeb;color:#b54708;font-size:10px;font-weight:800}
.nautical-request-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900}
.nautical-request-status.pending_owner{background:#fff7ed;color:#b54708}
.nautical-request-status.approved_payment{background:#ecfdf3;color:#067647}
.nautical-request-status.rejected,.nautical-request-status.cancelled,.nautical-request-status.expired_owner,.nautical-request-status.expired_payment{background:#f2f4f7;color:#475467}
.nautical-request-owner-copy{margin-top:8px;padding:8px 10px;border-radius:9px;background:#eef4ff;color:#344054;font-size:10px;line-height:1.45}
.nautical-mode-help{display:block;margin-top:6px;color:#667085;font-size:10px;line-height:1.45}
@media(max-width:620px){.owner-booking-mode-control{max-width:none}.nautical-request-actions button{flex:1 1 auto}}



/* ===== MovRentGo V93.6.1 · Calendario Cliente Nautica ===== */
/* ===== MovRentGo V93.6.1b · Fix livello Calendario Cliente Nautica ===== */
#nauticalRenterCalendarModal{z-index:100900!important}

.nautica-booking-date-btn{
  width:100%;
  min-height:38px;
  border:0;
  background:transparent;
  color:#667085;
  text-align:left;
  font:inherit;
  cursor:pointer;
  padding:0;
}
.nautica-booking-date-btn.has-value{color:#101828;font-weight:800}
.nautica-booking-date-btn:after{
  content:'📅';
  float:right;
  opacity:.72;
}
.nautical-renter-calendar-card{width:min(660px,100%)}
.nautical-renter-calendar-selection{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding:12px;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid #eaecf0;
}
.nautical-renter-calendar-selection span{
  display:block;
  color:#667085;
  font-size:9px;
  font-weight:800;
}
.nautical-renter-calendar-selection strong{
  display:block;
  margin-top:3px;
  color:#101828;
  font-size:12px;
}
.nautical-renter-calendar-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:12px;
}
.nautical-renter-calendar-actions button{
  border-radius:10px;
  padding:10px 14px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.nautical-renter-calendar-actions .secondary{
  border:1px solid #d0d5dd;
  background:#fff;
  color:#344054;
}
.nautical-renter-calendar-actions .primary{
  border:0;
  background:#1769ff;
  color:#fff;
}
.nautical-renter-calendar-actions .primary:disabled{opacity:.5;cursor:not-allowed}
.nautical-owner-calendar-legend .hold{background:#fff4e5;border-color:#fdb022}
.nautical-owner-day.hold{
  background:#fff4e5;
  border-color:#fdb022;
  color:#b54708;
  cursor:not-allowed;
}
.nautical-renter-loading{
  margin:10px 0 0;
  padding:9px 10px;
  border-radius:10px;
  background:#eff8ff;
  color:#175cd3;
  font-size:10px;
  font-weight:800;
}
@media(max-width:720px){
  .nautical-renter-calendar-selection{align-items:flex-start;flex-direction:column}
  .nautical-renter-calendar-actions{display:grid;grid-template-columns:1fr 1fr}
}
