/* AffittoFacile 1.2 - design system globale */
:root{
  --af-blue-950:#082044;
  --af-blue-900:#0A2E62;
  --af-blue-800:#0B4DB5;
  --af-blue-700:#0A63E8;
  --af-blue-600:#1677FF;
  --af-blue-500:#2D91FF;
  --af-blue-100:#DCEEFF;
  --af-blue-50:#F1F8FF;
  --af-surface:#FFFFFF;
  --af-surface-glass:rgba(255,255,255,.91);
  --af-canvas:#EDF6FF;
  --af-text:#0A2342;
  --af-muted:#64748B;
  --af-line:#D8E7F6;
  --af-positive:#138A5B;
  --af-positive-soft:#E9F8F1;
  --af-warning:#C87408;
  --af-warning-soft:#FFF6E5;
  --af-danger:#C9362B;
  --af-danger-soft:#FFF0EE;
  --af-radius-sm:12px;
  --af-radius-md:17px;
  --af-radius-lg:24px;
  --af-radius-xl:30px;
  --af-shadow-sm:0 7px 18px rgba(13,55,104,.08);
  --af-shadow-md:0 15px 38px rgba(13,55,104,.12);
  --af-shadow-float:0 19px 52px rgba(7,45,94,.23);
  --af-space-1:4px;
  --af-space-2:8px;
  --af-space-3:12px;
  --af-space-4:16px;
  --af-space-5:20px;
  --af-space-6:24px;
  --af-control:48px;
  --af-font-sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --af-type-page:clamp(1.5rem,6vw,1.875rem);
  --af-type-card:1.25rem;
  --af-type-item:1.0625rem;
  --af-type-body:1rem;
  --af-type-label:.875rem;
  --af-type-meta:.75rem;
  --af-line-tight:1.2;
  --af-line-body:1.5;
  --af-weight-regular:400;
  --af-weight-medium:500;
  --af-weight-semibold:600;
  --af-weight-bold:700;
  --blue:var(--af-blue-700);
  --blue2:var(--af-blue-500);
  --ink:var(--af-text);
  --muted:var(--af-muted);
  --bg:var(--af-canvas);
  --card:var(--af-surface);
  --line:var(--af-line);
  --good:var(--af-positive);
  --warn:var(--af-warning);
  --danger:var(--af-danger);
  --softDanger:var(--af-danger-soft);
  --shadow:var(--af-shadow-md);
  --r:var(--af-radius-lg);
}

*{box-sizing:border-box}
html{background:#DDEBFA;color-scheme:light;-webkit-text-size-adjust:100%}
html body{
  margin:0;
  max-width:100%;
  color:var(--af-text);
  background:
    radial-gradient(circle at 16% 2%,rgba(53,154,255,.24),transparent 32rem),
    linear-gradient(180deg,#E6F2FF 0%,#F7FBFF 56%,#EAF4FF 100%);
  font-family:var(--af-font-sans);
  font-size:var(--af-type-body);
  font-weight:var(--af-weight-regular);
  line-height:var(--af-line-body);
}
html button,html input,html select,html textarea{font-family:var(--af-font-sans);font-size:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:not(:disabled),a[href],label[for],select{cursor:pointer}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.58;cursor:not-allowed}
:focus-visible{outline:3px solid rgba(22,119,255,.34)!important;outline-offset:3px}
img,svg,video,canvas{max-inline-size:100%}
button,input,select,textarea{max-inline-size:100%;min-width:0}
a,h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,small,strong,span{overflow-wrap:anywhere}
[data-af-user-content]{overflow-wrap:anywhere;word-break:normal}

body.af-host-app{overflow:hidden}
.af-host-app .app{
  width:100%;
  max-width:760px;
  height:100dvh;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  position:relative;
  background:rgba(241,248,255,.76);
  border-inline:1px solid rgba(206,225,244,.8);
  box-shadow:0 0 80px rgba(12,61,117,.12);
}
.af-host-app .globalBg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.2;filter:saturate(.9);transition:background-image .25s ease,opacity .25s ease}
.af-host-app .globalBg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(230,243,255,.78),rgba(244,250,255,.91) 38%,rgba(239,247,255,.97) 100%);backdrop-filter:blur(2px)}

.af-host-app .top{
  position:relative;
  z-index:20;
  flex:0 0 auto;
  padding:calc(9px + env(safe-area-inset-top)) 13px 10px!important;
  color:#fff;
  background:
    radial-gradient(circle at 90% 0,rgba(93,194,255,.32),transparent 36%),
    linear-gradient(145deg,#0A3F9A 0%,#0A67E9 58%,#1389F2 100%);
  border-radius:0 0 28px 28px;
  box-shadow:0 16px 38px rgba(10,78,174,.23);
  overflow:hidden;
}
.af-host-app .top::after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-72px;bottom:-118px;background:rgba(255,255,255,.09);pointer-events:none}
.af-host-app .brand,.af-host-app .housebar,.af-host-app .afHomeWelcome,.af-host-app .afInternalHeading{position:relative;z-index:1}
.af-host-app .brand{display:flex;align-items:center;justify-content:space-between;gap:12px}
.af-host-app .brand-main{display:flex;align-items:center;gap:11px;min-width:0}
.af-host-app .logo-btn{width:44px!important;height:44px!important;flex:0 0 44px;padding:5px!important;border:1px solid rgba(255,255,255,.58);border-radius:15px!important;background:#fff;box-shadow:0 9px 23px rgba(4,32,76,.22)}
.af-host-app .logo-btn img{width:100%;height:100%;object-fit:contain;border-radius:11px}
.af-host-app .brand h1{font-size:20px!important;line-height:1.08;letter-spacing:-.035em}
.af-host-app .brand p{font-size:12px!important;line-height:1.2;margin:2px 0 0!important;color:rgba(255,255,255,.84)}
.af-host-app .roundbtn{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.14);color:#fff;box-shadow:none;backdrop-filter:blur(10px)}
.af-host-app .roundbtn:active{transform:scale(.96)}
.afHomeWelcome{margin:8px 1px 1px;padding-right:103px}
.afHomeWelcome strong{display:block;font-size:clamp(21px,5.4vw,27px);line-height:1.08;letter-spacing:-.042em;color:#fff}
.afHomeWelcome span{display:block;margin-top:3px;font-size:13px;font-weight:700;color:rgba(255,255,255,.84)}
.afInternalHeading{display:none;align-items:center;gap:8px;min-height:44px;margin-top:0;padding-right:55px}
.afInternalBack{width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.14);color:#fff;font-size:23px;font-weight:700}
.afInternalHeadingText{min-width:0;flex:1}
.afInternalHeadingText strong,.afInternalHeadingText span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.afInternalHeadingText strong{font-size:18px;line-height:1.12}
.afInternalHeadingText span{margin-top:2px;color:rgba(255,255,255,.8);font-size:12px;font-weight:700}
.afInternalLanguage{display:flex;align-items:center;padding:3px;border-radius:999px;background:rgba(255,255,255,.14)}
.afInternalLanguage button{min-width:44px;min-height:44px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.78);font-size:12px;font-weight:700}
.afInternalLanguage button.active{background:#fff;color:var(--af-blue-700);box-shadow:var(--af-shadow-sm)}
.af-host-app body:not([data-af-section]),body.af-host-app[data-af-section="home"] .afHomeWelcome{display:block}
body.af-host-app[data-af-section]:not([data-af-section="home"]) .afHomeWelcome{display:none}
body.af-host-app[data-af-section]:not([data-af-section="home"]) .afInternalHeading{display:flex}
body.af-host-app[data-af-section]:not([data-af-section="home"]) .brand-main .brandtxt{display:none}
body.af-host-app[data-af-section]:not([data-af-section="home"]) .brand{position:absolute;right:13px!important;top:calc(9px + env(safe-area-inset-top))!important;z-index:3}
body.af-host-app[data-af-section]:not([data-af-section="home"]) .brand-main{display:none}
body.af-host-app[data-af-section]:not([data-af-section="home"]) .brand .roundbtn{display:grid}
body.af-host-app[data-af-section]:not([data-af-section="home"]) .housebar{display:none}

.af-host-app .housebar{display:flex;align-items:center;gap:6px;margin:0!important}
body.af-host-app[data-af-section="home"] .housebar{position:absolute;right:13px;bottom:10px;z-index:2}
body.af-host-app[data-af-section="home"] .housebar .roundbtn{min-width:44px!important;min-height:44px!important;padding:0 10px!important}
.af-host-app .slides{position:relative;z-index:1;display:flex;flex:1 1 auto;min-height:0;height:auto;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.af-host-app .screen{min-width:100%;height:100%;padding:15px 13px calc(126px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior-y:contain;scroll-snap-align:start;scrollbar-width:none}
.af-host-app .screen::-webkit-scrollbar{display:none}

.af-host-app .card,.af-host-app .item,.af-host-app .panel,.afHomePanel{
  color:var(--af-text);
  background:var(--af-surface-glass);
  border:1px solid rgba(255,255,255,.9);
  border-radius:var(--af-radius-lg);
  box-shadow:var(--af-shadow-sm);
  backdrop-filter:blur(16px) saturate(1.08);
}
.af-host-app .card,.af-host-app .panel{padding:16px;margin-bottom:12px}
.af-host-app .item{padding:14px;margin-bottom:0}
.af-host-app :where(.card,.item,.panel,.screen,.sheet,.guideModal,.firstAccessCard,.af360Card,.afHelpSheet,.afAssistantSheet){min-width:0;max-width:100%}
.af-host-app :where(.grid2,.row,.bookingHead,.messageStatusRow,.guestGuideStatus,.cleanItemRow,.calendar-head,.af360SummaryItem,.afHelpTop,.afHelpTopic)>*{min-width:0}
.af-host-app h2,.af-host-app h3,.af-host-app h4{color:var(--af-text);letter-spacing:-.035em}
.af-host-app h2{font-size:22px;line-height:1.15}
.af-host-app h3{font-size:19px;line-height:1.2;margin:0 0 8px}
.af-host-app .sub,.af-host-app .muted{color:var(--af-muted);font-size:14px;line-height:1.5}
.af-host-app .screen>.card:first-child{padding:14px 15px;background:rgba(255,255,255,.84);border-color:rgba(255,255,255,.94)}
.af-host-app .screen>.card:first-child>h3{display:none}
.af-host-app .screen>.card:first-child>.sub{margin:0 0 11px}

.af-host-app input,.af-host-app select,.af-host-app textarea{
  width:100%;min-height:var(--af-control);padding:12px 13px;border:1px solid var(--af-line);border-radius:var(--af-radius-md);background:#fff;color:var(--af-text);font-size:16px;line-height:1.25;outline:none;box-shadow:0 1px 0 rgba(12,55,103,.02);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.af-host-app textarea{min-height:112px;line-height:1.45;resize:vertical}
.af-host-app input:focus,.af-host-app select:focus,.af-host-app textarea:focus{border-color:var(--af-blue-600);box-shadow:0 0 0 4px rgba(22,119,255,.12)}
.af-host-app input::placeholder,.af-host-app textarea::placeholder{color:#91A0B3}
.af-host-app .field{margin-bottom:12px}
.af-host-app .field label,.af-host-app .af360Field label{margin-bottom:6px;color:#50627A;font-size:13px;font-weight:700;line-height:1.3}
.af-host-app input[type="checkbox"],.af-host-app input[type="radio"]{width:20px;height:20px;min-height:20px;accent-color:var(--af-blue-600)}

.af-host-app .btn,.af-host-app .fileBtn{
  min-width:0;max-width:100%;min-height:46px;padding:11px 16px;border:1px solid transparent;border-radius:var(--af-radius-md);background:var(--af-blue-700);color:#fff;font-weight:700;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere;box-shadow:0 10px 24px rgba(10,99,232,.18);transition:transform .14s ease,box-shadow .14s ease,background .14s ease;
}
.af-host-app .btn:active,.af-host-app .fileBtn:active{transform:scale(.985);box-shadow:0 5px 14px rgba(10,99,232,.15)}
.af-host-app .btn.secondary{border-color:#CFE2F7;background:#F5FAFF;color:var(--af-blue-800);box-shadow:none}
.af-host-app .btn.good{border-color:#BFE8D6;background:var(--af-positive-soft);color:#08734A;box-shadow:none}
.af-host-app .btn.danger{border-color:#F4C7C2;background:var(--af-danger-soft);color:#A72B23;box-shadow:none}
.af-host-app .btn.small{min-height:44px;padding:8px 12px;border-radius:14px;font-size:13px}
.af-host-app .row{display:flex;align-items:stretch;gap:var(--af-space-2);flex-wrap:wrap}
.af-host-app .row>*{min-width:0}
.af-host-app .bookingHead,.af-host-app .messageStatusRow,.af-host-app .guestGuideStatus,.af-host-app .cleanItemRow{flex-wrap:wrap}
.af-host-app .bookingHead>strong,.af-host-app .messageStatusRow>.muted,.af-host-app .guestGuideStatus>div:first-child,.af-host-app .cleanItemRow>label{flex:1 1 180px;min-width:0}
.af-host-app .bookingHead>strong,.af-host-app .cleanItemRow label span{white-space:normal;overflow-wrap:anywhere}

.af-host-app .tabs{width:100%;min-width:0;max-width:100%;display:flex;gap:var(--af-space-2);overflow-x:auto;overflow-y:hidden;padding:2px 0 5px;scroll-padding-inline:2px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.af-host-app .tabs::-webkit-scrollbar{display:none}
.af-host-app .tab{flex:0 0 auto;min-width:max-content;max-width:none;min-height:44px;padding:9px 13px;border:1px solid #D6E6F6;border-radius:999px;background:#F4F9FF;color:#47617E;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap}
.af-host-app .tab.active{border-color:var(--af-blue-700);background:var(--af-blue-700);color:#fff;box-shadow:0 8px 17px rgba(10,99,232,.18)}
.af-host-app .afPropertyTabs{padding-inline:1px 8px}
.af-host-app .afPropertyTabs .tab:last-child{margin-inline-end:1px}
.af-host-app .badge,.af-host-app .messageStatusBadge,.af-host-app .expenseTypeBadge,.af-host-app .guestGuidePill{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;background:var(--af-blue-50);color:var(--af-blue-800);font-size:12px;font-weight:700;line-height:1}
.af-host-app .bookingStatus.good,.af-host-app .messageStatusBadge.sent,.af-host-app .guestGuidePill.live{background:var(--af-positive-soft);color:var(--af-positive)}
.af-host-app .expenseTypeBadge.tax{background:var(--af-warning-soft);color:var(--af-warning)}
.af-host-app .afStatusBadge.positive{background:var(--af-positive-soft);color:var(--af-positive)}
.af-host-app .afStatusBadge.warning{background:var(--af-warning-soft);color:#9C5B07}
.af-host-app .afStatusBadge.danger{background:var(--af-danger-soft);color:var(--af-danger)}
.af-host-app .afStatusBadge.info{background:var(--af-blue-50);color:var(--af-blue-800)}
.af-host-app .afStatusBadge.neutral{background:#F0F4F8;color:#53677E}

.af-host-app .bottom{
  position:absolute;left:10px;right:10px;bottom:calc(9px + env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:7px;border:1px solid rgba(255,255,255,.94);border-radius:25px;background:rgba(255,255,255,.94);box-shadow:var(--af-shadow-float);backdrop-filter:blur(22px) saturate(1.12);
}
.af-host-app .bottom .nav{display:flex;min-width:0;min-height:55px;padding:7px 3px;border-radius:18px;flex-direction:column;align-items:center;justify-content:center;color:#66809D;text-decoration:none;font-size:12px;font-weight:700;line-height:1.1;transition:background .16s ease,color .16s ease,transform .16s ease}
.af-host-app .bottom .nav span{display:block;font-size:19px;line-height:1;margin-bottom:5px}
.af-host-app .bottom .nav b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.af-host-app .bottom .nav.active{background:var(--af-blue-700);color:#fff;box-shadow:0 8px 18px rgba(10,99,232,.23)}
.af-host-app .bottom .nav:active{transform:scale(.96)}

.af-host-app .overlay,.af-host-app .guideOverlay,.af-host-app .firstAccessOverlay,.af-host-app .af360Overlay,.af-host-app .afHelpOverlay{padding:calc(12px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:rgba(5,24,50,.58);backdrop-filter:blur(7px)}
.af-host-app .sheet,.af-host-app .guideModal,.af-host-app .firstAccessCard,.af-host-app .af360Modal,.af-host-app .af360Card,.af-host-app .afHelpModal,.af-host-app .afHelpSheet{width:min(540px,100%);max-height:min(91dvh,920px);padding:20px;border:1px solid rgba(255,255,255,.88);border-radius:30px 30px 22px 22px;background:#fff;box-shadow:0 30px 90px rgba(3,30,67,.3)}
.af-host-app .sheet{position:relative;overflow-y:auto;overscroll-behavior:contain}
.af-host-app .closeX,.af-host-app .guideClose,.af-host-app .afHelpClose{display:grid;place-items:center;width:44px;height:44px;border:1px solid #D7E8F8;border-radius:14px;background:var(--af-blue-50);color:var(--af-blue-800);font-size:22px;font-weight:700}
.af-host-app .sheet>.closeX{position:sticky;top:0;z-index:4;float:right}
.af-host-app .afBookingDetailOverlay{align-items:center}
.af-host-app .afBookingDetailSheet{width:min(500px,100%);max-height:min(88dvh,760px)}
.af-host-app .afBookingDetailContent{clear:both;display:grid;gap:var(--af-space-4);min-width:0;padding-top:var(--af-space-1)}
.af-host-app .afBookingDetailHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--af-space-3);min-width:0;padding-right:2px}
.af-host-app .afBookingDetailHeader h2{min-width:0;margin:0;overflow-wrap:anywhere}
.af-host-app .afBookingDetailHeader .badge{flex:0 0 auto}
.af-host-app .afBookingDetailGrid{gap:var(--af-space-2)}
.af-host-app .afBookingDetailGrid .item,.af-host-app .afBookingNotes{border:1px solid #DFEAF5;background:#F8FBFE;box-shadow:none}
.af-host-app .afBookingNotes{display:grid;gap:var(--af-space-1)}
.af-host-app .afBookingDelete{width:100%}
.af-host-app .toast{max-width:min(430px,calc(100vw - 28px));bottom:calc(92px + env(safe-area-inset-bottom));padding:12px 16px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#092442;color:#fff;box-shadow:var(--af-shadow-float);font-size:14px;font-weight:700;text-align:center}

/* Home operativa */
.af-host-app #home{padding-top:11px}
.af-host-app .afHomeTools{margin:0 1px 10px}
.af-host-app .afLanguageSwitch{padding:3px;border:1px solid rgba(255,255,255,.92);background:rgba(255,255,255,.86);box-shadow:var(--af-shadow-sm)}
.af-host-app .afLanguageSwitch button{min-width:44px;min-height:44px}
.af-host-app .afContextHelp{min-height:44px;padding:9px 13px;border:1px solid #D4E6F7;border-radius:999px;background:rgba(255,255,255,.9);color:var(--af-blue-800);box-shadow:var(--af-shadow-sm);font-size:13px;font-weight:700}
.af-host-app .afHomePanel{margin-bottom:12px;padding:16px;border-radius:var(--af-radius-lg)}
.af-host-app .afPropertyCard{grid-template-columns:108px minmax(0,1fr);gap:14px;padding:12px}
.af-host-app .afPropertyPhoto{width:108px;height:100px;border:1px solid rgba(255,255,255,.8);border-radius:19px;background:linear-gradient(145deg,#DCEEFF,#F6FBFF);box-shadow:var(--af-shadow-sm);overflow:hidden}
.af-host-app .afPropertyPhoto img{width:100%;height:100%;object-fit:cover}
.af-host-app .afPropertyPhotoPlaceholder{font-size:34px;color:var(--af-blue-700)}
.af-host-app .afPropertyInfo select{min-height:44px;padding:9px 36px 9px 10px;border-color:#D3E5F6;background-color:#F8FBFF;font-size:15px;font-weight:700}
.af-host-app .afPropertyLocation,.af-host-app .afPropertyActivitiesCount,.af-host-app .afPropertyCin{display:flex;align-items:center;gap:6px;min-width:0;margin:6px 1px 0;color:#61768E;font-size:12px;font-weight:700;line-height:1.35}
.af-host-app .afPropertyCin{margin-top:4px;font-weight:600}
.af-host-app .afPropertyCin span{min-width:0}
.af-host-app .afPropertyCin span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.af-host-app .afHomeEyebrow{display:block;margin-bottom:4px;color:var(--af-blue-700);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.af-host-app .afHomeSectionHead h2{margin:0;font-size:22px}
.af-host-app .afPropertyBadge{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--af-blue-50);color:var(--af-blue-800)}
.af-host-app .afUrgencyStatus{min-height:38px;margin:8px 0 3px;padding:9px 11px;border-radius:14px;font-size:13px;font-weight:700}
.af-host-app .afUrgencyStatus.ok{border:1px solid #C7EADA;background:var(--af-positive-soft);color:var(--af-positive)}
.af-host-app .afUrgencyStatus.attention{border:1px solid #F1D39B;background:var(--af-warning-soft);color:#9C5B07}
.af-host-app .afActivityItem{min-height:66px;padding:10px 2px;border-top:1px solid #E6EEF7;background:transparent}
.af-host-app .afActivityItem:first-child{border-top:0}
.af-host-app .afActivityIcon{background:var(--af-blue-50);color:var(--af-blue-800)}
.af-host-app .afActivityItem.urgent .afActivityIcon{background:var(--af-danger-soft);color:var(--af-danger)}
.af-host-app .afActivityItem.attention .afActivityIcon{background:var(--af-warning-soft);color:var(--af-warning)}
.af-host-app .afTextAction{min-height:44px;margin-top:5px;border:0;border-radius:13px;background:transparent;color:var(--af-blue-700);font-size:13px;font-weight:700}
.af-host-app .afStayEmpty,.af-host-app .afActivityEmpty{border:1px dashed #C9DCEC;background:#F8FBFE;color:#60758C}
.afEmptyState{display:grid;justify-items:center;gap:7px;padding:24px 18px;text-align:center;border:1px dashed #C9DCEC;border-radius:var(--af-radius-lg);background:rgba(248,251,254,.92);color:#60758C}
.afEmptyState>i{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:#ECFDF3;color:var(--af-positive);font-style:normal;font-size:21px;font-weight:700}
.afEmptyState>strong{color:var(--af-text);font-size:15px}.afEmptyState>span{max-width:38ch;font-size:13px;line-height:1.45}
.af-host-app .afFinancialMetric{border:1px solid #D9E8F6;background:#F8FBFF;box-shadow:none}
.af-host-app .afFinancialMetric.net{border-color:#C5E8D8;background:var(--af-positive-soft)}
.af-host-app .afAssistantPanel{display:none!important}
.af-host-app .launchStart{border:1px solid #D3E6F8;border-radius:var(--af-radius-lg);background:rgba(255,255,255,.91);box-shadow:var(--af-shadow-sm)}

/* Calendario e aree operative */
.af-host-app .calendar-head{min-height:44px;gap:var(--af-space-2);margin-bottom:var(--af-space-2)}
.af-host-app .calendar-head h3{text-transform:capitalize;text-align:center}
.af-host-app .legend{gap:var(--af-space-2);margin:8px 0 10px}
.af-host-app .legend span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#F3F7FB;color:#526A84;font-size:12px;font-weight:700}
.af-host-app .legend span:nth-child(1){background:var(--af-positive-soft);color:var(--af-positive)}
.af-host-app .legend span:nth-child(2){background:var(--af-warning-soft);color:var(--af-warning)}
.af-host-app .legend span:nth-child(3){background:var(--af-blue-50);color:var(--af-blue-800)}
.af-host-app .calgrid{gap:6px}
.af-host-app .dow{color:#6A7D93;font-size:12px}
.af-host-app .day{min-height:58px;padding:7px;border:1px solid #DFEAF5;border-radius:14px;background:#F8FBFE}
.af-host-app .day.booked{border-color:#AFCFF0;background:#E7F2FF}
.af-host-app .day.in{outline:2px solid #35A979;outline-offset:-2px}
.af-host-app .day.out{outline:2px solid #D98B26;outline-offset:-2px}
.af-host-app .photoPreview{border:1px solid #D5E5F5;background:#F3F8FD}
.af-host-app .cleanItemRow,.af-host-app .checkrow,.af-host-app .operationalRow{border-color:#DFE9F4;background:#FAFCFE}
.af-host-app .cleanShareBox,.af-host-app .guestGuideThemeBox,.af-host-app .accountBox{border:1px solid #D7E7F6;border-radius:21px;background:#F7FBFF;box-shadow:none}
.af-host-app .notice{border:1px solid #D7E7F6;border-radius:16px;background:#F5FAFF;color:#526A84}
.af-host-app .fieldHint,.af-host-app .afTranslationNotice{font-size:12px;line-height:1.45}
.af-host-app .messagePreview{font-family:var(--af-font-sans)}

/* Contenitori e azioni multi-immobile: nessun overflow con nomi lunghi o traduzioni EN. */
.af-host-app .propertyManagerList{min-width:0;max-width:100%;gap:var(--af-space-2);margin-top:var(--af-space-3)}
.af-host-app .propertyManagerItem{width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--af-space-2) var(--af-space-3);padding:10px 11px;border-radius:16px}
.af-host-app .propertyManagerText{min-width:0}
.af-host-app .propertyManagerText strong,.af-host-app .propertyManagerText span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.af-host-app .propertyManagerActions{width:auto;min-width:0;max-width:100%;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-top:0}
.af-host-app .propertyManagerActions button{width:auto;min-width:0;max-width:100%;min-height:44px;padding:8px 10px;white-space:normal;overflow-wrap:anywhere}
.af-host-app .af360PropertySetupBtn{min-height:44px;max-width:100%;padding:8px 11px;white-space:normal;overflow-wrap:anywhere}

/* Manutenzioni: form associato e azioni di uguale altezza anche su schermi stretti. */
.af-host-app .afMaintenancePanel>.afContextHelp{margin-bottom:var(--af-space-4)}
.af-host-app .afMaintenanceForm{display:grid;gap:var(--af-space-3);padding:var(--af-space-4);border:1px solid #DFEAF5;border-radius:var(--af-radius-lg);background:#F8FBFE}
.af-host-app .afMaintenanceFields{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(150px,.65fr);gap:var(--af-space-3);align-items:end}
.af-host-app .afMaintenanceFields .field{min-width:0;margin:0}
.af-host-app .afMaintenanceAdd{width:100%}
.af-host-app .afMaintenanceList{display:grid;gap:var(--af-space-3);margin-top:var(--af-space-4)!important}
.af-host-app .afMaintenanceItem{display:grid;gap:var(--af-space-2)}
.af-host-app .afMaintenanceDate{margin-top:-2px}
.af-host-app .afMaintenanceActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--af-space-2);margin-top:var(--af-space-1)}
.af-host-app .afMaintenanceActions .btn{width:100%;height:100%;min-height:44px}

/* Inventario: campi e azioni leggibili anche a 360 px. */
.af-host-app .afInventoryForm{margin-top:var(--af-space-3)}
.af-host-app .afInventoryFields{display:grid;grid-template-columns:minmax(0,1fr) 76px 76px;align-items:stretch;gap:var(--af-space-2)}
.af-host-app .afInventoryAdd{width:100%;margin-top:14px}
.af-host-app .afInventoryList{margin-top:var(--af-space-4)!important}
.af-host-app .afInventoryItem{display:grid;gap:var(--af-space-3)}
.af-host-app .afInventoryItem strong{margin:0}
.af-host-app .afInventoryMeta{margin-top:3px}
.af-host-app .afInventoryActions{display:grid;grid-template-columns:44px 44px minmax(0,1fr);gap:var(--af-space-2)}
.af-host-app .afInventoryActions .btn{width:100%;min-width:44px;min-height:44px;padding:8px}
.af-host-app .afInventoryActions .danger{padding-inline:12px}

/* Preferenze e switch */
.afPreferencesCard{margin:14px 0 16px;padding:15px;border:1px solid #D7E7F6;border-radius:21px;background:#F7FBFF}
.afPreferencesCard h3{margin:0 0 5px}
.afPreferencesCard>p{margin:0 0 13px;color:var(--af-muted);font-size:13px}
.afPreferenceRow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid #E2ECF6}
.afPreferenceRow:first-of-type{border-top:0}
.afPreferenceText{min-width:0}
.afPreferenceText strong,.afPreferenceText span{display:block}
.afPreferenceText strong{font-size:14px}
.afPreferenceText span{margin-top:3px;color:var(--af-muted);font-size:12px;line-height:1.35}
.afLanguageInline{display:flex;flex:0 0 auto;gap:3px;padding:3px;border-radius:999px;background:#E7F2FF}
.afLanguageInline button{min-width:44px;min-height:44px;border:0;border-radius:999px;background:transparent;color:#56708C;font-size:12px;font-weight:700}
.afLanguageInline button.active{background:var(--af-blue-700);color:#fff;box-shadow:0 5px 12px rgba(10,99,232,.2)}
.afSwitch{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;width:52px;height:44px}
.afSwitch input{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:44px!important;opacity:0;z-index:1}
.afSwitch span{width:52px;height:30px;border-radius:999px;background:#B9C8D8;box-shadow:inset 0 0 0 1px rgba(31,55,80,.08);transition:background .18s ease}
.afSwitch span::after{content:"";display:block;width:24px;height:24px;margin:3px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(20,46,73,.25);transition:transform .18s ease}
.afSwitch input:focus-visible+span{outline:3px solid rgba(10,99,232,.36);outline-offset:3px}
.afSwitch input:checked+span{background:var(--af-blue-700)}
.afSwitch input:checked+span::after{transform:translateX(22px)}

/* Assistente flottante host */
.afAssistantLauncher{position:fixed;z-index:3200;display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;touch-action:none;user-select:none;transition:width .18s ease,height .18s ease,opacity .16s ease,transform .16s ease}
.afAssistantBrandMark{position:relative;display:grid;place-items:center;width:46px;height:46px;overflow:hidden;border:1px solid rgba(255,255,255,.96);border-radius:15px;background:#fff;box-shadow:0 11px 27px rgba(8,79,177,.3),0 0 0 5px rgba(34,139,255,.08);transition:width .18s ease,height .18s ease,box-shadow .18s ease}
.afAssistantBrandMark img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}
.afAssistantLauncher.reduced{width:44px;height:44px}
.afAssistantLauncher.reduced .afAssistantBrandMark{width:36px;height:36px;border-radius:12px;box-shadow:0 8px 20px rgba(8,79,177,.28),0 0 0 4px rgba(34,139,255,.07)}
.afAssistantLauncher:active,.afAssistantLauncher.pressing{transform:scale(.94)}
.afAssistantLauncher.moving{transform:scale(1.04)}
.afAssistantLauncher.moving .afAssistantBrandMark{box-shadow:0 16px 38px rgba(8,79,177,.38),0 0 0 8px rgba(34,139,255,.12)}
.afAssistantLauncher.is-suspended{opacity:0!important;pointer-events:none!important;transform:scale(.84)}
.afAssistantMenu{position:fixed;z-index:3290;display:flex;gap:5px;padding:6px;border:1px solid rgba(255,255,255,.94);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:var(--af-shadow-float);backdrop-filter:blur(18px);animation:afMenuIn .16s ease both}
.afAssistantMenu button{min-height:44px;padding:8px 11px;border:0;border-radius:13px;background:#F2F7FC;color:#35506D;font-size:12px;font-weight:700}
.afAssistantMenu button:last-child{background:var(--af-danger-soft);color:var(--af-danger)}
.afAssistantMoveHint{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:3295;max-width:calc(100vw - 30px);padding:10px 14px;border-radius:999px;background:#092442;color:#fff;box-shadow:var(--af-shadow-float);font-size:12px;font-weight:700;text-align:center;transform:translateX(-50%)}
.afAssistantOverlay{position:fixed;inset:0;z-index:3300;display:flex;align-items:flex-end;justify-content:center;padding:14px;background:rgba(5,24,50,.55);backdrop-filter:blur(7px);animation:afFadeIn .16s ease both}
.afAssistantSheet{width:min(560px,100%);max-height:min(88dvh,790px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.94);border-radius:30px 30px 22px 22px;background:#fff;box-shadow:0 30px 90px rgba(3,30,67,.34);animation:afSheetIn .2s ease both}
.afAssistantSheetHeader{display:flex;align-items:center;gap:11px;padding:18px 18px 13px;border-bottom:1px solid #E5EDF6}
.afAssistantAvatar{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border-radius:16px;background:var(--af-blue-50)}
.afAssistantAvatar .afAssistantBrandMark{width:41px;height:41px;box-shadow:0 7px 17px rgba(10,99,232,.2)}
.afAssistantSheetTitle{min-width:0;flex:1}
.afAssistantSheetTitle strong,.afAssistantSheetTitle span{display:block}
.afAssistantSheetTitle strong{font-size:18px;letter-spacing:-.025em}
.afAssistantSheetTitle span{margin-top:2px;color:var(--af-muted);font-size:12px}
.afAssistantSheetClose{width:44px;height:44px;flex:0 0 44px;border:1px solid #D8E7F6;border-radius:14px;background:var(--af-blue-50);color:var(--af-blue-800);font-size:22px;font-weight:700}
.afAssistantBody{padding:16px 17px 8px;overflow-y:auto}
.afAssistantGreeting{padding:14px;border:1px solid #D9E8F7;border-radius:18px;background:linear-gradient(145deg,#F4FAFF,#EDF6FF)}
.afAssistantGreeting strong{display:block;font-size:18px}
.afAssistantGreeting span{display:block;margin-top:4px;color:#587089;font-size:13px}
.afAssistantSuggestions{display:flex;gap:7px;margin:12px 0;overflow-x:auto;scrollbar-width:none}
.afAssistantSuggestions::-webkit-scrollbar{display:none}
.afAssistantSuggestions button{flex:0 0 auto;min-height:44px;padding:8px 11px;border:1px solid #D6E6F5;border-radius:999px;background:#fff;color:#315477;font-size:12px;font-weight:700}
.afAssistantResultBox{min-height:60px;margin-top:8px}
.afAssistantResultBox h3{margin:0 0 5px;font-size:18px}
.afAssistantResultBox>p{margin:0 0 10px;color:var(--af-muted);font-size:13px}
.afAssistantResultList{display:grid;gap:7px}
.afAssistantResultGroup{min-width:0;margin:7px 2px 0;color:var(--af-blue-800);font-size:12px;font-weight:700;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere}
.afAssistantResultRow{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #DDEAF6;border-radius:16px;background:#FAFCFE;color:var(--af-text);text-align:left}
.afAssistantResultRow i{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--af-blue-50);font-style:normal}
.afAssistantResultRow strong,.afAssistantResultRow span{display:block}
.afAssistantResultRow strong{font-size:14px}
.afAssistantResultRow span{margin-top:2px;color:var(--af-muted);font-size:12px;line-height:1.35}
.afAssistantResultRow b{color:var(--af-blue-700);font-size:18px}
.afAssistantFooter{margin-top:10px!important;color:#7A8CA0!important;font-size:12px!important}
.afAssistantComposer{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px;padding:12px 17px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #E5EDF6;background:#fff}
.afAssistantComposer input{min-height:46px}
.afAssistantComposer button{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:15px;background:var(--af-blue-700);color:#fff;font-size:18px;font-weight:700;box-shadow:0 8px 18px rgba(10,99,232,.2)}
@keyframes afFadeIn{from{opacity:0}to{opacity:1}}
@keyframes afSheetIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes afMenuIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}

/* Pagine pubbliche: guida, pulizie e documenti */
body.af-public-page{min-height:100dvh;padding:calc(14px + env(safe-area-inset-top)) max(13px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(13px,env(safe-area-inset-left));background:linear-gradient(180deg,#E8F4FF 0,#F8FBFF 54%,#EDF6FF 100%)}
.af-public-page .wrap{width:min(720px,100%);margin:0 auto}
.af-public-page :where(.wrap,.card,.hero,.notice,.empty,main,section,article,header,footer){min-width:0;max-width:100%}
.af-public-page :where(.actions,.statusBtns,.publicTop)>*{min-width:0;max-width:100%}
.af-public-page :where(h1,h2,h3,h4,p,span,strong,label,a,button){overflow-wrap:anywhere}
.af-public-page .publicTop{width:min(720px,100%);margin:0 auto 10px;display:flex;justify-content:flex-end}
.af-public-page .lang{display:inline-flex;padding:3px;border:1px solid rgba(255,255,255,.9);border-radius:999px;background:rgba(255,255,255,.9);box-shadow:var(--af-shadow-sm)}
.af-public-page .lang button{min-width:44px;min-height:44px;border:0;border-radius:999px;background:transparent;color:#58708A;font-size:12px;font-weight:700}
.af-public-page .lang button.active,.af-public-page .lang button[aria-pressed="true"]{background:var(--af-blue-700);color:#fff}
.af-public-page .hero{border:1px solid rgba(255,255,255,.32);border-radius:30px;background:linear-gradient(145deg,#0A3F9A,#0A67E9 62%,#1389F2);box-shadow:0 20px 48px rgba(10,78,174,.24)}
.af-public-page .card{border:1px solid rgba(255,255,255,.92);border-radius:var(--af-radius-lg);background:rgba(255,255,255,.94);box-shadow:var(--af-shadow-sm)}
.af-public-page input,.af-public-page select,.af-public-page textarea{min-height:48px;border:1px solid var(--af-line);border-radius:var(--af-radius-md);background:#fff;color:var(--af-text);font-size:16px;outline:none}
.af-public-page input:focus,.af-public-page select:focus,.af-public-page textarea:focus{border-color:var(--af-blue-600);box-shadow:0 0 0 4px rgba(22,119,255,.12)}
.af-public-page .btn{min-height:47px;border:0;border-radius:var(--af-radius-md);background:var(--af-blue-700);color:#fff;font-weight:700;box-shadow:0 10px 24px rgba(10,99,232,.18)}
.af-public-page .fixed{border-top:1px solid #DCE8F4;background:rgba(255,255,255,.96);box-shadow:0 -15px 38px rgba(13,55,104,.12);backdrop-filter:blur(18px)}
.af-public-page .empty,.af-public-page .notice{border:1px solid #D9E7F5;border-radius:var(--af-radius-lg);background:#fff;box-shadow:var(--af-shadow-sm)}
.af-legal-page{padding-inline:14px!important}
.afLegalTop{position:sticky;top:0;z-index:20;width:min(960px,100%);min-height:68px;margin:0 auto 12px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.93);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:var(--af-shadow-md);backdrop-filter:blur(18px)}
.afLegalBrand,.afLegalTools{display:flex;align-items:center}.afLegalBrand{min-width:0;gap:9px;color:var(--af-text);text-decoration:none}.afLegalBrand span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--af-blue-700),var(--af-blue-500));color:#fff;font-size:12px;font-weight:700;box-shadow:0 8px 19px rgba(10,99,232,.2)}.afLegalBrand strong{font-size:15px;letter-spacing:-.02em}.afLegalTools{gap:7px}.afLegalHome{display:inline-flex;align-items:center;min-height:44px;padding:7px 10px;border-radius:13px;background:var(--af-blue-50);color:var(--af-blue-800)!important;text-decoration:none;font-size:12px;font-weight:700}.afLegalLanguage{display:flex;padding:3px;border-radius:999px;background:#E7F2FF}.afLegalLanguage button{min-width:44px;min-height:44px;border:0;border-radius:999px;background:transparent;color:#56708C;font-size:12px;font-weight:700}.afLegalLanguage button.active{background:var(--af-blue-700);color:#fff;box-shadow:0 5px 12px rgba(10,99,232,.2)}
.af-legal-page main{width:min(960px,100%)!important;min-height:auto!important;margin:0 auto!important;padding:clamp(22px,5vw,48px)!important;border:1px solid rgba(255,255,255,.95);border-radius:30px;background:rgba(255,255,255,.96)!important;box-shadow:var(--af-shadow-md)}
.af-legal-page h1{color:var(--af-blue-950);font-size:clamp(28px,6vw,40px)!important}.af-legal-page h2{padding-top:3px;color:var(--af-blue-900)}.af-legal-page .box,.af-legal-page .summary,.af-legal-page .warning,.af-legal-page .warn{border-radius:20px!important}.af-legal-page table{border-radius:16px;overflow:hidden}.af-legal-page th{color:var(--af-blue-900);background:var(--af-blue-50)!important}.af-legal-page footer{margin-top:40px;padding-top:18px;border-top:1px solid var(--af-line)}
@media(max-width:540px){.afLegalBrand strong{display:none}.afLegalTop{border-radius:19px}.afLegalHome{padding-inline:8px}.af-legal-page main{padding:21px 16px 34px!important;border-radius:24px}}

@media (min-width:900px){
  /* Desktop: conserva proporzioni e leggibilita dell'interfaccia, senza
     stirare le card mobile in una griglia orizzontale troppo larga. */
  .af-host-app .app{max-width:760px}
  .af-host-app #home{display:block}
  .af-host-app .bottom{left:50%;right:auto;width:min(680px,calc(100% - 32px));transform:translateX(-50%)}
}

@media(max-width:420px){
  .af-host-app .top{padding-inline:11px!important;border-radius:0 0 24px 24px}
  .af-host-app .screen{padding-inline:10px}
  .af-host-app .afPropertyCard{grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px}
  .af-host-app .afPropertyPhoto{width:92px;height:92px}
  .af-host-app .afHomePanel{padding:14px}
  .af-host-app .row{gap:8px}
  .af-host-app .row>.field{flex-basis:145px}
  .af-host-app .bottom{left:7px;right:7px;padding:6px;gap:1px}
  .af-host-app .bottom .nav{min-height:53px;font-size:12px}
  .af-host-app .bottom .nav span{font-size:18px}
  .afAssistantOverlay{padding:7px 7px calc(7px + env(safe-area-inset-bottom))}
  .afAssistantSheet{border-radius:27px 27px 19px 19px}
  .afAssistantSheetHeader{padding:15px 14px 11px}
  .afAssistantBody{padding:13px 14px 7px}
  .afAssistantComposer{padding-inline:14px}
}

@media(max-width:560px){
  .af-host-app .propertyManagerItem{grid-template-columns:minmax(0,1fr)}
  .af-host-app .propertyManagerActions{width:100%;justify-content:flex-start;flex-wrap:nowrap}
  .af-host-app .propertyManagerActions button{width:auto;flex:1 1 0}
  .af-host-app .afMaintenanceFields{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:380px){
  .afHomeWelcome{padding-right:94px}
  .afHomeWelcome strong{font-size:20px}
  body.af-host-app[data-af-section="home"] .housebar{right:10px}
  body.af-host-app[data-af-section]:not([data-af-section="home"]) .brand{right:10px!important}
  .afInternalHeading{gap:7px;padding-right:52px}
  .afInternalHeadingText strong{font-size:17px}
  .afInternalLanguage{padding:2px}
  .afInternalLanguage button{min-width:44px;min-height:44px}
  .af-host-app .afInventoryFields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .af-host-app .afInventoryFields #stockName{grid-column:1/-1}
  .af-host-app .afBookingDetailGrid{grid-template-columns:minmax(0,1fr)}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
