:root{
  --ncm-bg:#f5f6f7;--ncm-card:#fff;--ncm-text:#17191c;--ncm-muted:#71767d;--ncm-border:#e5e7e9;
  --ncm-accent:#1b1d20;--ncm-soft:#f0f2f3;--ncm-radius:20px;--ncm-shadow:0 14px 40px rgba(17,20,24,.08)
}
.ncm-app,.ncm-catalog,.ncm-detail,.ncm-booking-public{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ncm-text);line-height:1.45;box-sizing:border-box}.ncm-app *,.ncm-catalog *,.ncm-detail *,.ncm-booking-public *{box-sizing:border-box}
body.ncm-modal-open{overflow:hidden}.hidden{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:#8a8f96;font-weight:650}.ncm-muted{color:var(--ncm-muted);font-size:12px}
.ncm-topbar{position:sticky;top:0;z-index:9000;min-height:64px;padding:10px 20px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--ncm-border);display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.ncm-brand-wrap{display:flex;align-items:baseline;gap:9px}.ncm-brand{font-size:17px;font-weight:650;letter-spacing:-.03em}.ncm-sub{font-size:10px;color:#92979d;text-transform:uppercase;letter-spacing:.09em}.ncm-topbar nav{display:flex;justify-content:center;gap:3px}.ncm-topbar nav button,.ncm-mobile-nav button{border:0;background:transparent;padding:9px 11px;border-radius:11px;color:#666b72;cursor:pointer;font-size:12px}.ncm-topbar nav button.active,.ncm-mobile-nav button.active{background:var(--ncm-soft);color:#111}.ncm-mobile-nav{display:none;background:#fff;border-bottom:1px solid var(--ncm-border);padding:7px 10px;overflow:auto;gap:4px;position:sticky;top:64px;z-index:8999}.ncm-mobile-nav button{white-space:nowrap}
.ncm-main{background:var(--ncm-bg);min-height:82vh;padding:30px}.ncm-section{max-width:1460px;margin:0 auto}.ncm-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px}.ncm-heading h1,.ncm-catalog-hero h1,.ncm-booking-hero h1{margin:4px 0 5px;font-size:30px;line-height:1.1;font-weight:590;letter-spacing:-.045em}.ncm-heading p,.ncm-catalog-hero p,.ncm-booking-hero p{margin:0;color:var(--ncm-muted);font-size:13px;max-width:720px}
.ncm-btn{min-height:40px;border:1px solid var(--ncm-border);padding:9px 14px;border-radius:13px;background:#fff;color:#17191c;cursor:pointer;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s ease}.ncm-btn:hover{transform:translateY(-1px);border-color:#cfd3d6}.ncm-btn.primary{background:var(--ncm-accent);border-color:var(--ncm-accent);color:#fff}.ncm-btn.outline{background:#fff}.ncm-btn.ghost{background:transparent}.ncm-btn.wide{width:100%;margin-top:16px}.ncm-link{border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:11px;color:#555}
.ncm-stats{display:grid;gap:12px;margin-bottom:14px}.ncm-stats-4{grid-template-columns:repeat(4,1fr)}.ncm-stats article{background:#fff;border:1px solid var(--ncm-border);border-radius:18px;padding:17px}.ncm-stats span{display:block;color:var(--ncm-muted);font-size:11px}.ncm-stats strong{display:block;font-size:27px;margin-top:5px;font-weight:570;letter-spacing:-.04em}.ncm-stats.compact article{padding:13px 16px}.ncm-stats.compact strong{font-size:21px}.ncm-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);gap:14px}
.ncm-panel{background:#fff;border:1px solid var(--ncm-border);border-radius:var(--ncm-radius);overflow:hidden}.ncm-panel.public{padding:24px;overflow:visible}.ncm-panel.public h2{font-size:18px;margin:0 0 10px;font-weight:600}.ncm-panel.public>p{color:#62676d;font-size:13px}.ncm-panel-head{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--ncm-border)}.ncm-panel-head h2{font-size:15px;margin:0 0 2px;font-weight:600}.ncm-panel-head p{margin:0;font-size:11px;color:var(--ncm-muted)}
.ncm-table-wrap{overflow:auto}.ncm-table{width:100%;border-collapse:collapse;min-width:900px}.ncm-table th{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#92969c;text-align:left;background:#fafafa;padding:11px 13px;font-weight:650}.ncm-table td{padding:12px 13px;border-top:1px solid #f0f1f2;font-size:12px;vertical-align:middle}.ncm-table td>strong,.ncm-table td>small{display:block}.ncm-table td>small{color:var(--ncm-muted);font-size:10px;margin-top:3px}.ncm-vehicle-cell{display:flex;align-items:center;gap:10px;min-width:230px}.ncm-vehicle-cell strong{display:block;font-weight:600}.ncm-vehicle-cell span{display:block;color:var(--ncm-muted);font-size:10px;margin-top:2px}.ncm-thumb{width:48px;height:48px;border-radius:13px;object-fit:cover;background:#eff1f2}.ncm-thumb.placeholder{display:flex;align-items:center;justify-content:center;font-weight:620;font-size:18px}.actions{white-space:nowrap}.ncm-icon{border:0;background:transparent;padding:5px 7px;cursor:pointer;font-size:10px;color:#333}.ncm-icon.danger{color:#a93d3d}.ncm-message-cell{max-width:320px;color:#60656b}
.ncm-chip{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:650;margin:2px;background:#f0f2f3}.ncm-chip.rental{background:#eaf3ff}.ncm-chip.sale{background:#edf7ef}.ncm-chip.nlt{background:#f4efff}.ncm-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f2f3;font-size:9px;font-weight:600}.ncm-status.active,.ncm-status.available,.ncm-status.confirmed,.ncm-status.completed{background:#eaf7ed}.ncm-status.draft,.ncm-status.maintenance,.ncm-status.pending{background:#fff4d6}.ncm-status.rented,.ncm-status.new{background:#eaf2ff}.ncm-status.cancelled,.ncm-status.inactive,.ncm-status.unavailable{background:#f0f1f2}.ncm-status.active{background:#e5f4ff}
.ncm-filters{display:grid;grid-template-columns:minmax(280px,1fr) 210px 180px;gap:9px;margin-bottom:13px}.ncm-filters.booking-filter{grid-template-columns:minmax(320px,1fr) 220px}.ncm-filters input,.ncm-filters select,.ncm-public-filter input,.ncm-public-filter select,.ncm-calendar-nav input,.ncm-inline-form input,.ncm-inline-form select{height:43px;border:1px solid var(--ncm-border);border-radius:12px;background:#fff;padding:0 12px;color:#202327;outline:none;font-size:12px}.ncm-search{position:relative}.ncm-search input{width:100%;padding-left:37px}.ncm-search>span{position:absolute;left:13px;top:10px;color:#91969c;font-size:16px}
.ncm-modal{position:fixed;inset:0;background:rgba(13,16,20,.4);z-index:99999;display:none;padding:18px;overflow:auto}.ncm-modal.open{display:flex;align-items:flex-start;justify-content:center}.ncm-modal-card{background:#fff;width:min(1120px,100%);margin:auto;border-radius:24px;box-shadow:0 20px 70px rgba(0,0,0,.18);overflow:hidden}.ncm-modal-card.small{width:min(880px,100%)}.ncm-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 21px 14px;border-bottom:1px solid var(--ncm-border)}.ncm-modal-head h2{margin:3px 0 0;font-size:21px;font-weight:590;letter-spacing:-.03em}.ncm-close{border:0;background:#f2f3f4;width:35px;height:35px;border-radius:50%;font-size:22px;cursor:pointer}.ncm-tabs{display:flex;gap:4px;padding:9px 17px;border-bottom:1px solid var(--ncm-border);overflow:auto}.ncm-tabs button{white-space:nowrap;border:0;background:transparent;padding:8px 10px;border-radius:10px;font-size:10px;cursor:pointer}.ncm-tabs button.active{background:#eff1f2;font-weight:650}.ncm-tab{display:none;padding:20px}.ncm-tab.active{display:block}.ncm-form-body{padding:20px}.ncm-grid{display:grid;gap:13px}.ncm-grid.cols-3{grid-template-columns:repeat(3,1fr)}.ncm-grid.cols-2{grid-template-columns:repeat(2,1fr)}#ncm-vehicle-form label,#ncm-booking-form label,.ncm-lead-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#686d73}#ncm-vehicle-form input,#ncm-vehicle-form select,#ncm-vehicle-form textarea,#ncm-booking-form input,#ncm-booking-form select,#ncm-booking-form textarea,.ncm-lead-form input,.ncm-lead-form select,.ncm-lead-form textarea{width:100%;border:1px solid #dfe2e4;border-radius:12px;background:#fff;padding:10px 11px;color:#141619;outline:none;font-size:12px}#ncm-vehicle-form input:focus,#ncm-vehicle-form select:focus,#ncm-vehicle-form textarea:focus,#ncm-booking-form input:focus,#ncm-booking-form select:focus,#ncm-booking-form textarea:focus,.ncm-lead-form input:focus,.ncm-lead-form textarea:focus{border-color:#9da3a8}.full{margin-top:13px!important}.ncm-checkbox-row{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;padding-top:22px}.ncm-checkbox-row input{width:auto!important}.ncm-callout,.ncm-info{background:#f6f7f8;border:1px solid #eceef0;border-radius:16px;padding:14px;margin-bottom:16px}.ncm-callout strong,.ncm-info strong{font-size:12px}.ncm-callout p,.ncm-info p{font-size:10px;color:var(--ncm-muted);margin:3px 0 9px}.ncm-checks{display:flex;gap:8px;flex-wrap:wrap}.ncm-checks label{flex-direction:row!important;align-items:center!important;background:#fff;border:1px solid #e1e3e5;padding:7px 10px;border-radius:999px}.ncm-checks input{width:auto!important}.ncm-form-footer{padding:13px 19px;border-top:1px solid var(--ncm-border);display:flex;justify-content:flex-end;gap:8px;background:#fff}.ncm-media-box{text-align:center;border:1px dashed #d6d9dc;border-radius:18px;padding:18px}.ncm-preview{height:320px;background:#f5f6f7;border-radius:15px;margin-bottom:13px;display:flex;align-items:center;justify-content:center;color:#999;overflow:hidden}.ncm-preview img{width:100%;height:100%;object-fit:cover}.ncm-media-box p{color:var(--ncm-muted);font-size:10px}.ncm-units-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ncm-units-head p{margin:2px 0;color:var(--ncm-muted);font-size:10px}.ncm-unit-form{padding:14px;background:#f7f8f9;border-radius:15px;margin-bottom:12px}.ncm-unit-actions{margin-top:10px;display:flex;justify-content:flex-end}.ncm-unit-row{display:flex;align-items:center;gap:12px;border-top:1px solid #eee;padding:11px 3px}.ncm-unit-row>div{flex:1}.ncm-unit-row strong,.ncm-unit-row span{display:block}.ncm-unit-row div span{font-size:9px;color:#777;margin-top:2px}
.ncm-lead-cards article{padding:13px 15px;border-top:1px solid #f0f1f2;display:flex;justify-content:space-between;gap:12px;align-items:center}.ncm-lead-cards article:first-child{border-top:0}.ncm-lead-cards article>div{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center}.ncm-lead-cards strong{font-size:11px}.ncm-lead-cards small{grid-column:2;color:var(--ncm-muted);font-size:9px}.ncm-lead-cards time{font-size:9px;color:#999}
.ncm-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.ncm-config{overflow:visible}.ncm-inline-form{display:grid;grid-template-columns:1.1fr 1fr .8fr auto;gap:8px;padding:14px;border-bottom:1px solid var(--ncm-border)}.ncm-inline-form.rate{grid-template-columns:1.3fr 1fr .75fr .9fr .9fr .7fr auto}.ncm-simple-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border-top:1px solid #f0f1f2}.ncm-simple-list>div:first-child{border-top:0}.ncm-simple-list strong,.ncm-simple-list small{display:block}.ncm-simple-list strong{font-size:11px}.ncm-simple-list small{font-size:9px;color:var(--ncm-muted);margin-top:2px}.ncm-rates-panel{margin-top:14px}
.ncm-calendar-nav{display:flex;gap:7px;align-items:center}.ncm-calendar-wrap{overflow:auto}.ncm-calendar-grid{display:grid;grid-template-columns:190px repeat(var(--days),34px);min-width:max-content}.ncm-cal-head,.ncm-cal-unit,.ncm-cal-day{border-right:1px solid #f0f1f2;border-bottom:1px solid #f0f1f2}.ncm-cal-head{height:43px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;background:#fafafa}.ncm-cal-head span{font-size:8px;text-transform:uppercase;color:#999}.ncm-cal-head.sticky,.ncm-cal-unit.sticky{position:sticky;left:0;z-index:4;align-items:flex-start;padding-left:13px}.ncm-cal-unit{height:48px;background:#fff;display:flex;flex-direction:column;justify-content:center;padding:0 10px}.ncm-cal-unit strong{font-size:10px}.ncm-cal-unit span{font-size:8px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:165px}.ncm-cal-day{height:48px;background:#fff;display:flex;align-items:center;justify-content:center}.ncm-cal-day.busy{background:#eef3f7}.ncm-cal-day.confirmed{background:#eaf7ed}.ncm-cal-day.active{background:#e7f2ff}.ncm-cal-day.pending{background:#fff5dc}.ncm-cal-day span{font-size:9px;font-weight:650}
.ncm-toast{position:fixed;right:20px;bottom:20px;background:#17191c;color:#fff;padding:11px 15px;border-radius:12px;z-index:999999;transform:translateY(15px);opacity:0;transition:.2s;font-size:11px;box-shadow:var(--ncm-shadow)}.ncm-toast.bad{background:#973d3d}.ncm-toast.show{transform:none;opacity:1}.ncm-empty,.ncm-public-empty{text-align:center!important;color:#888;padding:28px!important}.ncm-login{max-width:520px;margin:40px auto;padding:26px;border:1px solid var(--ncm-border);border-radius:22px;background:#fff}
/* Catalogo pubblico */
.ncm-catalog,.ncm-detail,.ncm-booking-public{max-width:1440px;margin:0 auto;padding:26px 20px}.ncm-catalog-hero,.ncm-booking-hero{padding:28px 0 16px}.ncm-catalog-hero h1,.ncm-booking-hero h1{font-size:46px}.ncm-public-tabs{display:flex;gap:7px;margin-top:18px}.ncm-public-tabs button{border:1px solid #e1e3e5;background:#fff;padding:8px 12px;border-radius:999px;cursor:pointer;font-size:11px}.ncm-public-tabs button.active{background:#17191c;color:#fff;border-color:#17191c}.ncm-public-filter{display:grid;grid-template-columns:minmax(280px,1fr) 220px 190px;gap:9px;margin:13px 0 9px}.ncm-results-count{font-size:10px;color:#8c9197;margin:0 0 16px}.ncm-results-count strong{color:#333}.ncm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ncm-card{border:1px solid var(--ncm-border);border-radius:22px;overflow:hidden;background:#fff;transition:.2s ease}.ncm-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(23,25,28,.07)}.ncm-card-img{height:235px;background:linear-gradient(145deg,#eceff1,#fafafa);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.ncm-card-img img{width:100%;height:100%;object-fit:cover}.ncm-card-badges{position:absolute;top:11px;left:11px}.ncm-car-placeholder{width:78%;height:63%;border-radius:50% 50% 23% 23%/55% 55% 32% 32%;background:linear-gradient(150deg,#dfe3e6,#f7f8f9);box-shadow:inset 0 -15px 30px rgba(0,0,0,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.ncm-car-placeholder:before,.ncm-car-placeholder:after{content:"";position:absolute;bottom:-8px;width:34px;height:34px;border-radius:50%;background:#3c4146;border:8px solid #151719}.ncm-car-placeholder:before{left:15%}.ncm-car-placeholder:after{right:15%}.ncm-car-placeholder span{font-size:11px;color:#777;text-transform:uppercase;letter-spacing:.1em}.ncm-car-placeholder strong{font-size:24px;font-weight:580;letter-spacing:-.04em}.ncm-car-placeholder.large{height:360px;width:82%;margin:auto}.ncm-card-body{padding:16px}.ncm-kicker{font-size:9px;color:#8b9096;text-transform:uppercase;letter-spacing:.06em}.ncm-card h2{font-size:18px;margin:4px 0 11px;font-weight:590;letter-spacing:-.025em}.ncm-specs{display:flex;gap:6px;flex-wrap:wrap}.ncm-specs span{font-size:9px;background:#f4f5f6;padding:5px 7px;border-radius:8px}.ncm-card-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:17px;padding-top:12px;border-top:1px solid #eee}.ncm-card-foot strong{font-size:17px;font-weight:620}.ncm-card-foot small{display:block;color:#888;font-size:9px}.ncm-card-foot a{font-size:10px;color:#111;text-decoration:none;font-weight:600}
/* Scheda veicolo */
.ncm-back{display:inline-block;margin-bottom:14px;font-size:10px;color:#5d6268;text-decoration:none}.ncm-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:18px}.ncm-detail-media{min-height:480px;border:1px solid var(--ncm-border);border-radius:24px;background:#f2f4f5;display:flex;align-items:center;justify-content:center;overflow:hidden}.ncm-detail-media>img{width:100%;height:100%;min-height:480px;object-fit:cover}.ncm-detail-info{border:1px solid var(--ncm-border);border-radius:24px;background:#fff;padding:24px}.ncm-detail-info h1{font-size:32px;line-height:1.08;letter-spacing:-.045em;font-weight:590;margin:7px 0 14px}.ncm-detail-price strong{font-size:26px}.ncm-detail-price small{font-size:11px;color:#777}.ncm-detail-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px}.ncm-detail-specs>div{background:#f6f7f8;border-radius:13px;padding:11px}.ncm-detail-specs span,.ncm-detail-specs strong{display:block}.ncm-detail-specs span{font-size:9px;color:#888}.ncm-detail-specs strong{font-size:11px;margin-top:3px}.ncm-detail-content{display:grid;grid-template-columns:1fr .8fr;gap:16px;margin-top:16px}.ncm-public-facts{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.ncm-public-facts span{background:#f5f6f7;padding:7px 9px;border-radius:10px;font-size:10px}.ncm-lead-box .ncm-btn{margin-top:12px}
/* Ricerca noleggio */
.ncm-booking-search-form{display:grid;grid-template-columns:1fr 1.1fr 1.1fr auto;gap:9px;background:#fff;border:1px solid var(--ncm-border);border-radius:19px;padding:13px;align-items:end}.ncm-booking-search-form>div{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}.ncm-booking-search-form>div:first-child{grid-template-columns:1fr}.ncm-booking-search-form label{display:flex;flex-direction:column;gap:4px;font-size:9px;color:#777}.ncm-booking-search-form input,.ncm-booking-search-form select{height:42px;border:1px solid var(--ncm-border);border-radius:11px;padding:0 10px;background:#fff}.ncm-booking-search-form input[type=time]{width:105px}.ncm-search-heading{display:flex;justify-content:space-between;align-items:end;margin:24px 0 12px}.ncm-search-heading h2{font-size:20px;margin:0;font-weight:590}.ncm-search-heading p{font-size:11px;color:#777;margin:0}.ncm-alert{padding:11px 13px;border-radius:12px;margin-top:12px;font-size:11px}.ncm-alert.bad{background:#fff0f0;color:#8a3939}
@media(max-width:1100px){.ncm-dashboard-grid,.ncm-detail-content{grid-template-columns:1fr}.ncm-config-grid{grid-template-columns:1fr}.ncm-inline-form.rate{grid-template-columns:repeat(3,1fr)}.ncm-cards{grid-template-columns:repeat(2,1fr)}.ncm-detail-grid{grid-template-columns:1fr}.ncm-detail-media{min-height:390px}.ncm-booking-search-form{grid-template-columns:1fr 1fr}.ncm-booking-search-form .ncm-btn{height:42px}.ncm-topbar nav{gap:0}.ncm-topbar nav button{padding:8px}}
@media(max-width:900px){.ncm-topbar{grid-template-columns:1fr auto;padding:9px 12px}.ncm-sub{display:none}.ncm-topbar nav{display:none}.ncm-mobile-nav{display:flex}.ncm-main{padding:18px 12px}.ncm-stats-4{grid-template-columns:repeat(2,1fr)}.ncm-filters{grid-template-columns:1fr 1fr}.ncm-search{grid-column:1/-1}.ncm-grid.cols-3,.ncm-grid.cols-2{grid-template-columns:1fr}.ncm-modal{padding:0}.ncm-modal-card,.ncm-modal-card.small{min-height:100vh;border-radius:0;width:100%}.ncm-preview{height:240px}.ncm-catalog-hero h1,.ncm-booking-hero h1{font-size:37px}.ncm-public-filter{grid-template-columns:1fr 1fr}.ncm-public-filter input{grid-column:1/-1}.ncm-inline-form{grid-template-columns:1fr 1fr}.ncm-inline-form.rate{grid-template-columns:1fr 1fr}.ncm-detail-media>img{min-height:390px}.ncm-car-placeholder.large{height:290px}}
@media(max-width:600px){.ncm-topbar{min-height:58px}.ncm-mobile-nav{top:58px}.ncm-brand{font-size:15px}.ncm-heading{align-items:flex-start;flex-direction:column}.ncm-heading .ncm-btn{width:100%}.ncm-heading h1{font-size:25px}.ncm-stats{gap:8px}.ncm-stats article{padding:13px}.ncm-stats strong{font-size:23px}.ncm-filters,.ncm-filters.booking-filter{grid-template-columns:1fr}.ncm-search{grid-column:auto}.ncm-tabs{padding:8px 10px}.ncm-tab,.ncm-form-body{padding:15px 12px}.ncm-checks{display:grid;grid-template-columns:1fr}.ncm-form-footer{position:sticky;bottom:0;z-index:5}.ncm-config-grid{gap:10px}.ncm-inline-form,.ncm-inline-form.rate{grid-template-columns:1fr}.ncm-catalog,.ncm-detail,.ncm-booking-public{padding:17px 12px}.ncm-catalog-hero,.ncm-booking-hero{padding:20px 0 12px}.ncm-catalog-hero h1,.ncm-booking-hero h1{font-size:31px}.ncm-public-filter,.ncm-cards{grid-template-columns:1fr}.ncm-public-filter input{grid-column:auto}.ncm-card-img{height:220px}.ncm-detail-info{padding:18px}.ncm-detail-info h1{font-size:27px}.ncm-detail-media{min-height:300px}.ncm-detail-media>img{min-height:300px}.ncm-car-placeholder.large{height:220px}.ncm-detail-specs{grid-template-columns:repeat(2,1fr)}.ncm-booking-search-form{grid-template-columns:1fr}.ncm-booking-search-form>div{grid-template-columns:1fr 100px}.ncm-booking-search-form>div:first-child{grid-template-columns:1fr}.ncm-calendar-nav{width:100%}.ncm-calendar-nav input{flex:1}.ncm-unit-row{align-items:flex-start;flex-wrap:wrap}}

/* NC Mobility 0.2.1 - archivio lista */
.ncm-results-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.ncm-results-row .ncm-results-count{margin:0}.ncm-layout-label{font-size:9px;color:#8c9197;text-transform:uppercase;letter-spacing:.06em}.ncm-cards-list{display:flex;flex-direction:column;gap:13px}.ncm-cards-list .ncm-card{display:grid;grid-template-columns:minmax(260px,34%) minmax(0,1fr);min-height:220px;border-radius:20px}.ncm-cards-list .ncm-card:hover{transform:none;box-shadow:0 10px 28px rgba(23,25,28,.06)}.ncm-cards-list .ncm-card-img{height:100%;min-height:220px;border-radius:0}.ncm-cards-list .ncm-card-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,auto);grid-template-rows:auto auto 1fr;column-gap:28px;padding:22px 24px}.ncm-cards-list .ncm-kicker{grid-column:1}.ncm-cards-list .ncm-card h2{grid-column:1;font-size:22px;margin:5px 0 13px}.ncm-cards-list .ncm-specs{grid-column:1;align-self:start}.ncm-cards-list .ncm-specs span{font-size:10px;padding:6px 9px}.ncm-cards-list .ncm-card-foot{grid-column:2;grid-row:1/4;margin:0;padding:0 0 0 22px;border-top:0;border-left:1px solid #eee;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:16px;text-align:right}.ncm-cards-list .ncm-card-foot strong{font-size:23px}.ncm-cards-list .ncm-card-foot small{font-size:10px}.ncm-cards-list .ncm-card-foot a{display:inline-flex;align-items:center;justify-content:center;min-width:125px;border:1px solid #191b1f;border-radius:999px;padding:10px 15px;font-size:10px}.ncm-cards-list .ncm-card-badges{top:13px;left:13px}
@media(max-width:900px){.ncm-cards-list .ncm-card{grid-template-columns:230px minmax(0,1fr)}.ncm-cards-list .ncm-card-body{grid-template-columns:1fr;padding:18px}.ncm-cards-list .ncm-kicker,.ncm-cards-list .ncm-card h2,.ncm-cards-list .ncm-specs,.ncm-cards-list .ncm-card-foot{grid-column:1}.ncm-cards-list .ncm-card-foot{grid-row:auto;border-left:0;border-top:1px solid #eee;padding:13px 0 0;margin-top:16px;flex-direction:row;align-items:flex-end;text-align:left}}
@media(max-width:600px){.ncm-results-row{align-items:flex-start}.ncm-cards-list .ncm-card{display:block;min-height:0}.ncm-cards-list .ncm-card-img{height:215px;min-height:215px}.ncm-cards-list .ncm-card-body{display:block;padding:16px}.ncm-cards-list .ncm-card h2{font-size:19px}.ncm-cards-list .ncm-card-foot{display:flex;flex-direction:row;align-items:flex-end}.ncm-cards-list .ncm-card-foot strong{font-size:19px}}

/* =========================================================
   NC Mobility 0.3.0 - gestionale e annunci automotive
   ========================================================= */
.ncm-modal-card.booking-card{width:min(1180px,100%)}
.booking-form-body{padding:0 22px 18px}
.ncm-form-section{padding:21px 0;border-bottom:1px solid var(--ncm-border)}
.ncm-form-section:last-child{border-bottom:0}
.ncm-section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px}
.ncm-section-title>span{width:29px;height:29px;border-radius:9px;background:#17191c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;letter-spacing:.05em;flex:none}
.ncm-section-title strong,.ncm-section-title small{display:block}.ncm-section-title strong{font-size:14px;font-weight:620}.ncm-section-title small{font-size:10px;color:var(--ncm-muted);margin-top:2px}
.ncm-extra-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.ncm-extra-picker label{border:1px solid var(--ncm-border);border-radius:13px;padding:10px 11px;display:flex;align-items:flex-start;gap:9px;cursor:pointer;background:#fff;transition:.15s ease}
.ncm-extra-picker label:has(input:checked){border-color:#1b1d20;background:#f7f8f8;box-shadow:inset 0 0 0 1px #1b1d20}
.ncm-extra-picker input{margin-top:3px}.ncm-extra-picker strong,.ncm-extra-picker small{display:block}.ncm-extra-picker strong{font-size:11px}.ncm-extra-picker small{font-size:9px;color:var(--ncm-muted);margin-top:2px}
.ncm-money-grid{margin-top:6px}
.ncm-row-actions{display:flex;align-items:center;gap:2px;flex:none}.ncm-simple-list>div>span:first-child{min-width:0}.ncm-simple-list em{display:block;font-size:9px;color:#8b9096;font-style:normal;margin-top:3px}.ncm-wide-field{grid-column:1/-1}.ncm-editable-form{align-items:center}.ncm-editable-form .ncm-cancel-config{min-height:40px}

/* Scheda singola prenotazione */
.ncm-booking-detail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}
.ncm-detail-code{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ncm-detail-code .eyebrow{width:100%}.ncm-detail-code h1{font-size:30px;line-height:1;margin:2px 0;font-weight:590;letter-spacing:-.04em}.ncm-booking-detail-head>div>p{font-size:12px;color:var(--ncm-muted);margin:7px 0 0}.ncm-detail-actions{display:flex;gap:8px;flex-wrap:wrap}
.ncm-booking-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.ncm-booking-summary article{background:#fff;border:1px solid var(--ncm-border);border-radius:17px;padding:15px}.ncm-booking-summary span,.ncm-booking-summary strong,.ncm-booking-summary small{display:block}.ncm-booking-summary span{font-size:9px;color:#8c9197;text-transform:uppercase;letter-spacing:.06em}.ncm-booking-summary strong{font-size:14px;margin-top:5px;font-weight:620}.ncm-booking-summary small{font-size:10px;color:var(--ncm-muted);margin-top:3px}
.ncm-booking-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ncm-detail-panel{padding-bottom:6px}.ncm-data-list{margin:0;padding:5px 18px 13px}.ncm-data-list>div{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:10px 0;border-bottom:1px solid #f0f1f2}.ncm-data-list>div:last-child{border-bottom:0}.ncm-data-list dt{font-size:10px;color:var(--ncm-muted)}.ncm-data-list dd{margin:0;text-align:right;font-size:11px;font-weight:580;max-width:65%}.ncm-data-list dd small{display:block;color:#8b9096;font-weight:400;margin-top:2px}.ncm-data-list .total dd{font-size:16px}.ncm-selected-extras{padding:5px 18px 13px}.ncm-selected-extras>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #f0f1f2}.ncm-selected-extras>div:last-child{border-bottom:0}.ncm-selected-extras span strong,.ncm-selected-extras span small{display:block}.ncm-selected-extras span strong{font-size:11px}.ncm-selected-extras span small{font-size:9px;color:var(--ncm-muted);margin-top:2px}.ncm-detail-notes{margin-top:12px;padding-bottom:16px}.ncm-detail-notes>p{font-size:12px;color:#555c63;padding:0 18px;margin:0}.ncm-created{font-size:9px;color:#8c9197}
.booking-actions{display:flex;align-items:center;gap:2px}.ncm-icon.view{color:#1b1d20;text-decoration:none;font-weight:600}

/* Catalogo: resa più automotive */
.ncm-catalog-hero{max-width:760px;padding-bottom:17px}.ncm-catalog-hero h1{font-size:36px}.ncm-public-filter{background:#fff;border:1px solid var(--ncm-border);border-radius:17px;padding:10px;margin-bottom:12px}.ncm-results-row{padding:0 2px}
.ncm-card-pro{border-radius:18px;border-color:#dde0e3;box-shadow:0 2px 7px rgba(20,24,28,.025)}.ncm-card-pro:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(20,24,28,.09);border-color:#d2d5d8}
.ncm-card-pro .ncm-card-img{height:245px;text-decoration:none}.ncm-card-pro .ncm-card-img:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(to top,rgba(9,12,15,.28),transparent);pointer-events:none}.ncm-card-photo-hint{position:absolute;right:12px;bottom:10px;z-index:2;color:#fff;font-size:9px;background:rgba(0,0,0,.36);backdrop-filter:blur(8px);padding:6px 8px;border-radius:999px;opacity:0;transform:translateY(4px);transition:.2s ease}.ncm-card-pro:hover .ncm-card-photo-hint{opacity:1;transform:none}.ncm-card-pro .ncm-card-badges{z-index:3}.ncm-card-pro .ncm-chip{background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(0,0,0,.06);color:#24272a}
.ncm-card-pro .ncm-card-body{padding:18px;display:flex;flex-direction:column;min-height:292px}.ncm-card-main{flex:1}.ncm-card-heading h2{font-size:21px;line-height:1.08;margin:5px 0 3px;font-weight:600;letter-spacing:-.035em}.ncm-version{font-size:11px;color:#6e747a;margin:0 0 15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ncm-specs-pro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ncm-specs-pro span{background:#f6f7f8;border:1px solid #f0f1f2;border-radius:10px;padding:8px 9px}.ncm-specs-pro small,.ncm-specs-pro strong{display:block}.ncm-specs-pro small{font-size:8px;color:#92979d;margin-bottom:2px}.ncm-specs-pro strong{font-size:10px;font-weight:590;color:#30343a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ncm-card-facts{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.ncm-card-facts span{font-size:8px;border:1px solid #e6e8ea;border-radius:999px;padding:5px 7px;color:#5f656b;background:#fff}.ncm-card-pro .ncm-card-foot{margin-top:15px;padding-top:14px;align-items:center}.ncm-price-block{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;max-width:55%}.ncm-price-block small{width:100%;font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#8e9399}.ncm-price-block strong{font-size:23px!important;line-height:1;font-weight:640;letter-spacing:-.04em}.ncm-price-block em{font-size:9px;color:#777;font-style:normal}.ncm-price-block del{font-size:10px;color:#9b9fa4;width:100%;line-height:1}.ncm-card-cta{display:inline-flex!important;align-items:center;gap:7px;border:1px solid #1b1d20;border-radius:999px;padding:9px 12px!important;font-size:9px!important;font-weight:650!important;text-decoration:none!important;white-space:nowrap}.ncm-card-cta span{font-size:12px}

/* Lista: un annuncio per riga, con prezzo/CTA realmente separati */
.ncm-cards-list .ncm-card-pro{grid-template-columns:minmax(310px,35%) minmax(0,1fr);min-height:240px}.ncm-cards-list .ncm-card-pro .ncm-card-img{min-height:240px;height:100%}.ncm-cards-list .ncm-card-pro .ncm-card-body{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:24px;min-height:240px;padding:22px 24px}.ncm-cards-list .ncm-card-main{min-width:0}.ncm-cards-list .ncm-card-heading h2{font-size:24px}.ncm-cards-list .ncm-version{font-size:12px;max-width:520px}.ncm-cards-list .ncm-specs-pro{grid-template-columns:repeat(4,minmax(95px,1fr));max-width:650px}.ncm-cards-list .ncm-card-foot{grid-column:2;grid-row:1;border:0;border-left:1px solid #eceeef;margin:0;padding:4px 0 4px 24px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}.ncm-cards-list .ncm-price-block{max-width:100%;justify-content:flex-end}.ncm-cards-list .ncm-price-block small,.ncm-cards-list .ncm-price-block del{width:100%;text-align:right}.ncm-cards-list .ncm-price-block strong{font-size:28px!important}.ncm-cards-list .ncm-card-cta{margin-top:15px;min-width:150px;justify-content:center}.ncm-cards-list .ncm-card-facts{margin-top:17px}

/* Scheda veicolo più editoriale */
.ncm-detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:14px}.ncm-detail-media{border-radius:18px}.ncm-detail-info{border-radius:18px;padding:26px}.ncm-detail-info h1{font-size:35px}.ncm-detail-specs>div{border:1px solid #eef0f1;background:#f8f9f9}.ncm-detail-content .ncm-panel.public{border-radius:18px}

@media(max-width:1100px){.ncm-extra-picker{grid-template-columns:repeat(2,1fr)}.ncm-booking-summary{grid-template-columns:repeat(2,1fr)}.ncm-cards-list .ncm-card-pro{grid-template-columns:280px minmax(0,1fr)}.ncm-cards-list .ncm-card-pro .ncm-card-body{grid-template-columns:1fr}.ncm-cards-list .ncm-card-foot{grid-column:1;grid-row:auto;border-left:0;border-top:1px solid #eceeef;padding:14px 0 0;flex-direction:row;align-items:flex-end;text-align:left}.ncm-cards-list .ncm-price-block{justify-content:flex-start}.ncm-cards-list .ncm-price-block small,.ncm-cards-list .ncm-price-block del{text-align:left}.ncm-cards-list .ncm-specs-pro{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ncm-booking-detail-head{align-items:flex-start;flex-direction:column}.ncm-detail-actions{width:100%}.ncm-detail-actions .ncm-btn{flex:1}.ncm-booking-summary,.ncm-booking-detail-grid{grid-template-columns:1fr}.ncm-extra-picker{grid-template-columns:1fr}.ncm-created{display:none}.ncm-cards-list .ncm-card-pro{display:block}.ncm-cards-list .ncm-card-pro .ncm-card-img{height:220px;min-height:220px}.ncm-cards-list .ncm-card-pro .ncm-card-body{display:flex;min-height:0;padding:16px}.ncm-cards-list .ncm-card-foot{display:flex;flex-direction:row;align-items:center}.ncm-card-photo-hint{display:none}.ncm-card-pro .ncm-card-body{min-height:0}.ncm-catalog-hero h1{font-size:31px}.ncm-specs-pro{grid-template-columns:repeat(2,1fr)}}
@media print{.ncm-topbar,.ncm-mobile-nav,.ncm-detail-actions,.ncm-back{display:none!important}.ncm-main{padding:0;background:#fff}.ncm-booking-detail-grid{grid-template-columns:1fr 1fr}.ncm-panel,.ncm-booking-summary article{break-inside:avoid}}
@media(min-width:1101px){
  .ncm-config-grid .ncm-inline-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ncm-rates-panel .ncm-inline-form.rate{grid-template-columns:1.3fr 1fr .72fr .9fr .9fr}
  .ncm-rates-panel .ncm-inline-form.rate .ncm-form-submit,.ncm-rates-panel .ncm-inline-form.rate .ncm-cancel-config{min-width:120px}
}

/* v0.4 - flusso prenotazione pubblico */
.ncm-booking-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:0 0 15px}.ncm-booking-progress span{display:flex;align-items:center;gap:7px;border:1px solid var(--ncm-border);background:#fff;border-radius:12px;padding:9px 10px;font-size:9px;color:#858b91}.ncm-booking-progress b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#f1f2f3;color:#6f757b;font-size:9px}.ncm-booking-progress span.done{color:#30343a}.ncm-booking-progress span.done b{background:#e6f5eb;color:#1d6b3b}.ncm-booking-progress span.active{border-color:#202327;color:#202327}.ncm-booking-progress span.active b{background:#202327;color:#fff}
.ncm-rental-results{display:grid;gap:10px}.ncm-rental-result{display:grid;grid-template-columns:260px minmax(0,1fr) 210px;background:#fff;border:1px solid var(--ncm-border);border-radius:18px;overflow:hidden;min-height:190px}.ncm-rental-result-media{background:#f1f2f3;min-height:190px}.ncm-rental-result-media img{width:100%;height:100%;object-fit:cover;display:block}.ncm-rental-result-main{padding:20px}.ncm-rental-result-main h3{margin:5px 0 5px;font-size:22px;line-height:1.08;font-weight:620;letter-spacing:-.035em}.ncm-rental-result-main>p{font-size:11px;color:var(--ncm-muted);margin:0 0 15px}.ncm-rental-result-facts{display:flex;gap:7px;flex-wrap:wrap}.ncm-rental-result-facts span{font-size:9px;border:1px solid #e7e9eb;border-radius:999px;padding:6px 8px;color:#72787e}.ncm-rental-result-facts strong{color:#30343a}.ncm-rental-result-price{border-left:1px solid #eceeef;padding:20px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}.ncm-rental-result-price small,.ncm-rental-result-price span{font-size:9px;color:#8c9197}.ncm-rental-result-price>strong{font-size:24px;line-height:1;font-weight:650;margin-top:4px}.ncm-rental-result-price em{font-size:9px;color:#777;font-style:normal}.ncm-rental-result-price span{margin-top:14px}.ncm-rental-result-price>b{font-size:17px;margin:3px 0 12px}
.ncm-public-reservation{border:1px solid var(--ncm-border);border-radius:20px;background:#fff;overflow:hidden}.ncm-selected-car{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px;border-bottom:1px solid #eceeef;background:#fafbfb}.ncm-selected-car-media{height:95px;border-radius:13px;overflow:hidden;background:#eff1f2}.ncm-selected-car-media img{width:100%;height:100%;object-fit:cover}.ncm-selected-car h2{font-size:20px;margin:4px 0 4px;font-weight:620;letter-spacing:-.03em}.ncm-selected-car p{font-size:10px;color:var(--ncm-muted);margin:0}.ncm-public-booking-form{padding:0}.ncm-public-booking-step{display:none;padding:24px}.ncm-public-booking-step.active{display:block}.ncm-step-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.ncm-step-heading>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#1d2024;color:#fff;font-size:10px;font-weight:650}.ncm-step-heading h2{font-size:24px;line-height:1.05;margin:0 0 4px;font-weight:610;letter-spacing:-.035em}.ncm-step-heading p{font-size:10px;color:var(--ncm-muted);margin:0}.ncm-public-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ncm-public-extras label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid #e5e7e9;border-radius:14px;padding:12px;cursor:pointer}.ncm-public-extras label:has(input:checked){border-color:#202327;background:#f8f9f9;box-shadow:inset 0 0 0 1px #202327}.ncm-public-extras input{margin-top:3px}.ncm-public-extras span strong,.ncm-public-extras span small{display:block}.ncm-public-extras span strong{font-size:11px}.ncm-public-extras span small{font-size:9px;color:#8b9096;margin-top:3px;line-height:1.35}.ncm-public-extras>b{font-size:10px;white-space:nowrap}.ncm-public-step-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #eff0f1}.ncm-driver-grid label small{font-size:8px;color:#92979d;font-weight:400}.ncm-public-summary{border:1px solid #e6e8ea;border-radius:16px;overflow:hidden}.ncm-public-summary>div{display:flex;justify-content:space-between;gap:20px;padding:11px 13px;border-bottom:1px solid #eff0f1}.ncm-public-summary>div:last-child{border-bottom:0}.ncm-public-summary span{font-size:10px;color:#777d83}.ncm-public-summary strong{font-size:11px;text-align:right}.ncm-public-summary .total{background:#f7f8f8}.ncm-public-summary .total span{color:#22262a;font-weight:600}.ncm-public-summary .total strong{font-size:18px}.ncm-public-consents{display:grid;gap:7px;margin-top:15px}.ncm-public-consents label{display:flex;align-items:flex-start;gap:8px;font-size:9px;color:#656b71}.ncm-public-consents input{margin-top:1px}.ncm-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}.ncm-booking-success{text-align:center;padding:45px 26px 50px;max-width:650px;margin:auto}.ncm-success-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#e6f5eb;color:#1d6b3b;font-size:23px;margin:0 auto 15px}.ncm-booking-success h2{font-size:28px;letter-spacing:-.04em;margin:5px 0 10px}.ncm-booking-success>p{font-size:12px;color:#5f656b;line-height:1.6}.ncm-success-note{margin-top:18px;border:1px solid #e6e8ea;background:#f8f9f9;border-radius:14px;padding:13px;font-size:10px;color:#666d73;line-height:1.5}
@media(max-width:900px){.ncm-booking-progress{grid-template-columns:repeat(5,minmax(80px,1fr));overflow:auto;padding-bottom:2px}.ncm-rental-result{grid-template-columns:210px minmax(0,1fr)}.ncm-rental-result-price{grid-column:2;border-left:0;border-top:1px solid #eceeef;padding:13px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left}.ncm-rental-result-price .ncm-btn{grid-column:2;grid-row:1/5;margin-left:18px}.ncm-public-extras{grid-template-columns:1fr}}
@media(max-width:650px){.ncm-booking-progress{margin-left:-2px;margin-right:-2px}.ncm-booking-progress span{min-width:88px;padding:7px}.ncm-booking-progress span{font-size:8px}.ncm-rental-result{display:block}.ncm-rental-result-media{height:190px;min-height:190px}.ncm-rental-result-main{padding:15px}.ncm-rental-result-price{display:flex;flex-direction:row;align-items:baseline;gap:5px;padding:14px 15px;text-align:left}.ncm-rental-result-price span{margin:0 0 0 auto}.ncm-rental-result-price>b{margin:0}.ncm-rental-result-price .ncm-btn{margin:0 0 0 8px}.ncm-selected-car{grid-template-columns:90px minmax(0,1fr);gap:12px}.ncm-selected-car-media{height:70px}.ncm-selected-car>.ncm-btn{grid-column:1/-1;width:100%;justify-content:center}.ncm-public-booking-step{padding:18px 15px}.ncm-step-heading h2{font-size:21px}.ncm-public-step-actions .ncm-btn{flex:1;justify-content:center}.ncm-public-summary>div{align-items:flex-start}.ncm-driver-grid{grid-template-columns:1fr!important}}

/* =========================================================
   NC Mobility 0.5 — pagamenti, check-out e check-in
   ========================================================= */
.ncm-btn.danger-soft{background:#fff;border:1px solid #f0c9c9;color:#a23232}
.ncm-btn.danger-soft:hover{background:#fff6f6}
.ncm-operational-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px}
.ncm-payment-panel,.ncm-operation-panel{padding:0;overflow:hidden}
.ncm-payment-panel>.ncm-panel-head,.ncm-operation-panel>.ncm-panel-head{padding:20px 22px;border-bottom:1px solid #e7e9ec}
.ncm-payment-balance{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #dde1e5;border-radius:999px;font-size:12px;font-weight:650;background:#fafafa;white-space:nowrap}
.ncm-payment-list{padding:2px 22px}
.ncm-payment-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #eef0f2}
.ncm-payment-row:last-child{border-bottom:0}
.ncm-payment-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.ncm-payment-row small{color:#78808a;font-size:11px}
.ncm-payment-row>strong{font-size:14px;white-space:nowrap}
.ncm-payment-row>strong.negative{color:#a43a3a}
.ncm-payment-form{margin:10px 18px 18px;padding:18px;background:#f7f8f9;border:1px solid #e4e7ea;border-radius:16px}
.ncm-payment-form .full{display:block;margin:10px 0 14px}
.ncm-operation-wait{margin:18px 22px;padding:18px;border-radius:16px;background:#f7f8f9;border:1px dashed #d7dce1}
.ncm-operation-wait strong{display:block;font-size:14px;margin-bottom:4px}
.ncm-operation-wait p{margin:0;color:#737b85;font-size:12px}
.ncm-inspection-form,.ncm-inspection-card{margin:18px 22px;padding:18px;border:1px solid #e3e6e9;border-radius:18px;background:#fff}
.ncm-inspection-card.checkout{background:#fbfcfc}
.ncm-inspection-card.checkin{background:#fbfcfb}
.ncm-inspection-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.ncm-inspection-title span{font-size:14px;font-weight:700}
.ncm-inspection-title strong{font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:6px 9px;border-radius:999px;background:#eef3ef;color:#2c6441}
.ncm-inspection-form .ncm-inspection-title strong{background:#f1f2f4;color:#656d77}
.ncm-inspection-form .full{display:block;margin-top:12px}
.ncm-inspection-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.ncm-inspection-facts span{padding:11px 12px;border-radius:12px;background:#f6f7f8;font-size:11px;color:#737b85}
.ncm-inspection-facts strong{display:block;color:#20252b;font-size:13px;margin-top:3px}
.ncm-inspection-card p{font-size:12px;line-height:1.55;margin:10px 0}
.ncm-inspection-card>small{display:block;color:#89919a;margin-top:8px}
.ncm-inspection-photo-preview{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:14px;margin:12px 0}
.ncm-inspection-upload{display:flex;align-items:center;gap:10px;margin:14px 0}
.ncm-inspection-upload-state{font-size:11px;color:#7b838d}
.ncm-public-payment-choice{margin:16px 0;padding:16px;border:1px solid #e3e6e9;border-radius:16px;background:#fafbfb}
.ncm-public-payment-choice label{display:flex;flex-direction:column;gap:7px;font-weight:650;font-size:12px}
.ncm-public-payment-choice small{display:block;margin-top:7px;color:#7b838d;line-height:1.4}

@media(max-width:900px){
  .ncm-operational-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .ncm-booking-detail-head .ncm-detail-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ncm-booking-detail-head .ncm-detail-actions .ncm-btn{width:100%;justify-content:center}
  .ncm-inspection-facts{grid-template-columns:1fr}
  .ncm-inspection-form,.ncm-inspection-card{margin:14px}
  .ncm-payment-form{margin:10px 14px 14px}
  .ncm-payment-list{padding:2px 14px}
}

/* =========================================================
   NC Mobility 0.6 — clienti, PDF, danni e foto multiple
   ========================================================= */
.ncm-count-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid #dfe3e6;border-radius:999px;background:#fff;font-size:10px;color:#5f666e;white-space:nowrap}
.ncm-customer-table td:nth-child(4){text-align:center}.ncm-customer-table td:nth-child(4) strong{font-size:15px}.ncm-customer-table td:nth-child(4) small{display:block;color:#8a9199;margin-top:2px}
.ncm-customer-layout{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);gap:18px;margin-top:18px}.ncm-customer-layout>.ncm-panel{padding:20px}.ncm-customer-form .full{display:block;margin:12px 0}.ncm-customer-form textarea{width:100%}.ncm-customer-form .ncm-btn{margin-top:4px}
.ncm-customer-detail-head{margin-bottom:0}.ncm-customer-detail-head .ncm-detail-code{align-items:center}
.ncm-inspection-facts{grid-template-columns:repeat(4,1fr)}
.ncm-inspection-gallery,.ncm-damage-gallery,.ncm-upload-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.ncm-inspection-gallery a,.ncm-damage-gallery a{display:block;border-radius:12px;overflow:hidden;background:#eef0f2;border:1px solid #e4e7ea}.ncm-inspection-gallery img,.ncm-damage-gallery img,.ncm-upload-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.ncm-upload-preview img{border-radius:11px;border:1px solid #e1e4e7}
.ncm-damage-panel{margin-top:18px;padding:20px}.ncm-damage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}.ncm-damage-card{border:1px solid #e2e5e8;border-radius:16px;padding:15px;background:#fff;position:relative;overflow:hidden}.ncm-damage-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#c5cbd1}.ncm-damage-card.severity-minor:before{background:#9da7b0}.ncm-damage-card.severity-medium:before{background:#c79842}.ncm-damage-card.severity-major:before{background:#b34c4c}.ncm-damage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ncm-damage-head h3{margin:6px 0 2px;font-size:15px;font-weight:650;letter-spacing:-.02em}.ncm-damage-head small{color:#818892;font-size:10px}.ncm-damage-card>p{font-size:11px;line-height:1.5;color:#545b63;margin:12px 0}.ncm-damage-costs{display:flex;gap:8px;flex-wrap:wrap}.ncm-damage-costs span{border-radius:10px;background:#f5f6f7;padding:8px 10px;font-size:9px;color:#7a828a}.ncm-damage-costs strong{display:block;color:#23272c;font-size:11px;margin-top:2px}.ncm-damage-form{border-top:1px solid #eceef0;padding-top:18px}.ncm-damage-form .full{display:block;margin-top:12px}.ncm-damage-form .ncm-btn.primary{margin-top:4px}.ncm-status.open{background:#fff0d8;color:#805c13}.ncm-status.charged{background:#eaf0ff;color:#35548d}.ncm-status.resolved{background:#e8f4ec;color:#326444}
.ncm-booking-detail-head .ncm-detail-actions a.ncm-btn{text-decoration:none}
@media(max-width:1050px){.ncm-customer-layout{grid-template-columns:1fr}.ncm-damage-grid{grid-template-columns:1fr}}
@media(max-width:700px){.ncm-inspection-gallery,.ncm-damage-gallery,.ncm-upload-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.ncm-inspection-facts{grid-template-columns:repeat(2,1fr)}.ncm-damage-panel{padding:14px}.ncm-customer-layout>.ncm-panel{padding:14px}}

/* =========================================================
   NC Mobility 0.8 — UI/UX polish generale
   ========================================================= */
:root{
  --ncm-bg:#f4f5f6;
  --ncm-text:#20262d;
  --ncm-muted:#68717b;
  --ncm-border:#dde2e6;
  --ncm-accent:#1c2025;
  --ncm-soft:#eef1f3;
}
.ncm-app,.ncm-catalog,.ncm-detail,.ncm-booking-public{font-size:14px;line-height:1.55;color:var(--ncm-text)}
.eyebrow{font-size:11px;line-height:1.2;letter-spacing:.12em;color:#78838e;font-weight:700}.ncm-muted{font-size:13px}
.ncm-topbar{min-height:70px;padding:12px 22px}.ncm-brand{font-size:19px}.ncm-sub{font-size:10.5px}.ncm-topbar nav{gap:4px}.ncm-topbar nav button,.ncm-mobile-nav button{font-size:13px;padding:10px 13px}
.ncm-main{padding:34px}.ncm-heading{margin-bottom:24px}.ncm-heading h1{font-size:34px}.ncm-heading p,.ncm-catalog-hero p,.ncm-booking-hero p{font-size:14px;line-height:1.55}
.ncm-btn{min-height:44px;padding:10px 16px;border-radius:12px;font-size:13px}.ncm-link{font-size:12px}
.ncm-stats span{font-size:12px}.ncm-stats strong{font-size:29px}.ncm-panel-head{padding:18px 20px}.ncm-panel-head h2{font-size:17px}.ncm-panel-head p{font-size:12.5px;line-height:1.45}
.ncm-table th{font-size:10.5px;padding:12px 14px}.ncm-table td{font-size:13px;padding:13px 14px}.ncm-table td>small{font-size:11px}.ncm-vehicle-cell span{font-size:11px}.ncm-chip,.ncm-status{font-size:10.5px;padding:6px 9px}.ncm-icon{font-size:11.5px;padding:6px 8px}
.ncm-filters input,.ncm-filters select,.ncm-public-filter input,.ncm-public-filter select,.ncm-calendar-nav input,.ncm-inline-form input,.ncm-inline-form select{height:46px;font-size:13px;padding:0 13px}
#ncm-vehicle-form label,#ncm-booking-form label,.ncm-lead-form label,.ncm-customer-form label{font-size:12px;color:#555f69;gap:6px}
#ncm-vehicle-form input,#ncm-vehicle-form select,#ncm-vehicle-form textarea,#ncm-booking-form input,#ncm-booking-form select,#ncm-booking-form textarea,.ncm-lead-form input,.ncm-lead-form select,.ncm-lead-form textarea,.ncm-customer-form input,.ncm-customer-form select,.ncm-customer-form textarea{font-size:13.5px;min-height:44px;padding:10px 12px;border-radius:11px}
.ncm-tabs button{font-size:11.5px;padding:9px 12px}.ncm-section-title strong{font-size:15px}.ncm-section-title small{font-size:11.5px}.ncm-extra-picker strong{font-size:12px}.ncm-extra-picker small{font-size:10.5px}.ncm-callout strong,.ncm-info strong{font-size:13px}.ncm-callout p,.ncm-info p{font-size:11.5px}
.ncm-simple-list strong{font-size:12.5px}.ncm-simple-list small,.ncm-simple-list em{font-size:10.5px}.ncm-simple-list>div{padding:13px 15px}

/* Schede gestionali */
.ncm-detail-code h1{font-size:34px}.ncm-booking-detail-head>div>p{font-size:13.5px}.ncm-booking-summary span{font-size:10.5px}.ncm-booking-summary strong{font-size:16px}.ncm-booking-summary small{font-size:11px}.ncm-data-list dt{font-size:11.5px}.ncm-data-list dd{font-size:12.5px}.ncm-data-list .total dd{font-size:18px}.ncm-selected-extras span strong{font-size:12.5px}.ncm-selected-extras span small{font-size:10.5px}.ncm-detail-notes>p{font-size:13px}.ncm-created{font-size:10.5px}
.ncm-customer-layout>.ncm-panel{padding:22px}.ncm-customer-form .ncm-btn{margin-top:10px}

/* Front-end cataloghi */
.ncm-catalog,.ncm-detail,.ncm-booking-public{max-width:1480px;padding:34px 24px}.ncm-catalog-hero,.ncm-booking-hero{padding:32px 0 22px}.ncm-catalog-hero h1,.ncm-booking-hero h1{font-size:48px;line-height:1.02;margin:8px 0 8px;font-weight:610}.ncm-public-tabs button{font-size:12.5px;padding:9px 14px}.ncm-public-filter{padding:12px;gap:10px;margin-bottom:16px}.ncm-results-count,.ncm-layout-label{font-size:11.5px}
.ncm-card-pro .ncm-card-body{padding:20px;min-height:310px}.ncm-card-heading h2{font-size:23px}.ncm-version{font-size:12.5px}.ncm-kicker{font-size:10.5px}.ncm-specs-pro small{font-size:9.5px}.ncm-specs-pro strong{font-size:11.5px}.ncm-specs-pro span{padding:9px 10px}.ncm-card-facts span{font-size:10px;padding:6px 9px}.ncm-price-block small{font-size:9.5px}.ncm-price-block strong{font-size:25px!important}.ncm-price-block em{font-size:10.5px}.ncm-card-cta{font-size:11px!important;padding:10px 14px!important}.ncm-card-photo-hint{font-size:10px}
.ncm-cards-list .ncm-card-heading h2{font-size:26px}.ncm-cards-list .ncm-version{font-size:13px}.ncm-cards-list .ncm-price-block strong{font-size:30px!important}
.ncm-car-placeholder{background:radial-gradient(circle at 45% 25%,#fff 0,#f3f5f6 42%,#e1e5e8 100%);border:1px solid #e1e5e8;box-shadow:0 16px 35px rgba(43,52,61,.08),inset 0 -20px 34px rgba(0,0,0,.035)}.ncm-car-placeholder span{font-size:12px;color:#6e7780}.ncm-car-placeholder strong{font-size:26px;color:#2b3239}

/* Ricerca noleggio: struttura professionale e data/ora allineati */
.ncm-booking-progress{gap:10px;margin-bottom:18px}.ncm-booking-progress span{min-height:46px;padding:10px 12px;font-size:11.5px;border-radius:13px}.ncm-booking-progress b{width:23px;height:23px;font-size:10.5px}
.ncm-booking-search-form-pro{grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) minmax(270px,1.35fr) minmax(270px,1.35fr);gap:12px;padding:16px;border-radius:18px;align-items:end;box-shadow:0 8px 24px rgba(34,42,50,.035)}
.ncm-booking-search-form-pro>.ncm-search-field{display:block;min-width:0}.ncm-booking-search-form-pro label{gap:6px;font-size:12px;color:#5f6973;font-weight:550}.ncm-booking-search-form-pro label>span,.ncm-search-label{display:block;font-size:11px;color:#727c86;margin-bottom:6px;font-weight:600}.ncm-booking-search-form-pro input,.ncm-booking-search-form-pro select{width:100%;height:50px;font-size:13.5px;padding:0 13px;border-radius:11px;border-color:#d9dfe4}.ncm-booking-search-form-pro .ncm-date-time-pair{display:grid;grid-template-columns:minmax(150px,1fr) 110px;gap:8px;align-items:end}.ncm-booking-search-form-pro .ncm-time-label input[type=time]{width:100%}.ncm-booking-search-form-pro .ncm-search-submit{grid-column:1/-1;justify-self:start;min-width:240px;height:48px;margin-top:2px;font-size:13.5px}.ncm-booking-search-form-pro .ncm-search-submit span{font-size:16px;line-height:1}
.ncm-search-heading{margin:30px 0 14px}.ncm-search-heading h2{font-size:23px}.ncm-search-heading p{font-size:12.5px}.ncm-public-empty{font-size:13.5px}.ncm-public-empty-pro{max-width:620px;margin:22px auto;background:#fff;border:1px solid #e3e7ea;border-radius:18px;padding:30px!important}.ncm-public-empty-pro .ncm-empty-icon{display:grid;width:42px;height:42px;place-items:center;margin:0 auto 10px;border-radius:50%;background:#f0f2f4;font-size:22px;color:#4d5760}.ncm-public-empty-pro strong{display:block;color:#2a3138;font-size:17px;margin-bottom:5px}.ncm-public-empty-pro p{font-size:13px;line-height:1.55;margin:0;color:#77818a}
.ncm-rental-results{gap:14px}.ncm-rental-result{grid-template-columns:285px minmax(0,1fr) 225px;min-height:210px;border-radius:19px;box-shadow:0 6px 24px rgba(31,39,47,.035)}.ncm-rental-result-media{min-height:210px}.ncm-rental-result-main{padding:23px}.ncm-rental-result-main h3{font-size:24px}.ncm-rental-result-main>p{font-size:12.5px}.ncm-rental-result-facts span{font-size:10.5px;padding:7px 10px}.ncm-rental-result-price{padding:22px}.ncm-rental-result-price small,.ncm-rental-result-price span{font-size:10.5px}.ncm-rental-result-price>strong{font-size:27px}.ncm-rental-result-price em{font-size:10.5px}.ncm-rental-result-price>b{font-size:19px}.ncm-selected-car h2{font-size:22px}.ncm-selected-car p{font-size:12px}.ncm-step-heading h2{font-size:26px}.ncm-step-heading p{font-size:12.5px}.ncm-step-heading>span{width:36px;height:36px;font-size:11px}.ncm-public-extras span strong{font-size:13px}.ncm-public-extras span small{font-size:11px}.ncm-public-extras>b{font-size:11.5px}.ncm-public-summary span{font-size:11.5px}.ncm-public-summary strong{font-size:12.5px}.ncm-public-summary .total strong{font-size:20px}.ncm-public-consents label{font-size:11.5px}.ncm-booking-success>p,.ncm-success-note{font-size:12.5px}

@media(max-width:1200px){
  .ncm-booking-search-form-pro{grid-template-columns:1fr 1fr}.ncm-booking-search-form-pro .ncm-search-submit{grid-column:1/-1;width:100%}
}
@media(max-width:900px){
  .ncm-main{padding:24px 16px}.ncm-topbar{min-height:64px}.ncm-mobile-nav{top:64px}.ncm-catalog,.ncm-detail,.ncm-booking-public{padding:26px 16px}.ncm-catalog-hero h1,.ncm-booking-hero h1{font-size:40px}.ncm-rental-result{grid-template-columns:230px minmax(0,1fr)}
}
@media(max-width:650px){
  .ncm-app,.ncm-catalog,.ncm-detail,.ncm-booking-public{font-size:13.5px}.ncm-main{padding:18px 12px}.ncm-heading h1{font-size:29px}.ncm-heading p{font-size:13px}.ncm-booking-search-form-pro{grid-template-columns:1fr;padding:13px}.ncm-booking-search-form-pro .ncm-date-time-pair{grid-template-columns:minmax(0,1fr) 105px}.ncm-booking-search-form-pro .ncm-search-submit{grid-column:auto;min-width:0;width:100%}.ncm-booking-progress span{font-size:10px;min-width:105px}.ncm-booking-progress b{width:22px;height:22px}.ncm-catalog-hero h1,.ncm-booking-hero h1{font-size:34px}.ncm-rental-result-main h3{font-size:22px}.ncm-card-heading h2{font-size:21px}.ncm-public-booking-step{padding:20px 16px}.ncm-table td{font-size:12.5px}
}

/* NC Mobility v0.9 · selezione guidata inserimento veicolo */
.ncm-type-picker[hidden]{display:none!important}.ncm-type-picker{position:fixed;inset:0;background:#111b25b9;z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}.ncm-type-card{position:relative;width:min(510px,100%);background:#fff;border-radius:22px;padding:32px;box-shadow:0 20px 75px #0004;color:#15212b}.ncm-type-card h2{font-size:26px;line-height:1.2;margin:10px 0;font-weight:650}.ncm-type-card>p{color:#66727c;font-size:14px;margin:0 0 20px}.ncm-type-close{position:absolute;right:20px;top:16px;background:#f1f3f4;border:0;border-radius:50%;height:36px;width:36px;font-size:25px}.ncm-type-option{position:relative;display:grid;gap:3px;text-align:left;width:100%;border:1px solid #e3e7eb;background:#fff;border-radius:15px;padding:18px 42px 18px 17px;margin-top:10px;color:#16212b}.ncm-type-option:hover,.ncm-type-option:focus{border-color:#f35b20;background:#fff8f5}.ncm-type-option strong{font-size:15px;font-weight:650}.ncm-type-option small{font-size:12px;color:#687480}.ncm-type-option>span{position:absolute;right:17px;top:23px;font-size:20px;color:#f35b20}@media(max-width:600px){.ncm-type-picker{align-items:flex-end;padding:0}.ncm-type-card{width:100%;border-radius:22px 22px 0 0;padding:27px 19px calc(24px + env(safe-area-inset-bottom))}.ncm-type-option{min-height:76px}}

/* NC Mobility 0.9.4 — dedicated operational application shell */
body.ncm-shell-body{--ncm-bg:#f5f7fa;--ncm-border:#e7ebef;--ncm-accent:#1d2834;--ncm-soft:#f1f4f7}
body.ncm-shell-body .ncm-admin-layout{display:flex;min-height:100dvh;align-items:stretch;background:var(--ncm-bg);font-size:14px}
body.ncm-shell-body .ncm-sidebar{position:sticky;top:0;height:100dvh;flex:0 0 252px;width:252px;background:#fff;border-right:1px solid var(--ncm-border);display:flex;flex-direction:column;z-index:9010;overflow-y:auto;padding:24px 13px 15px}
body.ncm-shell-body .ncm-side-brand{display:flex;align-items:center;gap:10px;padding:2px 12px 24px;border-bottom:1px solid var(--ncm-border);margin-bottom:24px}
body.ncm-shell-body .ncm-side-logo{font-size:24px;letter-spacing:-.11em;font-weight:750;line-height:1;color:#1c2834;white-space:nowrap}.ncm-side-logo span{font-size:13px;color:#f05a28;vertical-align:top;letter-spacing:0;margin-left:2px}
body.ncm-shell-body .ncm-side-brand strong{display:block;font-size:15px;letter-spacing:-.04em;font-weight:650}body.ncm-shell-body .ncm-side-brand small{display:block;font-size:9px;letter-spacing:.2em;color:#9aa4ad;margin-top:2px}
body.ncm-shell-body .ncm-side-caption{padding:4px 13px 10px;font-size:9px;font-weight:700;letter-spacing:.13em;color:#9aa3ac;margin-top:8px}
body.ncm-shell-body .ncm-side-nav{display:grid;gap:4px;margin-bottom:20px}
body.ncm-shell-body .ncm-side-nav button,body.ncm-shell-body .ncm-side-bottom a{display:flex;align-items:center;gap:13px;min-height:44px;width:100%;border:0;background:transparent;border-radius:12px;text-align:left;padding:10px 13px;font-size:13px;font-weight:540;color:#63707d;cursor:pointer;text-decoration:none;line-height:1.4}
body.ncm-shell-body .ncm-side-nav button:hover,body.ncm-shell-body .ncm-side-bottom a:hover{background:#f5f7f9;color:#18222d}
body.ncm-shell-body .ncm-side-nav button.active{background:#fff2ed;color:#dc5224;font-weight:650}
body.ncm-shell-body .ncm-nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 19px;width:19px;font-size:20px;font-weight:400;line-height:1;color:inherit}
body.ncm-shell-body .ncm-side-bottom{border-top:1px solid var(--ncm-border);padding-top:14px;margin-top:auto}
body.ncm-shell-body .ncm-workspace{min-width:0;flex:1;display:flex;flex-direction:column}
body.ncm-shell-body .ncm-admin-topbar{position:sticky;top:0;left:0;min-height:76px;height:76px;padding:12px 28px;display:flex;justify-content:space-between;gap:15px;background:#fff;border-bottom:1px solid var(--ncm-border);z-index:9000;backdrop-filter:none}
body.ncm-shell-body .ncm-top-left,body.ncm-shell-body .ncm-top-actions{display:flex;align-items:center;gap:16px;min-width:0}
body.ncm-shell-body .ncm-top-left>div{display:flex;flex-direction:column;gap:2px}.ncm-top-eyebrow{font-size:9px;letter-spacing:.16em;color:#9ba6b1;font-weight:650}.ncm-current-view{font-size:17px;letter-spacing:-.02em;font-weight:650;line-height:1.2;color:#1c2834}
body.ncm-shell-body .ncm-site-link{display:inline-flex;align-items:center;gap:5px;color:#66717d;text-decoration:none;font-size:12px;font-weight:550}
body.ncm-shell-body .ncm-top-actions .ncm-btn.primary{background:#f05a28;border-color:#f05a28;color:#fff;border-radius:12px;white-space:nowrap;font-size:12px}
body.ncm-shell-body .ncm-user{display:flex;align-items:center;gap:8px;border-left:1px solid var(--ncm-border);padding-left:15px;font-size:12px;color:#505b66;white-space:nowrap}
body.ncm-shell-body .ncm-avatar{width:33px;height:33px;border-radius:50%;background:#ecf1f6;display:inline-grid;place-items:center;color:#2f495d;font-size:12px;font-weight:700}
body.ncm-shell-body .ncm-main{flex:1;padding:32px 34px 48px;background:var(--ncm-bg);min-height:calc(100dvh - 76px)}
body.ncm-shell-body .ncm-section{max-width:1600px;margin:0 auto}
body.ncm-shell-body .ncm-heading h1{font-weight:620;font-size:30px}
body.ncm-shell-body .ncm-panel,body.ncm-shell-body .ncm-stats article{border-color:#e5eaef;box-shadow:0 3px 16px rgba(30,45,60,.025)}
body.ncm-shell-body .ncm-stats article{border-radius:17px}
body.ncm-shell-body .ncm-side-shade{display:none}
body.ncm-shell-body .ncm-menu-toggle,body.ncm-shell-body .ncm-side-close{display:none}
@media(max-width:1160px){body.ncm-shell-body .ncm-sidebar{flex-basis:218px;width:218px}body.ncm-shell-body .ncm-admin-topbar{padding:12px 20px}body.ncm-shell-body .ncm-main{padding:24px 20px 40px}body.ncm-shell-body .ncm-user-name{display:none}}
@media(max-width:900px){
 body.ncm-shell-body .ncm-sidebar{position:fixed;top:0;left:0;width:min(290px,86vw);height:100dvh;transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 32px rgba(0,0,0,.06)}
 body.ncm-side-open .ncm-sidebar{transform:translateX(0)}
 body.ncm-shell-body .ncm-side-shade{display:block;position:fixed;inset:0;background:rgba(13,24,36,.4);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:9009}
 body.ncm-side-open .ncm-side-shade{opacity:1;visibility:visible}body.ncm-side-open{overflow:hidden}
 body.ncm-shell-body .ncm-menu-toggle{display:flex;width:38px;height:38px;border:1px solid var(--ncm-border);border-radius:10px;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:0}
 body.ncm-shell-body .ncm-menu-toggle span{width:17px;height:1.5px;border-radius:3px;background:#263442;display:block}
 body.ncm-shell-body .ncm-side-close{display:inline-flex;margin-left:auto;align-items:center;justify-content:center;border:0;border-radius:9px;width:29px;height:29px;background:#f0f3f5;font-size:21px;color:#243342}
 body.ncm-shell-body .ncm-admin-topbar{height:68px;min-height:68px}
 body.ncm-shell-body .ncm-main{min-height:calc(100dvh - 68px)}
}
@media(max-width:650px){
 body.ncm-shell-body .ncm-admin-topbar{padding:10px 13px}body.ncm-shell-body .ncm-top-left,body.ncm-shell-body .ncm-top-actions{gap:9px}
 body.ncm-shell-body .ncm-top-eyebrow{font-size:8px}body.ncm-shell-body .ncm-current-view{font-size:14px}
 body.ncm-shell-body .ncm-site-link,body.ncm-shell-body .ncm-user{display:none}
 body.ncm-shell-body .ncm-top-actions .ncm-btn.primary{font-size:11px;padding:8px 10px;min-height:38px}
 body.ncm-shell-body .ncm-main{padding:18px 12px 28px}
 body.ncm-shell-body .ncm-heading h1{font-size:26px}
 body.ncm-shell-body .ncm-stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.ncm-shell-body .ncm-dashboard-grid{grid-template-columns:1fr}
}

/* NC Mobility 0.9.5 - rental workspace and selectable monthly calendar */
.ncm-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}
.ncm-quick-booking-panel{padding:28px}.ncm-quick-booking-panel p{color:#657184;max-width:65ch}
.ncm-month-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:0 0 18px;padding:18px;background:#fff;border:1px solid #e3e8ef;border-radius:16px}
.ncm-month-controls label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#536173;flex:1;min-width:180px}
.ncm-month-controls label:first-of-type{flex:2}
.ncm-month-controls select,.ncm-month-controls input{width:100%;min-height:42px;border:1px solid #dce3eb;border-radius:10px;padding:8px 11px;background:#fff;color:#142537;font:inherit}
.ncm-month-arrows{display:flex;gap:7px}.ncm-month-panel{overflow:hidden}
.ncm-month-panel .ncm-panel-head{padding:19px 21px;align-items:center;flex-wrap:wrap;gap:12px}
.ncm-month-legend{display:flex;gap:14px;font-size:12px;color:#5b697b}.ncm-month-legend span{display:flex;align-items:center;gap:6px}.ncm-month-legend i{display:block;width:10px;height:10px;border-radius:50%;background:#e3ece8}.ncm-month-legend i.busy{background:#e85b37}
.ncm-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e8edf3}
.ncm-month-weekday{text-align:center;background:#f5f7fa;font-size:12px;font-weight:650;padding:12px 3px;color:#607083;border-right:1px solid #e8edf3}
.ncm-month-cell{min-height:112px;padding:10px;border-top:1px solid #e8edf3;border-right:1px solid #e8edf3;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;background:#fff}
.ncm-month-cell.is-busy{background:#fffaf8}.ncm-month-cell.is-today .ncm-month-day{background:#192532;color:white}.ncm-month-day{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;font-size:12px;font-weight:650}
.ncm-month-booking{display:block;width:100%;box-sizing:border-box;border-radius:8px;background:#fff0e9;border-left:3px solid #eb653b;padding:6px 8px;color:#663726;text-decoration:none;line-height:1.35;overflow:hidden}
.ncm-month-booking strong,.ncm-month-booking small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.ncm-month-booking small{font-size:10px;opacity:.85}.ncm-month-free{font-size:10px;color:#7b9486}.ncm-month-pad{background:#f7f9fb}.ncm-month-empty{padding:25px}
@media(max-width:700px){.ncm-quick-actions{grid-template-columns:1fr}.ncm-month-controls{padding:12px}.ncm-month-controls label,.ncm-month-controls label:first-of-type{flex:1 1 100%}.ncm-month-grid{overflow:hidden}.ncm-month-cell{min-height:77px;padding:5px 3px;gap:4px}.ncm-month-weekday{font-size:10px;padding:9px 1px}.ncm-month-day{height:23px;width:23px;font-size:11px}.ncm-month-booking{padding:4px 2px;border-left-width:2px}.ncm-month-booking strong{font-size:9px}.ncm-month-booking small,.ncm-month-free{display:none!important}}

/* 0.9.6: single title in app toolbar; page context is description only. */
body.ncm-shell-body .ncm-heading{align-items:center;margin-bottom:16px;gap:16px}
body.ncm-shell-body .ncm-heading p{max-width:850px;margin:0;font-size:14px;line-height:1.55}
@media(max-width:600px){body.ncm-shell-body .ncm-heading{align-items:stretch;gap:12px;margin-bottom:14px}}
/* Rental configuration: focused standalone sections */
.ncm-settings-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:14px}
.ncm-settings-hub>button{background:#fff;border:1px solid #e2e8f0;border-radius:17px;min-height:120px;text-align:left;padding:22px;cursor:pointer;display:flex;flex-direction:column;gap:10px;color:#172635}
.ncm-settings-hub>button:hover{border-color:#ed653f;box-shadow:0 8px 24px #1c36400c}
.ncm-settings-hub strong{font-size:16px}.ncm-settings-hub small{color:#64748b;font-size:12px}
.ncm-settings-list{padding:5px 18px}.ncm-settings-item{padding:16px 6px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #eaf0f5;flex-wrap:wrap}
.ncm-settings-item:last-child{border-bottom:0}.ncm-settings-item>div:first-child{flex:1;min-width:175px}.ncm-settings-item strong{display:block;font-size:14px}.ncm-settings-item small{display:block;color:#64748b;margin-top:5px;line-height:1.5}
.ncm-settings-editor{margin-top:18px;padding:24px}.ncm-settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ncm-settings-fields label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#3b4b5d}.ncm-settings-fields input,.ncm-settings-fields select,.ncm-settings-fields textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d7e0eb;border-radius:10px;padding:12px;background:#fff;font:inherit;color:#182a3a}
.ncm-settings-fields .ncm-settings-wide{grid-column:1/-1}.ncm-settings-actions{display:flex;gap:9px;margin-top:20px}
@media(max-width:700px){.ncm-settings-fields{grid-template-columns:1fr}.ncm-settings-item{gap:10px}.ncm-settings-item>div:first-child{min-width:100%;}.ncm-settings-editor{padding:15px}}

/* NC Mobility: independent vehicle configuration */
.ncm-vehicle-assign{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:9px;margin:12px 0 18px}
.ncm-vehicle-assign label{display:flex!important;align-items:center!important;flex-direction:row!important;gap:9px!important;padding:12px 13px!important;border:1px solid #dfe6ec;border-radius:12px;background:#fff;color:#253444!important;font-size:12px!important;line-height:1.4;cursor:pointer}
.ncm-vehicle-assign input[type=checkbox]{width:17px!important;height:17px!important;flex:0 0 auto;margin:0}
.ncm-vehicle-setting-form .ncm-settings-fields{margin-top:10px}.ncm-vehicle-setting-form .ncm-settings-wide strong{font-size:13px}
@media(max-width:650px){.ncm-vehicle-assign{grid-template-columns:1fr}.ncm-vehicle-setting-form .ncm-settings-fields{grid-template-columns:1fr}}

.ncm-included-features{margin:17px 0;padding:15px;border:1px solid #e4e9ee;border-radius:14px}.ncm-included-features>strong{font-size:13px}.ncm-included-features>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.ncm-included-features span{font-size:11px;background:#f3f7f6;border-radius:30px;padding:7px 10px;color:#304e44}

.ncm-optional-preview img{display:block;width:120px;height:90px;object-fit:cover;border:1px solid #dbe3e9;border-radius:12px;margin-top:10px}.ncm-optional-photo{max-width:420px}
/* NC Mobility pricing 0.9.9 */
.ncm-pricing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:22px}
.ncm-pricing-fields>label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:550;min-width:0}
.ncm-pricing-fields input:not([type=checkbox]),.ncm-pricing-fields select,.ncm-pricing-fields textarea{width:100%;min-height:42px;border:1px solid #dce3ed;border-radius:11px;background:#fff;color:#1e293b;padding:9px 12px;box-sizing:border-box}
.ncm-price-wide{grid-column:1/-1}
.ncm-price-editor{padding:0;overflow:hidden}.ncm-price-editor>.ncm-panel-head{padding:18px 22px;border-bottom:1px solid #e8ebef}
.ncm-price-editor .ncm-settings-actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 22px 22px}
.ncm-pick-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:6px 0 12px}.ncm-pick-head strong{margin-right:auto}
.ncm-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px}
.ncm-check-pill{display:flex;align-items:center;gap:9px;border:1px solid #dce3ed;border-radius:10px;padding:11px 12px;cursor:pointer;font-size:13px;line-height:1.35;background:#fff}
.ncm-check-pill:has(input:checked){border-color:#ec6e43;background:#fff5f1;color:#a53e20}
.ncm-check-pill input{accent-color:#e8653b;width:16px;height:16px;flex:none}
.ncm-price-list{padding:10px 16px}.ncm-price-list.hidden,.ncm-price-editor.hidden{display:none!important}
#ncm-price-preview-results{padding:0 22px 22px;overflow:auto}
@media(max-width:700px){.ncm-pricing-fields{grid-template-columns:1fr;padding:15px}.ncm-price-editor .ncm-settings-actions{padding:0 15px 15px}.ncm-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ncm-check-pill{font-size:12px;padding:9px}.ncm-pick-head strong{flex-basis:100%}}

/* 0.9.10 — Scheda clienti: PIN e documenti riservati */
.ncm-customer-layout .ncm-customer-history{grid-column:1/-1}
.ncm-pin-panel{margin-top:24px;padding-top:20px;border-top:1px solid #e5eaf0}
.ncm-pin-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ncm-pin-result{margin-top:12px;padding:14px;border:1px solid #c9e8d8;background:#f0faf4;border-radius:14px}
.ncm-pin-result strong{font-size:25px;letter-spacing:4px;margin-right:12px;font-variant-numeric:tabular-nums}
.ncm-doc-upload{border:1px dashed #bdcad6;background:#f8fafc;border-radius:16px;padding:18px;display:grid;gap:12px}
.ncm-doc-upload input[type=file]{display:block;width:100%;max-width:100%;font-size:14px}
.ncm-doc-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #e7ebf0}
.ncm-doc-item>div:first-child{min-width:0;overflow-wrap:anywhere}.ncm-doc-item small{display:block;color:#64748b}
.ncm-doc-actions{display:flex;gap:8px;flex-shrink:0}.ncm-doc-actions a{text-decoration:none}
@media(max-width:680px){.ncm-doc-item{align-items:flex-start;flex-direction:column}.ncm-doc-actions{width:100%;flex-wrap:wrap}}

/* 0.9.11 — Client view-first, full-width documents and rental history */
body.ncm-shell-body .ncm-customer-detail-head{margin:0 0 16px!important;padding:0 2px!important}
body.ncm-shell-body .ncm-customer-detail-head .ncm-back{display:inline-flex;margin-bottom:12px}
body.ncm-shell-body .ncm-customer-detail-head .ncm-detail-code h1{font-size:27px;line-height:1.22;margin:1px 0}
body.ncm-shell-body .ncm-customer-detail-head>div>p{margin:7px 0 0}
body.ncm-shell-body .ncm-customer-layout-v2{display:flex;flex-direction:column;gap:16px;margin-top:16px}
body.ncm-shell-body .ncm-customer-layout-v2>.ncm-panel{width:100%;box-sizing:border-box;min-width:0;padding:24px 26px}
.ncm-customer-layout-v2 .ncm-customer-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px;margin:4px 0 20px}
.ncm-customer-facts>div{padding:12px 0;border-bottom:1px solid #edf0f4;min-width:0}
.ncm-customer-facts dt{font-size:11px;color:#6c7786;margin:0 0 5px}
.ncm-customer-facts dd{font-size:13px;font-weight:550;line-height:1.5;color:#1e2936;margin:0;overflow-wrap:anywhere}
.ncm-customer-layout-v2 .ncm-customer-form.hidden,.ncm-customer-layout-v2 .ncm-customer-readonly.hidden{display:none!important}
.ncm-customer-layout-v2 .ncm-customer-form{border-top:1px solid #e9eef3;padding-top:18px}
.ncm-customer-layout-v2 .ncm-customer-form .ncm-grid{gap:13px 18px}
.ncm-customer-layout-v2 .ncm-customer-form input,.ncm-customer-layout-v2 .ncm-customer-form textarea{border:1px solid #dce3ea!important;border-radius:10px!important;box-shadow:none!important;min-width:0;width:100%;box-sizing:border-box}
.ncm-customer-edit-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.ncm-customer-layout-v2 .ncm-customer-doc-panel{grid-column:auto;max-width:none}
.ncm-customer-layout-v2 .ncm-customer-history{grid-column:auto;max-width:none}
.ncm-customer-layout-v2 .ncm-doc-upload{padding:16px;max-width:none}
.ncm-customer-layout-v2 .ncm-doc-upload .ncm-btn{width:max-content;min-width:160px}
@media(max-width:850px){.ncm-customer-layout-v2 .ncm-customer-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){body.ncm-shell-body .ncm-customer-layout-v2>.ncm-panel{padding:17px 15px}.ncm-customer-layout-v2 .ncm-customer-facts{grid-template-columns:1fr}.ncm-customer-layout-v2 .ncm-doc-upload .ncm-btn{width:100%}}
/* NC Mobility 0.9.12 — coupon and financial reporting */
.ncm-report-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;padding:18px}.ncm-report-filters label{display:flex;flex-direction:column;gap:7px;min-width:145px;flex:1;font-size:13px}.ncm-report-filters input,.ncm-report-filters select{min-height:43px;border:1px solid #dce3eb;border-radius:10px;background:#fff;padding:8px 12px;max-width:100%}.ncm-report-filters button{min-height:43px}.ncm-report-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.ncm-report-kpis article{border:1px solid #e3e8f0;border-radius:16px;padding:17px;background:#fff;display:flex;flex-direction:column;gap:7px}.ncm-report-kpis span{font-size:12px;color:#68788a}.ncm-report-kpis strong{font-size:22px;font-weight:600}.ncm-public-coupon{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:14px 0}.ncm-public-coupon label{flex:1;min-width:170px}.ncm-public-coupon input{width:100%;min-height:43px;border:1px solid #dce3eb;border-radius:12px;padding:10px}.ncm-coupon-message{width:100%;font-size:12px;color:#657487;margin:0}.ncm-coupon-saving{display:flex;justify-content:space-between;padding:10px 0;color:#1a7856}.ncm-coupon-admin-result{align-self:center}.ncm-booking-coupon-note{margin:0 0 14px;padding:14px 18px}.ncm-coupon-pick{padding:14px 0}.ncm-coupon-pick .ncm-check-grid{max-height:275px;overflow:auto}.ncm-coupon-pick .ncm-pick-head{display:flex;gap:8px;margin-bottom:12px}@media(max-width:760px){.ncm-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ncm-report-filters{padding:10px}.ncm-report-filters label{min-width:135px}.ncm-public-coupon{align-items:stretch}}

/* Reportistica v0.9.13 */
.ncm-report-shell{overflow:hidden}.ncm-report-presets{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:18px 18px 0}.ncm-report-presets .ncm-btn{font-size:12px}.ncm-report-presets span{margin-left:auto;color:#718096;font-size:12px}.ncm-report-loading{padding:34px;color:#66758a}.ncm-report-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.ncm-report-kpis article{min-height:118px}.ncm-report-kpis small{font-size:11px;color:#8a97a8;line-height:1.4}.ncm-report-note{margin:4px 18px 20px;padding:13px 16px;border-radius:12px;background:#f4f7fb;color:#617186;font-size:12px;line-height:1.6}.ncm-report-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 18px 20px}.ncm-report-chart{border:1px solid #e3e8f0;border-radius:17px;padding:20px;min-width:0}.ncm-report-chart h3,.ncm-report-detail h3{font-size:16px;font-weight:600;margin:0 0 20px}.ncm-report-bars{height:150px;display:flex;align-items:end;gap:3px;border-bottom:1px solid #dce3eb}.ncm-report-bar{flex:1;min-width:2px;height:100%;display:flex;align-items:end}.ncm-report-bar i{display:block;width:100%;border-radius:3px 3px 0 0;background:#ea653c;min-height:1px}.ncm-report-charts article:nth-child(2) .ncm-report-bar i{background:#3c8caa}.ncm-report-chart-labels{display:flex;justify-content:space-between;color:#8b97a5;font-size:11px;margin-top:9px}.ncm-report-detail{padding:22px 18px;border-top:1px solid #e3e8f0}.ncm-report-detail .ncm-table-wrap{border:1px solid #e3e8f0;border-radius:12px;overflow:auto}@media(max-width:1100px){.ncm-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ncm-report-charts{grid-template-columns:1fr}.ncm-report-kpis{gap:8px;padding:10px}.ncm-report-kpis article{padding:12px}.ncm-report-kpis strong{font-size:18px}.ncm-report-presets span{width:100%}}

.ncm-report-error{margin:16px 0 0;padding:14px 16px;border:1px solid #f0c8bb;border-radius:12px;background:#fff4ef;color:#8b351b;font-size:14px}.ncm-report-loading{margin:18px 0 0!important}

/* NC Mobility global settings */
.ncm-global-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 20px}.ncm-global-tabs button{border:1px solid #dde5ee;background:#fff;border-radius:12px;padding:12px 17px;cursor:pointer;color:#253747;font:inherit}.ncm-global-tabs button.active{background:#20303e;color:white;border-color:#20303e}.ncm-global-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ncm-global-page .ncm-panel{padding:24px;margin-bottom:18px}.ncm-global-page h3{margin:0 0 18px}.ncm-global-field{display:flex;flex-direction:column;gap:7px;margin:0 0 16px;color:#3d4b58;font-size:13px}.ncm-global-field input,.ncm-global-field textarea{width:100%;max-width:100%;border:1px solid #dae2ec;border-radius:10px;background:#fff;padding:11px 13px;font:inherit;color:#20303e;box-sizing:border-box}.ncm-global-switch{display:flex;align-items:center;gap:9px;margin:15px 0;font-size:14px}.ncm-global-switch input[type=checkbox]{width:18px;height:18px;accent-color:#ee6333}.ncm-global-template{border:1px solid #dde5ec;border-radius:12px;padding:15px 18px;margin:10px 0}.ncm-global-template summary{cursor:pointer;font-weight:600}.ncm-global-template[open] summary{margin-bottom:15px}.ncm-global-save{position:sticky;bottom:0;background:#f7f9fc;border-top:1px solid #dfe6ed;padding:12px;display:flex;align-items:center;gap:15px;z-index:4}.ncm-global-resend{padding:18px;margin-bottom:16px}.ncm-global-resend-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ncm-global-resend-result{margin:8px 0 0}.ncm-global-page .ncm-muted{line-height:1.5}@media(max-width:900px){.ncm-global-grid{grid-template-columns:1fr}.ncm-global-tabs button{flex:1 1 auto}.ncm-global-page .ncm-panel{padding:16px}}

/* 0.9.16 - Professional transactional mail & attachments */
.ncm-email-docs{margin-top:18px;padding:17px;background:#f8fafc;border:1px solid #e0e7ef;border-radius:13px}.ncm-email-docs>strong{display:block;margin-bottom:7px}.ncm-email-docs label{display:flex;align-items:center;gap:9px;padding:8px 0;font-size:13px}.ncm-email-docs input{accent-color:#e96336}.ncm-global-pane[data-pane=documents] .ncm-doc-item{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid #e6edf3}.ncm-global-pane[data-pane=documents] .ncm-doc-item>div{display:flex;gap:8px;flex-wrap:wrap}.ncm-global-template summary{font-size:15px}.ncm-global-template[open]{box-shadow:0 8px 24px #23313e0b}.ncm-global-template textarea{min-height:160px;line-height:1.6}@media(max-width:700px){.ncm-global-pane[data-pane=documents] .ncm-doc-item{align-items:flex-start;flex-direction:column}}
/* 0.9.17 — independent premium mail studio */
.ncm-mail-studio{overflow:hidden}.ncm-mail-studio-head{margin-bottom:20px}.ncm-mail-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}.ncm-mail-list{display:flex;flex-direction:column;gap:7px}.ncm-mail-choice{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #e1e7ef;background:#fff;border-radius:12px;padding:13px;cursor:pointer;color:#263442;font:inherit;font-size:13px}.ncm-mail-choice>span:nth-child(2){flex:1}.ncm-mail-choice.active,.ncm-mail-choice:hover{background:#fff4ef;border-color:#f2b49e;color:#b84a22}.ncm-mail-choice-icon{background:#f4f6f9;border-radius:9px;padding:7px}.ncm-mail-main{min-width:0}.ncm-mail-pane-head{margin-bottom:24px}.ncm-mail-pane-head h3{font-size:22px;margin:12px 0 5px}.ncm-mail-back{display:none!important}.ncm-mail-tag{font-size:10px;font-weight:700;color:#d95b31;letter-spacing:1.6px}.ncm-mail-editor-wrap{margin-top:18px}.ncm-mail-editor-wrap>strong{display:block;margin-bottom:10px}.ncm-mail-toolbar{display:flex;flex-wrap:wrap;gap:5px;background:#f7f9fc;padding:9px;border:1px solid #dfe6ed;border-bottom:none;border-radius:12px 12px 0 0}.ncm-mail-toolbar button{padding:7px 10px;border:1px solid #e0e6ee;border-radius:7px;background:#fff;cursor:pointer;font:inherit;font-size:12px}.ncm-mail-editor{min-height:240px;padding:20px;border:1px solid #dfe6ed;border-radius:0 0 12px 12px;background:white;font:14px/1.7 Arial,sans-serif;color:#263442;outline:none;overflow-wrap:anywhere}.ncm-mail-editor:focus{border-color:#f08259;box-shadow:0 0 0 2px #f0825922}.ncm-mail-doc-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.ncm-mail-doc-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}.ncm-mail-doc-options label{border:1px solid #e2e8ef;border-radius:9px;background:white;padding:10px!important}.ncm-global-pane[data-pane="messages"] .ncm-mail-main>.hidden{display:none!important}.ncm-mail-layout:not(.editing) .ncm-mail-main:before{content:'Scegli un modello email per modificarne contenuto e allegati.';display:block;padding:60px 20px;text-align:center;background:#f8fafc;border:1px dashed #d8e1ea;border-radius:15px;color:#64748b}@media(max-width:900px){.ncm-mail-layout{grid-template-columns:1fr}.ncm-mail-layout.editing .ncm-mail-list{display:none}.ncm-mail-back{display:inline-flex!important;margin-bottom:12px}.ncm-mail-doc-options{grid-template-columns:1fr}.ncm-mail-doc-head{flex-direction:column;align-items:flex-start}}


/* NC Mobility 0.9.19 — payment settings layout fix */
.ncm-payment-settings{max-width:1280px}
.ncm-payment-settings .ncm-panel{padding:22px 24px;border-radius:18px;overflow:visible}
.ncm-payment-settings .ncm-panel + .ncm-panel{margin-top:14px}
.ncm-payment-settings .ncm-panel h3{margin:0 0 14px;font-size:20px;line-height:1.25;font-weight:650;color:#1c2834}
.ncm-payment-settings .ncm-panel > .ncm-muted{margin:6px 0 0;font-size:12.5px;line-height:1.55;color:#6c7782}
.ncm-payment-settings .ncm-grid{gap:16px 18px;align-items:start}
.ncm-payment-settings .ncm-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ncm-payment-settings form > .ncm-panel:first-child .ncm-grid.cols-2{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:center}
.ncm-payment-settings label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:550;color:#56616d;min-width:0}
.ncm-payment-settings input[type=text],
.ncm-payment-settings input[type=password],
.ncm-payment-settings input[type=email],
.ncm-payment-settings input[type=number],
.ncm-payment-settings textarea,
.ncm-payment-settings select{width:100%;max-width:100%;box-sizing:border-box;border:1px solid #d9e0e7;border-radius:12px;background:#fff;padding:12px 14px;font-size:14px;line-height:1.35;color:#1b2430;min-height:48px;outline:none}
.ncm-payment-settings textarea{min-height:130px;resize:vertical}
.ncm-payment-settings input:focus,.ncm-payment-settings textarea:focus,.ncm-payment-settings select:focus{border-color:#9aa7b5;box-shadow:0 0 0 3px rgba(29,40,52,.05)}
.ncm-payment-settings input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#f05a28}
.ncm-payment-settings .ncm-payment-pane > label:first-of-type{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#23303c;margin-bottom:14px}
.ncm-payment-settings code{display:inline-block;padding:7px 10px;border-radius:10px;background:#f5f7fa;border:1px solid #e3e8ed;font-size:12px;word-break:break-all}
.ncm-payment-settings .ncm-global-tabs{margin:8px 0 16px}
.ncm-payment-settings .ncm-global-tabs button{min-height:44px;padding:10px 16px;font-size:14px;font-weight:600}
.ncm-payment-settings #ncm-payment-setting-result{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#5c6772;margin-left:8px}
@media (max-width:900px){
 .ncm-payment-settings .ncm-panel{padding:18px 16px}
 .ncm-payment-settings .ncm-grid.cols-2,
 .ncm-payment-settings form > .ncm-panel:first-child .ncm-grid.cols-2{grid-template-columns:1fr}
 .ncm-payment-settings .ncm-global-tabs{gap:10px}
 .ncm-payment-settings .ncm-global-tabs button{flex:1 1 calc(50% - 10px);justify-content:center}
 .ncm-payment-settings #ncm-payment-setting-result{display:block;margin:12px 0 0}
}
@media (max-width:560px){
 .ncm-payment-settings .ncm-global-tabs button{flex:1 1 100%}
}

/* NC Mobility 0.9.20 – frontend booking polish */
.ncm-driver-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ncm-driver-card{border:1px solid #e6eaee;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);padding:18px;box-shadow:0 10px 30px rgba(19,31,45,.04)}
.ncm-driver-card-head{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #eef1f4}
.ncm-driver-card-head h3{margin:0 0 4px;font-size:17px;line-height:1.2;font-weight:650;letter-spacing:-.02em;color:#16202a}
.ncm-driver-card-head p{margin:0;font-size:11px;line-height:1.5;color:#7a8490}
.ncm-driver-grid{gap:14px}
.ncm-driver-grid label,.ncm-public-coupon label{display:flex;flex-direction:column;gap:7px;font-size:11.5px;font-weight:600;color:#25313d}
.ncm-driver-grid label input,.ncm-driver-grid label textarea,.ncm-public-coupon input,.ncm-public-payment-choice select{width:100%;min-height:48px;padding:12px 14px;border:1px solid #d7dee6;border-radius:14px;background:#fff;color:#15202b;font-size:14px;line-height:1.3;outline:none;box-shadow:none;transition:border-color .2s ease, box-shadow .2s ease, background .2s ease}
.ncm-driver-grid label textarea{min-height:112px;resize:vertical}
.ncm-driver-grid label input:focus,.ncm-driver-grid label textarea:focus,.ncm-public-coupon input:focus,.ncm-public-payment-choice select:focus{border-color:#1f2933;box-shadow:0 0 0 4px rgba(31,41,51,.08)}
.ncm-driver-grid label input::placeholder,.ncm-driver-grid label textarea::placeholder,.ncm-public-coupon input::placeholder{color:#99a3ad}
.ncm-driver-grid label small{display:block;font-size:10px;color:#8c96a1;font-weight:500}
.ncm-driver-grid .full{grid-column:1/-1}

.ncm-public-payment-choice{margin:18px 0;padding:18px;border:1px solid #e3e8ee;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.ncm-public-payment-head{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.ncm-public-payment-head strong{font-size:16px;line-height:1.2;color:#16202a}
.ncm-public-payment-head small{font-size:11px;line-height:1.5;color:#72808c}
.ncm-payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ncm-payment-method-card{display:block;cursor:pointer}
.ncm-payment-method-card>input{position:absolute;opacity:0;pointer-events:none}
.ncm-payment-method-ui{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid #dbe2e9;border-radius:16px;background:#fff;min-height:118px;transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease}
.ncm-payment-method-card:hover .ncm-payment-method-ui{transform:translateY(-1px);box-shadow:0 12px 28px rgba(22,32,42,.06)}
.ncm-payment-method-top{display:flex;align-items:center;gap:10px}
.ncm-payment-method-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f3f5f7;font-size:18px;flex:0 0 40px}
.ncm-payment-method-title{font-size:14px;font-weight:650;color:#16202a;line-height:1.25;flex:1}
.ncm-payment-method-desc{font-size:11px;line-height:1.55;color:#6f7b87}
.ncm-payment-method-check{margin-left:auto;position:relative;width:22px;height:22px;border-radius:50%;border:1.5px solid #c8d0d8;background:#fff;flex:0 0 22px}
.ncm-payment-method-card>input:checked + .ncm-payment-method-ui{border-color:#1c2430;background:#fcfcfd;box-shadow:0 0 0 3px rgba(28,36,48,.07)}
.ncm-payment-method-card>input:checked + .ncm-payment-method-ui .ncm-payment-method-check{border-color:#1c2430;background:#1c2430}
.ncm-payment-method-card>input:checked + .ncm-payment-method-ui .ncm-payment-method-check:after{content:"";position:absolute;left:6px;top:3px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ncm-payment-method-card>input:checked + .ncm-payment-method-ui .ncm-payment-method-icon{background:#1f2933;color:#fff}
.ncm-public-payment-empty{padding:14px 16px;border:1px dashed #d3d9e0;border-radius:14px;color:#6f7b87;background:#fff}
.ncm-public-coupon{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.ncm-public-coupon label{margin:0}
.ncm-coupon-message{grid-column:1/-1;margin:0;font-size:11px;color:#74808c}

@media(max-width:900px){
  .ncm-driver-layout,.ncm-payment-methods{grid-template-columns:1fr}
}
@media(max-width:650px){
  .ncm-driver-card{padding:15px}
  .ncm-public-payment-choice{padding:15px}
  .ncm-public-coupon{grid-template-columns:1fr}
  .ncm-public-coupon .ncm-btn{width:100%;justify-content:center}
}

/* 0.9.21 – CTA WhatsApp cataloghi vendita / lungo termine */
.ncm-lead-whatsapp{display:flex;align-items:center;gap:11px;width:100%;margin:18px 0;padding:14px 16px;border:1px solid #1faa54;border-radius:14px;background:#25d366;color:#fff!important;text-decoration:none!important;font-size:13px;line-height:1.35;font-weight:650;transition:background .2s,transform .2s}
.ncm-lead-whatsapp:hover,.ncm-lead-whatsapp:focus{background:#1da851;color:#fff!important;transform:translateY(-1px)}
.ncm-lead-whatsapp>svg{width:23px;height:23px;flex:0 0 23px}.ncm-lead-whatsapp>span:nth-of-type(1){flex:1;min-width:0}.ncm-lead-whatsapp small{display:block;font-size:10px;margin-top:3px;color:#effff2;font-weight:450}.ncm-lead-whatsapp>span:last-child{font-size:17px}
@media(max-width:650px){.ncm-lead-whatsapp{padding:14px 13px}}

/* NC Mobility 0.9.22: shared dashboard sticky notes */
.ncm-sticky-board{margin-top:18px;overflow:visible!important}
.ncm-sticky-grid{display:flex;align-items:flex-start;flex-wrap:wrap;gap:22px;padding:26px 24px 32px;min-height:165px}
.ncm-sticky,.ncm-sticky-new{width:240px;min-height:165px;flex:0 1 240px;border:1px solid #eee6a0;background:#fffed1;box-shadow:2px 8px 13px rgba(33,41,50,.13);padding:20px 16px 15px;position:relative;border-radius:2px;transform:rotate(-2deg);color:#283039;box-sizing:border-box;overflow-wrap:anywhere}
.ncm-sticky:nth-child(even){background:#fff5d7;border-color:#ecdcae;transform:rotate(1.5deg)}
.ncm-sticky:nth-child(3n){background:#e8f8e9;border-color:#cae5cb;transform:rotate(-1deg)}
.ncm-sticky:hover,.ncm-sticky:focus-within{transform:rotate(0deg);z-index:1}
.ncm-sticky-actions{display:flex;justify-content:flex-end;gap:5px;min-height:22px;margin:-10px -5px 10px 0}
.ncm-sticky-actions button{border:0;background:transparent;color:#35404b;cursor:pointer;font-size:19px;width:28px;height:28px;border-radius:7px}
.ncm-sticky-actions button:hover{background:#00000012}
.ncm-sticky-title{display:block;font-size:15px;font-weight:650;line-height:1.4;margin-bottom:7px}
.ncm-sticky-content{white-space:pre-wrap;font-size:13px;line-height:1.5;margin:0 0 18px}
.ncm-sticky-date{display:block;color:#64675d;font-size:10px;text-align:right;margin-top:auto}
.ncm-sticky-new{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff6d5;border-color:#f0d989;transform:rotate(2deg);min-height:100px}
.ncm-sticky-new>span{display:grid;place-items:center;border-radius:50%;background:#1c2732;color:#fff;width:29px;height:29px;font-size:24px;line-height:1}
.ncm-sticky-new small{font-size:12px;color:#5a5a4b}
.ncm-sticky-form{display:flex;flex-direction:column;gap:10px}
.ncm-sticky-form input,.ncm-sticky-form textarea{font:inherit;width:100%;background:#ffffffa8;border:1px solid #d8d19b;border-radius:8px;padding:9px 10px;color:#202d39;font-size:12px;box-sizing:border-box}
.ncm-sticky-form textarea{resize:vertical;min-height:110px}
.ncm-sticky-form-actions{display:flex;gap:7px;justify-content:flex-end}
.ncm-sticky-form-actions button{border:1px solid #c9bd84;background:#fff;color:#1c2732;border-radius:8px;padding:8px 11px;font-size:11px;cursor:pointer}
.ncm-sticky-form-actions button[type=submit]{background:#1c2732;border-color:#1c2732;color:#fff}
.ncm-sticky-form-actions button:disabled{opacity:.55;cursor:wait}
.ncm-public-summary .ncm-total-caption{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.ncm-public-summary .ncm-your-price-label{font-size:10px;font-weight:650;letter-spacing:.02em;color:#218348}
.ncm-public-summary .ncm-total-price.is-discounted{background:#effbf3;border-color:#d0edd8}
.ncm-public-summary .ncm-total-price.is-discounted .ncm-summary-total{color:#178144;font-size:23px}
@media(max-width:650px){.ncm-sticky-grid{gap:16px;padding:19px 15px}.ncm-sticky,.ncm-sticky-new{width:calc(50% - 8px);flex:1 1 calc(50% - 8px);min-width:140px}.ncm-sticky-board .ncm-panel-head{flex-wrap:wrap;gap:10px}.ncm-sticky-board .ncm-panel-head .ncm-btn{width:100%}}
@media(max-width:390px){.ncm-sticky,.ncm-sticky-new{flex-basis:100%;width:100%}}

/* NC Mobility 0.9.23 — KPI dashboard più compatti, senza modificare altre card */
body.ncm-shell-body #ncm-dashboard > .ncm-stats {gap:11px;margin-bottom:11px;}
body.ncm-shell-body #ncm-dashboard > .ncm-stats article {padding:12px 16px;min-height:0;}
body.ncm-shell-body #ncm-dashboard > .ncm-stats article span {line-height:1.25;}
body.ncm-shell-body #ncm-dashboard > .ncm-stats article strong {margin-top:3px;line-height:1.12;}
body.ncm-shell-body #ncm-dashboard > .ncm-stats.compact article {padding:10px 16px;}
@media(max-width:650px){
 body.ncm-shell-body #ncm-dashboard > .ncm-stats {gap:9px;margin-bottom:9px;}
 body.ncm-shell-body #ncm-dashboard > .ncm-stats article {padding:11px 12px;}
 body.ncm-shell-body #ncm-dashboard > .ncm-stats.compact article {padding:10px 12px;}
}
