*{box-sizing:border-box}body{margin:0;background:#f3f7f9;color:#153048;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}button,input,select{font:inherit}button{cursor:pointer;border:none;background:#087f91;color:white;border-radius:9px;padding:11px 15px;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:white;border:1px solid #a7c6d3;color:#195067}button:hover:not(:disabled){filter:brightness(.96)}a{color:#076a81}.top{padding:16px max(25px,calc((100vw - 1150px)/2));height:82px;background:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8e5eb}.brand{display:flex;gap:12px;align-items:center}.mark{background:#087f91;color:white;display:flex;align-items:center;justify-content:center;width:42px;height:42px;font-size:25px;font-weight:800;border-radius:12px}.brand strong,.brand small{display:block}.brand strong{font-size:17px}.brand small{color:#547083;font-size:12px}.label{font-weight:650;color:#087f91;font-size:13px}main{max-width:1150px;margin:34px auto 80px;padding:0 20px}.panel{background:#fff;border:1px solid #d9e7ed;border-radius:15px;padding:25px;box-shadow:0 5px 24px rgba(14,64,81,.035);margin-bottom:18px}.login-card{max-width:510px;margin:6vh auto}.eyebrow{font-size:11px;letter-spacing:2px;color:#087f91;font-weight:800}.login-card h1,.area-head h1{font-size:29px;line-height:1.2;margin:12px 0}.panel h2{font-size:20px;margin:0 0 12px}.panel h3{font-size:16px;margin:28px 0 14px}.panel p,.area-head p{color:#526b7a;line-height:1.6}.login-card form{margin:25px 0}.login-card form button{width:100%}label{display:block;margin:12px 0;font-size:13px;font-weight:600;color:#38556a}label input:not([type=checkbox]),select{display:block;width:100%;border:1px solid #c9dce3;border-radius:9px;padding:10px 12px;margin-top:7px;background:#fff;color:#143748;min-width:0}input:focus,select:focus{outline:2px solid #7ac4d2;outline-offset:1px}input:disabled,select:disabled{background:#f5f7f8;color:#627e8a}.note,.hint{font-size:12px;color:#6b8391}.area-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid.small-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{display:flex;flex-direction:column;gap:8px}.stat span{color:#688392}.stat strong{font-size:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.pill{font-weight:650;font-size:12px;color:#16667a;background:#e6f7f9;padding:7px 11px;border-radius:30px}.pill.muted{color:#5d7584;background:#ecf1f4}.list{list-style:none;margin:16px 0;padding:0}.list li{padding:13px 3px;border-bottom:1px solid #e7eff3;display:flex;justify-content:space-between;align-items:center;gap:12px}.list small{font-size:12px;color:#647e8c}.line{padding:15px 0;border-bottom:1px solid #e7eff3;display:flex;justify-content:space-between;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px}.check-row label{font-weight:500}.service-editor{padding:17px;border:1px solid #d6e6ec;border-radius:12px;margin:14px 0;background:#fbfdfe}.service-head{display:flex;justify-content:space-between;align-items:center}.service-head h4{margin:0;font-size:15px}.service-head button{font-size:12px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 5px}.notice{background:#fff8e8;border:1px solid #efcf88;color:#76591e;border-radius:12px;padding:15px;margin:15px 0;font-size:13px}.feedback{position:fixed;bottom:24px;right:24px;max-width:520px;padding:15px 20px;background:#173b4c;color:white;border-radius:12px;box-shadow:0 12px 25px #15304822;font-weight:600}.feedback.error{background:#842f35}footer{text-align:center;color:#708695;font-size:12px;margin:30px}#area[hidden],#login[hidden],.notice[hidden],.feedback[hidden]{display:none}@media(max-width:760px){.grid,.grid.small-cards,.form-grid{grid-template-columns:1fr}.area-head{align-items:flex-start}.section-head{flex-direction:column;align-items:flex-start}.top{padding:16px}.label{display:none}.panel{padding:18px}main{margin-top:20px}}
/* FASE19Q — sezioni complete, nessun dato simulato */
.portal-page[hidden]{display:none!important}
.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.portal-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px;padding:9px;background:#fff;
  border:1px solid #dae6ec;border-radius:14px}
.portal-nav button{background:transparent;color:#31536a;border-radius:9px;padding:11px 15px;
  font-size:13px;font-weight:700}
.portal-nav button:hover{background:#eff7f9}
.portal-nav button[aria-current="page"]{background:#087f91;color:#fff}
.dashboard-actions{list-style:none;padding:0;margin:0}
.dashboard-action{display:flex;gap:16px;align-items:center;justify-content:space-between;
  padding:17px 0;border-bottom:1px solid #e6eef2}
.dashboard-action:last-child{border-bottom:0}
.dashboard-action strong{font-size:15px}
.dashboard-action p{font-size:13px;margin:7px 0 0;color:#5f7686;line-height:1.5}
.dashboard-action button{flex-shrink:0}
.search-label{max-width:460px;margin:20px 0}
.portfolio-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:22px 0}
.portfolio-card{padding:22px;border:1px solid #dbe8ed;background:#fcfeff;border-radius:14px;min-width:0}
.portfolio-head{display:flex;justify-content:space-between;gap:12px;align-items:center;
  padding-bottom:13px;border-bottom:1px solid #e2edf1}
.portfolio-head small{display:block;text-transform:uppercase;letter-spacing:1.1px;font-weight:700;
  color:#517a8b;margin-bottom:5px}
.portfolio-head h3{margin:0;font-size:17px;overflow-wrap:anywhere}
.portfolio-line{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #eef3f5;
  color:#496578;font-size:13px;line-height:1.5}
.portfolio-line strong{color:#21455b;min-width:110px}
.portfolio-line span{text-align:right;overflow-wrap:anywhere}
.listing-description{white-space:pre-wrap;font-size:14px;line-height:1.6;color:#324f60}
.amenity-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.amenity-tags span{border-radius:8px;background:#e8f4f7;color:#32677a;padding:5px 8px;font-size:12px}
.review-note{font-size:13px;line-height:1.55;padding:10px 12px;color:#604a18;background:#fff8e8;border-radius:10px}
.operational-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.operation{padding:21px;border:1px solid #dce9ef;border-radius:12px;display:flex;flex-direction:column;gap:9px}
.operation strong{font-size:15px;color:#244963}
.operation span{font-size:13px;line-height:1.6;color:#637e8e}
.empty-services{font-size:14px;color:#577184}
@media(max-width:850px){
 .portfolio-list,.operational-grid{grid-template-columns:1fr}
 .header-actions{justify-content:flex-start}
 .dashboard-action{align-items:flex-start}
}
@media(max-width:500px){
 .portal-nav{gap:4px;padding:7px}
 .portal-nav button{padding:9px;font-size:12px}
 .dashboard-action{flex-direction:column}
 .portfolio-line{flex-direction:column;gap:5px}
 .portfolio-line span{text-align:left}
 .header-actions button{padding:9px}
}

/* FASE 19R — galleria privata protetta, nessuna immagine pubblica */
.private-gallery-button {margin-top:14px;display:inline-flex;align-items:center}
.private-photo-gallery {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;margin-top:15px;border-top:1px solid #e5edf2;padding-top:12px}
.private-photo-gallery .hint {grid-column:1/-1;margin:2px 0 0}
.private-photo-gallery figure {margin:0;padding:6px;border:1px solid #deeaef;border-radius:10px;
  background:#fff;min-width:0}
.private-photo-gallery img {width:100%;height:155px;object-fit:contain;border-radius:6px;background:#edf2f4}
.private-photo-gallery figcaption {color:#617f8e;font-size:11px;margin:5px 0}

/* Fasi 19S–19U · Checklist reale e predisposizione schede annuncio (OFF di default). */
.preparation-cards { display:grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap:14px; margin-top:18px; }
.preparation-card { border:1px solid #d6e5ea; border-radius:12px; padding:16px; background:#fff; }
.preparation-card h3 { margin:0 0 8px; font-size:1.02rem; }
.preparation-card p { font-size:.9rem; color:#526376; line-height:1.55; }
.preparation-card ul { padding-left:19px; color:#334960; font-size:.9rem; }
.listing-editor { margin-top:16px; border-top:1px solid #dae7eb; padding-top:12px; }
.listing-editor label { display:block; margin:9px 0; font-weight:600; color:#30495d; }
.listing-editor textarea,.listing-editor input { display:block; width:100%; margin:5px 0 9px; border:1px solid #beced8; border-radius:8px; padding:10px; font:inherit; box-sizing:border-box; }
.listing-editor textarea { min-height:105px; resize:vertical; }
.listing-editor button { margin-top:6px; }
.listing-editor-note { margin:8px 0; font-size:.85rem; color:#536c80; }
.preparation-kpi { font-weight:700; color:#006a84; }

/* Fasi 19V-19Z — stato reale del servizio: nessuna richiesta fittizia. */
.operational-readiness{display:grid;gap:12px;margin:18px 0 22px}
.readiness-head,.readiness-service{padding:15px 17px;border:1px solid #d8e4e8;border-radius:12px;background:#f8fbfc}
.readiness-head strong{display:block;font-size:1rem}
.readiness-service h3{font-size:1rem;margin:0 0 8px}
.readiness-service ul{margin:6px 0 6px;padding-left:20px}
.readiness-service li{line-height:1.65;font-size:.92rem}
.readiness-service .hint{margin-top:10px;overflow-wrap:anywhere}
