.ck-body{background:var(--bg);min-height:100vh}
#ck-root{max-width:760px;margin:0 auto;padding:0 12px 40px}
.ck-head{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;color:var(--navy)}
.ck-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}
.ck-card h1{font-size:22px;margin:0 0 12px}.ck-card h2{font-size:17px;margin:0 0 8px}
.ck-stay{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ck-stay div{display:flex;flex-direction:column;background:#f3f8f9;border-radius:8px;padding:8px 10px}
.ck-stay small{color:var(--mut);font-size:12px}.ck-stay b{font-size:15px}
.ck-guest{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.ck-ghead{display:flex;align-items:center;justify-content:space-between}.ck-ghead h3{margin:6px 0}
.ck-scan{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.ck-badges{display:flex;gap:4px;flex-wrap:wrap}
.ck-note{margin:4px 0 8px;font-size:13px;min-height:1em}.ck-note.ok{color:var(--hk-clean)}.ck-note.warn{color:var(--warn)}.ck-note.err{color:var(--red)}
.ck-manual{margin:0 0 10px;font-size:13px}.ck-manual summary{cursor:pointer;color:var(--acc)}
.ck-mrz{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:13px;margin:6px 0}
.dz-field.req>span::after{content:" *";color:var(--red)}
.ck-c{align-items:flex-start;margin:6px 0;line-height:1.35}.ck-c input{margin-top:3px}
.ck-sign{width:100%;max-width:600px;height:auto;aspect-ratio:600/180;border:1px dashed var(--acc);border-radius:8px;background:#fbfdfe;touch-action:none;display:block;margin:6px 0}
.ck-send{width:100%;padding:12px;font-size:16px;margin-top:10px}
.ck-ok{color:var(--hk-clean);font-weight:600}
.ck-done{text-align:center}.ck-done h2{color:var(--hk-clean);font-size:20px}
.ck-video{width:100%;border-radius:8px;background:#000}
@media (max-width:560px){.ck-stay{grid-template-columns:1fr 1fr}.ck-stay div:last-child{grid-column:1/-1}}
.kiosk-card{max-width:520px;margin:40px auto;font-size:17px}.kiosk-card input{font-size:20px;padding:10px}
.kiosk-langs{display:flex;gap:6px}
/* planning avanzato */
.bar.blk{background:repeating-linear-gradient(45deg,#fbe3e3,#fbe3e3 6px,#f3c9c9 6px,#f3c9c9 12px);color:#7f1d1d;cursor:pointer;border:1px solid #e3a5a5}
.bar.eci{border-left:5px solid var(--gold)}.bar.lco{border-right:5px solid var(--gold)}
.bar.overbook{outline:2px solid var(--red);outline-offset:1px}
.bar .px.grp{background:var(--gold);color:var(--navy);font-weight:700}
.dz-plan .ph.occ small.neg{color:var(--red)}
.plan-issues ul{margin:6px 0 0;padding-left:18px}.plan-issues li{margin:3px 0}
.grp-type{margin:8px 0}.grp-rooms{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.grp-rooms .n{width:56px}
/* housekeeping */
.hk-task{border-left-color:var(--hk-dirty)}.hk-task.st-progress{border-left-color:var(--st-option)}.hk-task.st-done{border-left-color:var(--hk-clean)}.hk-task.st-inspected{border-left-color:var(--hk-inspected);opacity:.75}
.hk-task.urgent{box-shadow:0 0 0 2px #f0c36d}.hk-task.dnd{background:#fff6f6}
.hk-task .hk-b .dz-btn:not(.sm){padding:10px 16px;font-size:15px}
@media (max-width:560px){.hk-grid{grid-template-columns:1fr}.dz-filters select,.dz-filters input{flex:1 1 100%}}
/* dashboard */
.kpi.click{cursor:pointer}.kpi.click:hover{border-color:var(--acc)}
.dash-alerts{list-style:none;margin:0;padding:0}.dash-alerts li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:7px 10px;border-left:4px solid var(--st-option);background:#fffaf0;margin-bottom:5px;border-radius:6px}
.dash-alerts li.high{border-left-color:var(--red);background:#fdf1f1}.dash-alerts li span{flex:1;min-width:200px}
.dash-bars .b{cursor:pointer}.dash-bars{height:170px}
/* statistiche */
.bars.rev{height:70px;margin-top:6px}.bars.rev .b i{background:var(--gold)}
.share{display:inline-block;width:50px;height:6px;background:#eef2f7;border-radius:3px;vertical-align:middle}.share i{display:block;height:100%;background:var(--acc);border-radius:3px}
/* calendario prezzi */
.ratecal td.c{text-align:center;font-size:12px;cursor:pointer;min-width:58px}.ratecal td.c:hover{background:#eef6f8}
.ratecal td.c small{display:block;color:var(--hk-clean)}.ratecal td.full small{color:var(--red)}.ratecal td.own b{color:var(--st-confirmed)}
.ratecal td.stop{background:repeating-linear-gradient(45deg,#fff,#fff 5px,#fde8e8 5px,#fde8e8 10px)}.ratecal th.we{background:#f0f3f8}.rflags{font-size:10px;color:var(--warn);min-height:12px}
/* booking engine */
.be-offer{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:10px 0}
.be-price{text-align:right}.be-price b{display:block;font-size:18px}.be-price small{color:var(--mut)}
.be-hp{position:absolute;left:-5000px;width:1px;height:1px}.be-bank{white-space:pre-wrap;font:inherit;background:#fff;padding:8px;border-radius:6px}
@media (max-width:560px){.be-offer{grid-template-columns:1fr}.be-price{text-align:left}}
/* sicurezza */
.sec-checks{list-style:none;padding:0;margin:0}.sec-checks li{padding:4px 0}.audit{max-height:420px;overflow:auto}
/* parcheggio e ordini */
.park-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px}
.park-spot{border:1px solid var(--line);border-radius:8px;padding:6px;text-align:center;background:#f3fbf5;display:flex;flex-direction:column;gap:2px}
.park-spot small{font-size:10px;color:var(--mut)}.park-spot.busy{background:#eef3fb;border-color:var(--st-confirmed)}.park-spot.st-expected{background:#fffaf0;border-color:var(--st-option)}.park-spot.st-requested{background:#fdf1f1;border-color:var(--red)}
.hk-card.task.st-new{border-left-color:var(--st-option)}.hk-card.task.st-taken{border-left-color:var(--st-confirmed)}.hk-card.task.st-done,.hk-card.task.st-cancelled{opacity:.6}
.dz-bell{position:relative;background:none;border:0;font-size:18px;cursor:pointer;color:#fff}.dz-bell-n{position:absolute;top:-4px;right:-6px;background:var(--red);color:#fff;border-radius:9px;font-size:10px;padding:1px 5px}
/* reception */
.ck-docs{display:flex;flex-wrap:wrap;gap:8px}.ck-docs figure{margin:0}.ck-docs img{max-width:300px;max-height:200px;border:1px solid var(--line);border-radius:6px;cursor:zoom-in}
.ck-docs figcaption{font-size:11px;color:var(--mut)}
.ck-sigimg{max-width:320px;border:1px solid var(--line);border-radius:6px;background:#fff}
.ck-qr{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.ck-qr img,.ck-qr svg{width:180px;height:180px}
.ck-link{width:100%;font-size:12px}
.st-pending{--c:#a9b4c4}.st-submitted{--c:#e6a23c}.st-verified{--c:#27ae60}.st-rejected{--c:#c0392b}
.tag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.tag-card{border:1px dashed var(--line);border-radius:8px;padding:8px;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center;break-inside:avoid}
.tag-card b{font-size:20px}.tag-card .qr svg{width:120px;height:120px}.tag-card.dim{opacity:.4}
tr.late td{background:#fff4e5}
@media print{body.print-tags>*:not(.dz-modal-wrap):not(.dz-modal){display:none!important}body.print-tags .no-print,body.print-tags .dz-modal header{display:none!important}body.print-tags .tag-grid{grid-template-columns:repeat(4,1fr)}}