:root{--bg:#f6f7f9;--card:#ffffff;--ink:#1a1f2b;--muted:#667085;--line:#e4e7ec;--brand:#0f766e;--brand-ink:#ffffff;--accent:#f0fdfa;--warn:#b45309;--radius:14px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{overflow-x:hidden;overscroll-behavior-x:none;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.container{max-width:640px;margin:0 auto;padding:24px 16px 64px}.site-bg{position:fixed;inset:0;z-index:-1;background-color:#d9e3ea;background-image:linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.42)),url(/sfondo-micasa-beach5.jpg);background-size:cover;background-position:50%;background-repeat:no-repeat}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:16px}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.05rem;margin:0 0 12px}p.lead{color:var(--muted);margin-top:0}.brandbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--brand);font-weight:700}label{display:block;font-weight:600;font-size:.9rem;margin:14px 0 6px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:1rem;background:#fff;color:var(--ink);font-family:inherit}textarea{resize:vertical;line-height:1.5}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);border-color:var(--brand)}.row{display:flex;gap:12px}.row>div{flex:1 1}.hint{font-size:.8rem;color:var(--muted);margin-top:4px}.channels{display:flex;gap:8px;margin-top:6px}.channels label{flex:1 1;margin:0;text-align:center;padding:10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:600}.channels input{display:none}.channels input:checked+span{color:var(--brand)}.channels label:has(input:checked){border-color:var(--brand);background:var(--accent)}.roomselect{display:grid;grid-gap:8px;gap:8px;margin:6px 0 4px}.roomcard{display:flex;align-items:center;gap:12px;margin:0;padding:8px 12px 8px 8px;border:1px solid var(--line);border-radius:12px}.roomcard.on{border-color:var(--brand);background:var(--accent)}.roomcard-photobtn{padding:0;border:0;background:none;position:relative;flex:0 0 auto;line-height:0;cursor:zoom-in;border-radius:8px}.roomcard-photo{width:104px;height:78px;object-fit:cover;border-radius:8px;background:#e9edf1;display:block}.roomcard-zoom{position:absolute;right:5px;bottom:5px;pointer-events:none;background:rgba(0,0,0,.55);color:#fff;font-size:.72rem;border-radius:6px;padding:1px 5px;line-height:1.5}.roomcard-select{align-items:center;gap:12px;margin:0;cursor:pointer}.roomcard-body,.roomcard-select{flex:1 1;min-width:0;display:flex}.roomcard-body{flex-direction:column}.roomcard-name{font-weight:600;font-size:.92rem;line-height:1.25}.roomcard-meta{color:var(--muted);font-weight:600;font-size:.8rem;margin-top:3px}.roomcard input{width:auto;margin:0;flex:0 0 auto}.zoom-overlay{position:fixed;inset:0;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;cursor:zoom-out}.zoom-img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.4);cursor:default}.zoom-close{position:absolute;top:16px;right:16px;z-index:1;display:inline-flex;align-items:center;gap:6px;background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:700;font-family:inherit;cursor:pointer}.zoom-close:hover{background:rgba(0,0,0,.78)}.contacthelp-links{display:flex;flex-wrap:wrap;gap:10px}.contactbtn{display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border-radius:10px;font-size:.92rem;font-weight:600;text-decoration:none;border:1px solid var(--line);color:var(--ink);background:#fff}.contactbtn:hover{border-color:var(--brand);color:var(--brand);background:var(--accent)}.msgblock{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:12px;padding:14px 16px;margin:0 0 14px;background:#fff;box-shadow:0 1px 6px rgba(15,23,42,.08)}.msg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.msg-badge{display:inline-block;margin-left:8px;font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:999px;vertical-align:middle}.b-guest{background:var(--accent);color:var(--brand)}.b-host{background:#fef3c7;color:#92400e}.b-platform{background:#e0e7ff;color:#3730a3}.msg-when{color:var(--muted);font-size:.82rem;font-weight:600;margin-top:5px}.msg-subject{margin-top:9px;font-size:.9rem}.msgbody{white-space:pre-wrap;word-break:break-word;margin-top:8px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:.9rem;line-height:1.5;color:var(--ink)}.taxbox{background:var(--accent);border:1px solid #99f6e4;border-radius:12px;padding:16px;margin:20px 0;display:flex;align-items:baseline;justify-content:space-between}.taxbox .amount{font-size:1.6rem;font-weight:800;color:var(--brand)}button.primary{width:100%;margin-top:8px;background:var(--brand);color:var(--brand-ink);border:0;border-radius:10px;padding:14px;font-size:1rem;font-weight:700;cursor:pointer}button.primary:disabled{opacity:.6;cursor:not-allowed}.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:10px 12px;border-radius:10px;margin-top:12px;font-size:.9rem}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700}.pill.ok{background:#ecfdf5;color:#047857}.pill.wait{background:#fffbeb;color:var(--warn)}.tasklist{list-style:none;padding:0;margin:0}.tasklist li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.tasklist li:last-child{border-bottom:0}.tasklist .dot{width:22px;height:22px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-size:.8rem}.tasklist .dot.done{background:#d1fae5;color:#047857}.tasklist .dot.todo{background:#f2f4f7;color:var(--muted)}.summary{width:100%;border-collapse:collapse}.summary td{padding:8px 0;border-bottom:1px solid var(--line);font-size:.95rem}.summary td:first-child{color:var(--muted)}.summary td:last-child{text-align:right;font-weight:600;overflow-wrap:anywhere}a.link{color:var(--brand)}.richtext p{margin:0 0 8px}.videowrap{position:relative;padding-top:56.25%;border-radius:12px;overflow:hidden;background:#000}.videowrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.photogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.photogrid figure{margin:0}.photogrid img{width:100%;border-radius:10px;display:block}.photogrid figcaption{font-size:.8rem;color:var(--muted);margin-top:4px}.footnote{color:var(--muted);font-size:.82rem}.topbar{display:flex;justify-content:flex-end;margin-bottom:12px}.phonefield{align-items:flex-end}.phonefield .phone-prefix{flex:0 0 44%}.phonefield .phone-number{flex:1 1}.phonefield select{text-overflow:ellipsis}.adminnav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;margin-bottom:16px;background:var(--card);border:1px solid var(--line);border-radius:12px}.adminnav .linkbtn,.adminnav a{display:inline-block;line-height:1;white-space:nowrap;padding:8px 13px;border-radius:999px;font-size:.85rem;font-weight:600;text-decoration:none;cursor:pointer}.adminnav a{color:var(--ink);background:#f2f4f7;border:1px solid transparent}.adminnav a:hover{background:var(--accent);color:var(--brand);border-color:#99f6e4}.adminnav .nav-logout{display:flex}.adminnav .linkbtn{background:#fff;color:var(--muted);border:1px solid var(--line);font-family:inherit}.adminnav .linkbtn:hover{color:var(--brand);border-color:var(--brand)}.linkbtn{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;padding:0}@keyframes ptr-spin{to{transform:rotate(1turn)}}@keyframes room-focus{0%{transform:scale(.92);box-shadow:0 1px 5px rgba(15,23,42,.06)}50%{transform:scale(1.04);box-shadow:0 14px 34px rgba(15,23,42,.24)}to{transform:scale(.92);box-shadow:0 1px 5px rgba(15,23,42,.06)}}.combo{position:relative}.combo-list{position:absolute;left:0;right:0;top:100%;z-index:30;margin:4px 0 0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px rgba(15,23,42,.14);max-height:280px;overflow-y:auto}.combo-list li{display:flex;align-items:center;gap:8px;padding:10px;border-radius:7px;cursor:pointer;font-size:.95rem}.combo-list li.on,.combo-list li:hover{background:#eef6f5}.combo-list li .sub{color:var(--muted);font-size:.82rem}.combo-flag{font-size:1.1rem}.bottomnav{display:none}.menu-list{display:flex;flex-direction:column;gap:12px}.menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:12px;box-shadow:0 1px 6px rgba(15,23,42,.08);background:#fff;color:var(--ink);text-decoration:none;cursor:pointer;font:inherit;text-align:left}.menu-item:hover{border-color:var(--brand)}.menu-ico{width:30px;flex:0 0 auto;color:var(--brand);display:inline-flex;align-items:center;justify-content:center}.menu-ico svg{width:24px;height:24px}.menu-logout .menu-ico{color:#b91c1c}.menu-text{display:flex;flex-direction:column;flex:1 1}.menu-label{font-weight:600}.menu-desc{color:var(--muted);font-size:.82rem}.menu-arrow{color:var(--muted);font-size:1.3rem}.menu-logout-form{margin:0}.menu-logout,.menu-logout .menu-label{color:#b91c1c}.menu-logout{border-left-color:#b91c1c}.biolock{position:fixed;inset:0;z-index:100;background:var(--brand);display:flex;align-items:center;justify-content:center}.biolock-box{text-align:center;color:#fff;padding:24px}.biolock-emoji{font-size:3rem;line-height:1}.biolock-title{font-size:1.3rem;font-weight:700;margin:10px 0 2px}.biolock-sub{opacity:.85;margin:0 0 18px}.biolock .btn-sm.primary-sm{background:#fff;color:var(--brand)}.access-actions{display:flex;gap:10px}.access-actions .primary{flex:1 1;margin-top:0}.calhead{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:8px;margin-bottom:14px}.calmonth{margin:0;font-size:1.25rem;text-align:center;min-width:180px}.calnav{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1.5px solid #1f2937;color:var(--brand);font-size:1.4rem;text-decoration:none;line-height:1;flex:0 0 auto}.calnav:hover{background:#eef6f5}.calpick{display:flex;gap:6px;min-width:0}.calpick-sel{font-weight:700;font-size:.95rem;padding:9px 6px;border:1.5px solid #1f2937;border-radius:10px;background:#fff;color:var(--ink);text-align:center;text-align-last:center}.calpick-month{flex:0 0 auto;width:114px}.calpick-year{flex:0 0 auto;width:78px}.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:5px;gap:5px;width:100%}.calweekdays{margin-bottom:6px}.calwd{text-align:center;font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase}.calcell,.calwd{min-width:0;overflow:hidden}.calcell{box-sizing:border-box;position:relative;min-height:66px;border:1.5px solid #1f2937;border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;text-decoration:none;color:var(--ink);padding:5px 2px}.calcell.empty{border:0;background:transparent}.calcell.today,.calcell:not(.empty):hover{border-color:var(--brand)}.calcell.today{box-shadow:inset 0 0 0 1px var(--brand)}.caldaynum{font-size:.95rem;font-weight:600;line-height:1}.calbadges{display:flex;gap:3px;min-height:16px}.calbadge{min-width:16px;height:16px;padding:0 4px;border-radius:9px;line-height:1;font-size:.72rem;font-weight:800;color:#fff;display:inline-flex;align-items:center;justify-content:center}.calbadge.arr{background:#16a34a}.calbadge.dep{background:#dc2626}.callogo{flex:0 0 27%;display:flex;justify-content:center;align-items:center;padding-top:20px}.callogo img{height:92px;max-height:100%;width:auto;opacity:.92}.callegend{display:flex;gap:16px;justify-content:center;margin-top:14px;font-size:.8rem;color:var(--muted)}.callegend span{display:inline-flex;align-items:center;gap:5px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.pagehead h1{margin:0}.filterbar{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.filterfoot{display:flex;align-items:center;gap:8px}.resfilters{border-left:4px solid #111827;box-shadow:0 1px 6px rgba(15,23,42,.08)}.filterrow4{grid-template-columns:1.55fr 1.2fr .62fr .62fr;grid-gap:6px}.filterrow3,.filterrow4{display:grid;gap:6px;align-items:center}.filterrow3{grid-template-columns:1.7fr .8fr .8fr;grid-gap:6px;margin:0 2px 12px}.card.arch-head{padding:14px 16px;margin-bottom:2px}.arch-head h1{margin:0}.filterrow3 .filterfield,.filterrow3>input{height:42px;box-sizing:border-box}.filterrow3>input,.filterrow3>select,.filterrow4>input,.filterrow4>select{width:100%;min-width:0;box-sizing:border-box;font-size:.78rem;padding:8px 6px;text-align:center;text-align-last:center}.filterrow{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;width:100%}.filterrow>input,.filterrow>select{width:100%;min-width:0;box-sizing:border-box;font-size:.9rem;padding-left:8px;padding-right:6px}.filterfield{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;padding:2px 4px;font-size:.6rem;font-weight:600;color:var(--muted)}.filterfield>span{white-space:nowrap}.filterfield input[type=date]{flex:0 1 auto;min-width:0;width:auto;border:0;background:transparent;padding:6px 0;font-size:.66rem;color:var(--ink)}.filterfield input[type=date]:focus{outline:none}.filterfield:has(:focus-visible){border-color:var(--brand)}details.arch-acc{padding:0}.arch-acc{box-shadow:0 1px 6px rgba(15,23,42,.08);border-left:4px solid var(--line);margin-bottom:10px}.acc-arancione{border-left-color:#f97316}.acc-viola{border-left-color:#8b5cf6}.acc-rosso{border-left-color:#ef4444}.arch-acc-conclusi{border-left-color:#f97316}.arch-acc-annullate{border-left-color:#8b5cf6}.arch-acc-eliminati{border-left-color:#ef4444}.pren-attesa{border-left-color:#f97316}.pren-conclusi{border-left-color:#8b5cf6}.pren-codici{border-left-color:#ef4444}.arch-acc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:15px 16px;font-size:1.05rem;font-weight:700;color:var(--ink)}.arch-acc>summary::-webkit-details-marker{display:none}.arch-acc-title{flex:1 1 auto;min-width:0}.arch-acc-count{margin-left:auto;background:var(--accent);color:var(--brand);font-size:.78rem;font-weight:800;min-width:22px;height:22px;padding:0 7px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center}.arch-acc-chev{color:var(--muted);font-size:1.4rem;line-height:1;transition:transform .2s ease}.arch-acc[open] .arch-acc-chev{transform:rotate(90deg)}.arch-acc-body{padding:0 12px 8px}.dayacc{display:flex;flex-direction:column;gap:10px;margin-top:14px}.dayacc-item{border:1px solid var(--line);border-radius:12px;overflow:hidden}.dayacc-head{width:100%;display:flex;align-items:center;gap:10px;padding:14px;background:#fff;border:0;font:inherit;cursor:pointer;text-align:left}.dayacc-head.open{border-bottom:1px solid var(--line)}.dayacc-title{font-weight:700;flex:1 1}.dayacc-count{min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:#eef6f5;color:var(--brand);font-weight:800;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center}.dayacc-chev{color:var(--muted);font-size:.8rem}.dayacc-body{padding:12px 14px}.tablewrap{overflow-x:auto}.reshead{border:1.5px solid #111827;border-left-width:4px;box-shadow:0 1px 6px rgba(15,23,42,.08);position:relative}.reshead:after{content:"";position:absolute;top:50%;transform:translateY(-50%);right:16px;width:84px;height:56px;background:url(/logo-micasa.png) 50%/contain no-repeat;opacity:.9;pointer-events:none}table.admin{width:100%;border-collapse:collapse;font-size:.88rem}table.admin th{text-align:left;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:2px solid var(--line);white-space:nowrap}table.admin td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.sub{color:var(--muted);font-size:.78rem}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:18px}.filters>div{flex:1 1 150px}.filters label{margin-top:0}.filters-actions{flex:0 0 auto}.filters-fields{flex:1 1 auto;display:flex;gap:8px}.filters-fields>div{flex:1 1;min-width:0}.filters-fields input,.filters-fields select{width:100%;box-sizing:border-box}.filters-search{flex:1 1 100%;display:flex;gap:8px;align-items:center;min-width:0}.filters-search input{flex:1 1;width:auto;min-width:0;box-sizing:border-box}.filters-search button{flex:0 0 auto;white-space:nowrap}.roomblock{padding:12px 0;border-bottom:1px solid var(--line)}.roomrow{display:flex;gap:8px 10px;align-items:flex-end;flex-wrap:wrap;padding:0}.roomrow .roomname{flex:1 1 140px;font-weight:600;align-self:center}.roomrow input{flex:1 1 100px;width:auto}.fieldgroup{display:flex;flex-direction:column;gap:3px;flex:1 1 120px}.fieldgroup.fieldgroup-sm{flex:0 1 96px}.fieldgroup label{font-size:.72rem;color:var(--muted);font-weight:600}.roomrow .fieldgroup input{width:100%;flex:none}.roomfields{display:contents}.roomphoto{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}.roomphoto-thumb{width:96px;height:72px;object-fit:cover;border-radius:8px;background:#e9edf1;flex:0 0 auto}.roomphoto-empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.72rem;text-align:center;padding:4px}.roomphoto input[type=file]{flex:1 1 150px;width:auto}button.primary.small{width:auto;padding:9px 14px;margin-top:0;font-size:.85rem}.admin-breakout{width:100vw;position:relative;left:50%;margin-left:-50vw}.admin-inner{max-width:960px;margin:0 auto;padding:0 20px}.admin-inner input:not([type=file]),.admin-inner select{max-width:560px}.admin-login{max-width:440px;margin-left:auto;margin-right:auto}table.admin td.actions{white-space:nowrap}.rowactions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:36px;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;font-size:1.05rem;line-height:1}.iconbtn.danger{border-color:#f3c9c9}.iconbtn:hover{border-color:var(--brand)}.iconbtn[disabled]{opacity:.55;cursor:default}.confirm-q{font-size:.85rem;font-weight:700;color:#b91c1c}.btn-sm{display:inline-block;padding:7px 14px;border-radius:8px;font-size:.8rem;font-weight:700;line-height:1;text-decoration:none;border:1px solid transparent;cursor:pointer}.btn-sm.primary-sm{background:var(--brand);color:#fff}.btn-sm.ghost{background:#fff;color:var(--ink);border-color:var(--line)}.btn-sm.danger-sm{background:#fee2e2;color:#b91c1c;border-color:#fecaca;cursor:pointer}.btn-sm.danger-sm:hover{background:#fecaca}.btn-sm[disabled]{opacity:.55;cursor:default}.bulkbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--accent);border:1px solid #99f6e4;border-radius:10px;padding:10px 14px;margin-bottom:12px;font-weight:700;font-size:.9rem}.bulkbar .btn-sm{cursor:pointer}.selcell{width:28px}.linkrow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}.linkrow:last-child{border-bottom:0}.linkmeta{flex:1 1 260px;min-width:0}.linklabel{font-weight:600}.linkurl{color:var(--brand);font-size:.85rem;word-break:break-all}.linkactions{display:flex;gap:8px;flex:0 0 auto}.linkactions .btn-sm{cursor:pointer}.stars{display:flex;gap:6px;font-size:2rem;line-height:1;margin:6px 0 14px}.stars button{width:auto;padding:0;margin:0;border:0;background:none;font-size:inherit;line-height:1;cursor:pointer;color:#d0d5dd;transition:color .1s}.stars button.on,.stars span.on{color:#f5b301}.stars span{color:#d0d5dd}.btn-google{display:block;text-align:center;text-decoration:none;background:#f5b301;color:#1a1f2b;font-weight:800;border-radius:10px;padding:14px;margin-top:14px}.btn-google:hover{background:#e0a400}.rules{background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;padding:14px 16px;margin:14px 0}.rules-badge{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#b45309;background:#fef3c7;border-radius:999px;padding:3px 10px;margin-bottom:8px}.rules p:last-child{margin-bottom:0}.wf{margin-top:8px}.wf-step{display:flex;gap:14px;padding-bottom:20px;position:relative}.wf-step:not(:last-child):before{content:"";position:absolute;left:15px;top:34px;bottom:-2px;width:2px;background:var(--line)}.wf-dot{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.95rem;position:relative;z-index:1}.wf-step.warn .wf-dot{background:#b45309}.wf-body{padding-top:3px}.wf-body b{display:block;margin-bottom:2px}.wf-body p{margin:0 0 4px}.wf-when{display:inline-block;font-size:.78rem;font-weight:700;color:var(--brand);background:var(--accent);border:1px solid #99f6e4;border-radius:999px;padding:2px 10px}.wf-table{width:100%;border-collapse:collapse;font-size:.88rem}.wf-table th{text-align:left;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:2px solid var(--line);white-space:nowrap}.wf-table td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.modetabs-hint{margin:4px 0 6px;font-size:.82rem;color:var(--muted);font-weight:600}.modetabs{display:flex;gap:8px;align-items:center;margin:0 0 12px}.modetabs button{flex:1 1;width:auto;padding:10px 8px;margin:0;cursor:pointer;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:600;font-size:.9rem;color:var(--ink)}.modetabs button.on{border-color:var(--brand);background:var(--accent);color:var(--brand)}.modetabs-or{flex:0 0 auto;color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.guesttitle-row{gap:10px;flex-wrap:wrap}.copyfield,.guesttitle-row{display:flex;align-items:center;justify-content:space-between}.copyfield{gap:12px}.copyfield>span{min-width:0;overflow-wrap:anywhere}.copybtn{width:auto;margin:0;padding:3px 9px;font-size:.72rem;font-weight:700;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--brand);cursor:pointer;white-space:nowrap}.copybtn:hover{border-color:var(--brand);background:var(--accent)}.guest-table td:last-child{text-align:left}.attn{display:flex;gap:8px;align-items:flex-start;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;padding:10px 13px;margin-top:8px;font-size:.9rem;font-weight:600;line-height:1.4}.arrivelist{margin:6px 0 0;padding-left:20px}.arrivelist li{margin-bottom:9px;line-height:1.5}.arrivelist li:last-child{margin-bottom:0}.demo-banner{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:.92rem}.modal-overlay{position:fixed;left:0;top:0;right:0;height:100dvh;background:rgba(0,0,0,.45);display:flex;align-items:flex-start;justify-content:center;z-index:50;padding:calc(env(safe-area-inset-top, 0px) + 24px) 16px calc(env(safe-area-inset-bottom, 0px) + 16px)}.modal{background:#fff;border-radius:14px;padding:16px;max-width:380px;width:100%;max-height:calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 48px);overflow-y:auto}.modal .modal-actions{position:-webkit-sticky;position:sticky;bottom:0;background:#fff;padding-bottom:2px}.modal h2{margin:0 0 4px;font-size:1.1rem;text-align:center}.modal h3{margin:0 0 8px;font-size:1.1rem}.modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}.modal-actions .btn-sm{padding:10px 16px;font-size:.9rem}.roomedit-dates{display:flex;gap:10px;margin-top:8px}.roomedit-dates .filterfield{flex:1 1;min-width:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px;border:0;background:transparent;padding:0}.roomedit-dates .filterfield>span{font-size:.75rem;font-weight:600;color:var(--muted);text-align:center;white-space:nowrap}.roomedit-dates .filterfield input[type=date]{width:100%;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 10px;font-size:.88rem;color:var(--ink);text-align:left}.roomedit{display:flex;flex-direction:column;gap:5px;margin-top:8px}.roomedit-item{display:flex;align-items:center;gap:10px;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:7px 11px;font-weight:600;font-size:.9rem}.roomedit-item.on{border-color:var(--brand);background:var(--accent);color:var(--brand)}.roomedit-item input{width:auto;margin:0;flex:0 0 auto}@media (max-width:560px){.adminnav{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;padding:12px}.adminnav .linkbtn,.adminnav a{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:6px 10px;font-size:.82rem;text-align:center;white-space:normal}.adminnav .nav-logout{margin-left:0;display:contents}.admin-inner{padding:0 14px}.card{padding:18px 16px}.contacthelp-links{justify-content:center}.row{display:block}.summary-stack,.summary-stack tbody,.summary-stack td,.summary-stack tr{display:block;width:100%}.summary-stack tr{padding:9px 0;border-bottom:1px solid var(--line)}.summary-stack tr:last-child{border-bottom:0}.summary-stack td{border:0;padding:0}.summary-stack td:first-child{font-size:.78rem;font-weight:600}.summary-stack td:last-child{text-align:left;margin-top:2px}.adminnav{display:none}.admin-breakout{padding-bottom:82px}.bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -2px 14px rgba(15,23,42,.08)}.bottomnav a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 0 7px;text-decoration:none;opacity:.5;transition:opacity .15s ease}.bottomnav a.on{opacity:1}.bottomnav svg{width:24px;height:24px}.bn-label{font-size:.62rem;font-weight:600;line-height:1}.calpage{display:flex;flex-direction:column;border-left:4px solid var(--brand);touch-action:pan-y;overscroll-behavior:contain;overflow:hidden}.calpage .caldays{grid-template-rows:none}.calpage .caldays .calcell{min-height:0;aspect-ratio:1/1.4}.roomblock{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:14px;padding:16px;margin:18px 8px;box-shadow:0 2px 12px rgba(15,23,42,.12);background:#fff}@supports (animation-timeline:view()){body.scrolled .menu-item,body.scrolled .msgblock,body.scrolled .roomblock,body.scrolled table.admin tr{transform-origin:center;animation:room-focus linear both;animation-timeline:view()}}.roomrow{flex-direction:column;align-items:stretch;gap:12px}.roomfields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;align-items:end}.roomfields .fieldgroup,.roomfields .fieldgroup.fieldgroup-sm{width:auto;align-items:center}.roomfields .fieldgroup label{font-size:.68rem;text-align:center}.roomfields .fieldgroup input{text-align:center}.roomrow .roomname{flex:none;font-size:1.12rem;font-weight:700;color:var(--brand);padding-bottom:10px;border-bottom:1px solid var(--line)}.roomrow .fieldgroup,.roomrow .fieldgroup.fieldgroup-sm{flex:none;width:100%}.roomrow .fieldgroup input,.roomrow input{width:100%;flex:none;box-sizing:border-box}.roomrow button.primary.small{width:100%;margin-top:2px}.roomphoto{flex-direction:column;align-items:stretch;gap:10px}.roomphoto-thumb{width:100%;height:150px}.roomphoto input[type=file]{width:100%;flex:none}.roomphoto button.primary.small{width:100%}.tablewrap{overflow:visible}.reslist{background:transparent;border:0;padding:0;margin-bottom:0}table.admin thead{display:none}table.admin,table.admin tbody,table.admin td,table.admin tr{display:block;width:100%}table.admin tr{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:12px;padding:4px 16px;margin:0 0 14px;background:#fff;box-shadow:0 1px 6px rgba(15,23,42,.08)}table.admin td{border-bottom:1px solid var(--line);padding:9px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right}table.admin td:last-child{border-bottom:0}table.admin td:before{content:attr(data-label);color:var(--muted);font-weight:600;text-align:left}table.admin td[data-label=Ospite]{font-weight:700;font-size:1.02rem}table.admin td[data-label=Arrivo],table.admin td[data-label=Camere],table.admin td[data-label=Partenza]{font-size:1rem;font-weight:600;color:var(--ink)}table.admin td[data-label=Arrivo]:before,table.admin td[data-label=Camere]:before,table.admin td[data-label=Partenza]:before{font-size:.8rem;font-weight:600;color:var(--muted)}table.admin td.actions{justify-content:flex-start;padding-top:12px}table.admin td.actions:before{content:none}.rowactions{flex:1 1}}.callout{display:flex;gap:12px;align-items:flex-start;background:var(--accent);border:1px solid #99f6e4;border-radius:12px;padding:16px;margin:8px 0 12px}.callout-icon{font-size:1.5rem;line-height:1.2}.callout p{margin:0}.why{margin:12px 0 6px;border:1px solid #99f6e4;border-radius:10px;background:var(--accent)}.why>summary{cursor:pointer;padding:12px 14px;font-weight:600;color:var(--brand);list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.why>summary::-webkit-details-marker{display:none}.why>summary:before{content:"ⓘ "}.why[open]>summary{border-bottom:1px solid #99f6e4}.why p{margin:10px 14px;font-size:.86rem;color:var(--ink);line-height:1.55}.why p:last-child{margin-bottom:14px}.guestblock{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:14px 0}.guesttitle{font-weight:700;color:var(--brand);margin-bottom:4px}.ordiv{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:.8rem;margin:14px 0 4px}.ordiv:after,.ordiv:before{content:"";flex:1 1;height:1px;background:var(--line)}.ordiv span{padding:0 10px;text-transform:uppercase;letter-spacing:.05em}.summary td:only-child{text-align:left;font-weight:500}.langswitch{width:auto;padding:7px 10px;font-size:.85rem;font-weight:600;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer}.langswitch2{position:relative;display:inline-block}.langswitch2-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font:inherit;font-size:.88rem;font-weight:600;color:var(--ink);cursor:pointer}.langswitch2-caret{color:var(--muted);font-size:.7rem}.langswitch2-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;margin:0;padding:6px;list-style:none;min-width:168px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.12)}.langswitch2-item{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:8px;padding:8px 10px;font:inherit;font-size:.9rem;color:var(--ink);cursor:pointer;text-align:left}.langswitch2-item.on,.langswitch2-item:hover{background:var(--accent)}.langswitch2-item.on{color:var(--brand);font-weight:700}.flag{width:22px;height:15px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.12);flex:0 0 auto}.conto-page .card:not(.reshead){border-left:4px solid var(--brand);box-shadow:0 1px 6px rgba(15,23,42,.08)}.conto-sum{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-top:6px}.conto-stat{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;border:1px solid var(--line);border-radius:12px;padding:12px 8px;background:#fff}.conto-stat .cs-lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.conto-stat .cs-val{font-size:1.05rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.conto-stat.in .cs-val{color:#15803d}.conto-stat.out .cs-val{color:#c2410c}.conto-stat.pos .cs-val{color:#15803d}.conto-stat.neg .cs-val{color:#b91c1c}.conto-stat.cash{background:var(--accent);border-color:#99f6e4}.conto-stat.cash .cs-val{color:var(--brand)}@media (max-width:560px){.conto-sum{grid-template-columns:1fr 1fr}}.conto-chip{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.76rem;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;border:1px solid rgba(0,0,0,.08);line-height:1.3}.conto-chip.tot{background:#64748b}.conto-cats{display:flex;flex-direction:column;gap:9px}.conto-catrow{display:flex;align-items:center;gap:10px}.conto-catrow .conto-chip{flex:0 0 auto;min-width:104px}.conto-catbar{flex:1 1 auto;height:8px;border-radius:999px;background:#f2f4f7;overflow:hidden;min-width:0}.conto-catbar>span{display:block;height:100%;border-radius:999px}.conto-catval{flex:0 0 auto;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:74px;text-align:right}.conto-catrow.total .conto-catbar{background:transparent}.conto-movlist{display:flex;flex-direction:column;gap:0;margin-top:10px}.conto-mov{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.conto-mov:last-child{border-bottom:0}.conto-mov .conto-chip{flex:0 0 auto;min-width:92px}.conto-mov-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.conto-mov-nota{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conto-mov-date{font-size:.76rem;color:var(--muted)}.conto-mov-amt{flex:0 0 auto;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.conto-mov-amt.out{color:#c2410c}.conto-mov-amt.in{color:#15803d}.conto-del{margin:0;flex:0 0 auto}.conto-del .iconbtn{width:34px;height:32px;font-size:.95rem}.conto-detail{margin-top:12px}.conto-detail>summary{cursor:pointer;font-weight:700;font-size:.9rem;color:var(--brand);list-style:none}.conto-detail>summary::-webkit-details-marker{display:none}.conto-form{display:flex;flex-direction:column;gap:2px}.conto-tipo{display:flex;gap:8px;margin-top:6px}.conto-tipo label{flex:1 1;margin:0;text-align:center;padding:10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:600}.conto-tipo input{display:none}.conto-tipo label.on{border-color:var(--brand);background:var(--accent);color:var(--brand)}.conto-saldo>summary{cursor:pointer;font-weight:700;list-style:none;color:var(--ink)}.conto-saldo>summary::-webkit-details-marker{display:none}.conto-saldo[open]>summary{margin-bottom:6px}.priceedit{display:flex;flex-direction:column}.priceedit-row{display:flex;gap:8px;align-items:center}.priceedit-row input{flex:1 1 auto}.priceedit-row .btn-sm{flex:0 0 auto}.conto-tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px;margin-bottom:16px;box-shadow:0 1px 6px rgba(15,23,42,.06)}.conto-tab{flex:1 1;text-align:center;text-decoration:none;padding:9px 12px;border-radius:999px;font-weight:700;font-size:.9rem;color:var(--muted)}.conto-tab.on{background:var(--brand);color:#fff}.conto-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));grid-gap:10px;gap:10px}.conto-kpi .k{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}.conto-kpi .k-lbl{font-size:.7rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.conto-kpi .k-val{font-size:1.15rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.conto-year{font-size:1.3rem;font-weight:800;min-width:90px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.conto-yearchips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px 0 4px}.conto-yearchip{text-decoration:none;font-size:.82rem;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 11px}.conto-yearchip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.conto-catpct{color:var(--muted);font-weight:600;font-size:.78rem}.conto-mesi{display:flex;flex-direction:column;gap:0}.conto-mese{display:grid;grid-template-columns:34px 1fr 46px 84px 84px;align-items:center;grid-gap:8px;gap:8px;padding:8px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.conto-mese:last-child{border-bottom:0}.conto-mese:hover{background:var(--accent)}.conto-mese-nome{font-weight:700;font-size:.85rem}.conto-mese-occ{font-size:.8rem;font-weight:700;text-align:right}.conto-mese-in{color:var(--muted)}.conto-mese-in,.conto-mese-net{text-align:right;font-size:.85rem}.conto-mese-net{font-weight:700}.conto-mese-net.pos{color:#15803d}.conto-mese-net.neg{color:#b91c1c}.conto-mese.is-storico{cursor:default}.conto-mese-tag{display:inline-block;margin-left:5px;font-size:.6rem;font-weight:800;color:#fff;background:#64748b;border-radius:4px;padding:0 4px;vertical-align:middle}@media (max-width:560px){.conto-mese{grid-template-columns:30px 1fr 42px 78px}.conto-mese-in{display:none}}