.breakfast-groups{display:flex;flex-direction:column;gap:.6rem;flex-basis:100%}.breakfast-groups__group{border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.5rem}.breakfast-groups__head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}.breakfast-groups__people,.breakfast-groups__qty{display:inline-flex;align-items:center;gap:.35rem}.breakfast-groups button{min-height:36px;min-width:36px}.breakfast-groups output{min-width:3.2rem;text-align:center;font-weight:700}.breakfast-groups__people output{min-width:1.6rem}.breakfast-groups select{width:auto;max-width:100%;padding:.4rem .5rem}.breakfast-groups__lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.breakfast-groups__lines li{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .7rem;padding:.35rem 0;border-bottom:1px solid #efe7da}.breakfast-groups__lines li:last-child{border-bottom:0}.breakfast-groups__lines li>strong{min-width:7rem}.breakfast-groups__missing{border-color:#a63220}.breakfast-groups__total{margin:0;font-weight:700}.breakfast-groups__hint{margin:0;color:#66716f}.breakfast-groups .form-error{margin:0}@media(pointer:coarse){.breakfast-groups button{min-height:44px;min-width:44px}.breakfast-groups select{min-height:44px}}.breakfast-field{display:contents}.breakfast-field__inline{display:flex;align-items:center;gap:.45rem;white-space:nowrap}.breakfast-field__inline select,.breakfast-field__inline input{width:auto;padding:.4rem .5rem}.breakfast-days{flex-basis:100%}.breakfast-days summary{cursor:pointer;font-weight:600;padding:.3rem 0}.breakfast-days__day{margin:.5rem 0;padding-left:.6rem;border-left:3px solid #c9b894}.breakfast-days__head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.4rem}.breakfast-days>select{width:auto;max-width:100%;padding:.4rem .5rem;margin-top:.4rem}.mail-step{display:grid;gap:.75rem}.mail-step h2{margin:0}.mail-step__to{margin:0;font-weight:700}.mail-step__to--missing{color:#b42318}.mail-step__list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;max-height:55vh;overflow-y:auto}.mail-step__item{display:grid;gap:.3rem;padding:.6rem .75rem;border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;opacity:.75}.mail-step__item--on{opacity:1;border-color:#1f2726}.mail-step__name{font-weight:700}.mail-step__when{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.mail-step__when input[type=number]{width:4.5rem}.mail-step__when input{width:auto}.mail-step__due{color:#44504e}.mail-step__note{color:#8a5a00;font-size:.9rem}.mail-step__missing{color:#b42318;font-size:.9rem;font-weight:700}.mail-step__invio{font-size:.9rem;font-weight:700}.mail-step__invio--inviata{color:#1d7a3a}.mail-step__invio--errore,.mail-step__invio--scaduta,.mail-step__invio--in_invio{color:#b42318}.mail-step__paused{padding:.6rem .8rem;border-left:4px solid #d19b4a;border-radius:4px;background:#f8efd9;color:#5d4420}.mail-step__paused p{margin:.3rem 0 0}.stay-segments-editor,.stay-single-segment{display:grid;gap:.8rem;min-width:0;margin:0;border:1px solid #d8d0c4;border-radius:6px;padding:.85rem}.stay-segments-editor legend,.stay-single-segment legend{padding:0 .35rem;color:#44504e;font-size:.9rem;font-weight:800}.stay-single-segment .button-secondary{width:max-content}.stay-segments-editor__warnings{border:1px solid #d6a700;border-left-width:5px;border-radius:6px;background:#fff7d6;color:#4d3b00;padding:.7rem .8rem}.stay-segments-editor__warnings ul{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.stay-segments-editor__warnings li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem;line-height:1.4}.stay-segments-editor__warning-icon{font-weight:800}.stay-segments-editor__list{display:grid;gap:0;margin:0;padding:0;list-style:none}.stay-segments-editor__item{display:grid;gap:.55rem}.stay-segments-editor__item:not(:last-child){border-bottom:1px solid #d8d0c4;margin-bottom:.8rem;padding-bottom:.8rem}.stay-segment{display:grid;gap:.65rem;min-width:0;border:1px solid transparent;border-radius:6px;padding:.65rem}.stay-segment--warning{border-color:#d6a700;background:#fff7d6}.stay-segment__header,.stay-segment__heading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.stay-segment__header{justify-content:space-between}.stay-segment__step{display:grid;place-items:center;width:1.8rem;height:1.8rem;border:2px solid #74664f;border-radius:50%;background:#fffdf8;color:#4f4434;font-size:.78rem;font-weight:800}.stay-segment__warning-label{color:#4d3b00;font-size:.8rem;font-weight:800}.stay-segment__remove{width:auto;min-height:auto;border:0;background:transparent;color:#7b2118;padding:.25rem 0;font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}.stay-segment__remove:hover{background:transparent;color:#1f2726}.stay-segment__remove:disabled{color:#66716f;cursor:not-allowed}.stay-segment__fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.65rem;align-items:end}.stay-segment__field{min-width:0}.booking-editor-form__guest-field{display:grid;gap:.35rem}.field-heading-with-choice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .65rem}.cell-label-choice{display:flex;align-items:center;min-height:2rem;gap:.35rem;color:#66716f;font-size:.78rem;font-weight:700;white-space:nowrap;cursor:pointer}.cell-label-choice input{width:18px;height:18px;margin:0;padding:0}.stay-segment__field--room,.stay-segment__field--check-in,.stay-segment__field--check-out{grid-column:span 4}.stay-segment__field--adults,.stay-segment__field--children,.stay-segment__field--total,.stay-segment__field--price,.stay-segment__field--bed,.stay-segment__extra{grid-column:span 2}.stay-segment__field--total{display:grid;gap:.35rem;color:#44504e;font-size:.92rem}.stay-segment__extra{display:flex;align-items:center;gap:.45rem;min-height:2.75rem;color:#1f2726;font-weight:700;white-space:nowrap}.stay-segment__extra input{width:18px;height:18px}.stay-segments-editor__add{width:max-content;justify-self:start}@media(max-width:720px){.stay-segment__fields{grid-template-columns:1fr}.stay-segment__field--room,.stay-segment__field--check-in,.stay-segment__field--check-out,.stay-segment__field--adults,.stay-segment__field--children,.stay-segment__field--total,.stay-segment__field--price,.stay-segment__field--bed,.stay-segment__extra{grid-column:1}.stay-segment__header{align-items:stretch;flex-direction:column}.stay-segment__remove,.stay-segments-editor__add,.stay-single-segment .button-secondary{width:100%}.stay-segment__remove{min-height:42px;border:1px solid #8a2d22;border-radius:6px;padding:0 .75rem}}.modal-backdrop{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#1f27266b;padding:1rem}.modal{position:relative;width:min(100%,520px);max-height:calc(100vh - 2rem);overflow:auto;display:flex;flex-direction:column;gap:.75rem;border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;padding:1.25rem;box-shadow:0 24px 80px #1f272633}.modal--booking-editor{width:min(100%,940px)}.modal h2{margin:0;font-size:1.35rem}.modal__hint{margin:-.35rem 0 0;color:#66716f}.modal__grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.modal__guest-total{display:flex;min-height:2.75rem;align-items:center;border:1px solid #d8d0c4;border-radius:5px;background:#f4efe6;padding:.55rem .65rem;color:#44504e;font-weight:700}.modal__checks{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;align-items:center}.check-row{display:flex;grid-template-columns:none;align-items:center;gap:.4rem;margin:0;white-space:nowrap}.check-row input{width:18px;height:18px}.modal__warning,.modal__conflict{margin:0;border-left:4px solid #d19b4a;background:#f8efd9;color:#5d4420;padding:.7rem .8rem}.modal__conflict{display:grid;gap:.65rem}.modal__conflict p{margin:0}.modal__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.booking-editor-form{display:grid;gap:.85rem;min-width:0}.booking-editor-layer{min-width:0}.booking-editor-form__header{display:grid;gap:.45rem}.booking-editor-form__shared{display:grid;gap:.75rem;min-width:0;margin:0;border:1px solid #d8d0c4;border-radius:6px;padding:.85rem}.booking-editor-form__shared legend{padding:0 .35rem;color:#44504e;font-size:.9rem;font-weight:800}.booking-editor-form__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;align-items:end}.booking-editor-form__guest-field{grid-column:span 2}.booking-editor-form__shared .modal__checks{gap:.5rem 1.25rem}.modal__actions .booking-mail-toggle{margin-right:auto}.booking-editor-form__summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;border:1px solid #c8bba8;border-radius:6px;background:#f4efe6;padding:.75rem .85rem;color:#44504e}.booking-editor-form__summary span{font-size:.88rem;font-weight:700}.booking-editor-form__summary output{color:#1f2726;font-weight:800;text-align:right}.booking-editor-form--loading{min-height:9rem}.modal__loading{margin:0;color:#44504e}.modal__status{margin:0;border-left:4px solid #4a3aa7;background:#ece9f8;color:#2f2461;padding:.7rem .8rem}.booking-delete-layer{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#1f272657;padding:1rem;pointer-events:none}.booking-delete-dialog{position:relative;width:min(calc(100% - 2rem),520px);max-height:calc(100dvh - 2rem);overflow:auto;display:grid;gap:.75rem;border:2px solid #8a2d22;border-radius:8px;background:#fffdf8;padding:1rem;box-shadow:0 28px 90px #1f272666;pointer-events:auto}.booking-delete-dialog h3,.booking-delete-dialog p{margin:0}.booking-delete-dialog__actions{margin-top:0}.button-secondary{background:#fffdf8;color:#1f2726}.button-secondary:hover{background:#efe7da}.button-danger{border-color:#8a2d22;background:#8a2d22}.button-danger:hover{background:#a93424}@media(max-width:720px){.booking-editor-form__row{grid-template-columns:1fr 1fr}}@media(max-width:560px){.modal__grid,.booking-editor-form__row{grid-template-columns:1fr}.booking-editor-form__guest-field{grid-column:auto}.booking-editor-form__summary{grid-template-columns:1fr}.booking-editor-form__summary output{text-align:left}}.modal:focus-visible,.modal [tabindex="-1"]:focus-visible,.modal :is(input,select,textarea,button):focus-visible{outline:3px solid rgba(74,58,167,.34);outline-offset:2px}@media(max-width:720px){.modal-backdrop{align-items:flex-start;padding:.5rem}.modal{max-height:calc(100dvh - 1rem);padding:.85rem}.modal__actions,.booking-delete-dialog__actions{display:grid;grid-template-columns:1fr}.modal__actions button,.booking-delete-dialog__actions button{width:100%}}.calendar{height:calc(100dvh - 52px);min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:1rem}.calendar__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin-bottom:.75rem}.calendar__nav,.calendar__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.calendar__toolbar h1{margin:0 .25rem;min-width:5.5rem;text-align:center;font-size:1.35rem;line-height:1;color:#1f2726}.calendar__new-booking-button{width:auto}.calendar__export-icon{display:none;width:42px;padding:0;align-items:center;justify-content:center}.calendar__export-dialog{border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;color:#1f2726;padding:1.25rem;width:min(92vw,24rem)}.calendar__export-dialog h2{margin:0 0 .75rem;font-size:1.2rem}.calendar__export-dialog label{display:grid;gap:.4rem;font-weight:700}.calendar__export-actions{display:flex;justify-content:flex-end;align-items:center;gap:1.25rem}.calendar__cell-select-button{display:none;align-items:center;justify-content:center;width:auto}.calendar__nav-button{width:42px;height:42px;min-height:42px;padding:0}.calendar__today-button{width:auto;min-width:72px;padding:0 .85rem}.calendar__today-button:disabled{border-color:#c9c0b2;background:#efe7da;color:#66716f;cursor:default}.calendar__table-wrap{flex:0 0 auto;z-index:5;overflow:auto;max-height:min(58vh,620px);border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;-webkit-user-select:none;user-select:none}.calendar__selection-toolbar{position:fixed;z-index:15;display:flex;flex-direction:column;gap:.5rem;padding:.6rem;width:210px;box-sizing:border-box;border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;box-shadow:0 12px 32px #1f27262e}.calendar__selection-toolbar button{width:100%}.calendar__selection-toolbar .form-error{margin:0}.calendar__tap-banner{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);z-index:16;display:flex;align-items:center;gap:.75rem;max-width:calc(100vw - 1.5rem);padding:.65rem .9rem;border-radius:10px;background:#1f2726;color:#fffdf8;box-shadow:0 12px 32px #1f272647;font-size:.9rem;line-height:1.25}.calendar__tap-banner button{min-height:34px;padding:0 .7rem;flex-shrink:0}.calendar__cell-select-banner{align-items:stretch;flex-direction:column}.calendar__cell-select-actions{display:flex;gap:.5rem}.calendar__cell-select-actions button{flex:1 1 auto;width:auto}.calendar__table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.85rem;-webkit-user-select:none;user-select:none}.calendar__table--dragging{-webkit-user-select:none;user-select:none}.calendar__table th,.calendar__table td{width:42px;height:34px;border:1px solid #d8d0c4;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none}.calendar__table th{position:sticky;top:0;z-index:1;background:#efe7da;color:#44504e;font-weight:700}.calendar__table th span{display:block}.calendar__weekday{color:#7a3f2a;font-size:.66rem;font-weight:800;text-transform:uppercase}.calendar__day-heading--today{background:#d19b4a!important;color:#1f2726!important}.calendar__day-heading--today .calendar__weekday{color:#1f2726}.calendar__corner,.calendar__room-name{position:sticky;left:0;z-index:2;width:132px;min-width:132px;text-align:left}.calendar__corner{padding:0 .55rem}.calendar__room-name{background:#fffdf8;color:#1f2726;font-weight:700;padding:0 .75rem;white-space:nowrap}.calendar__room-name--clickable{cursor:pointer;text-decoration:underline;text-decoration-color:#d19b4a;text-underline-offset:3px}.calendar__room-name--clickable:hover{background:#efe7da}.calendar__cell{overflow:hidden;color:#1f2726;font-weight:700;text-transform:uppercase}.calendar__cell--today{box-shadow:inset 3px 0 #d19b4a,inset -3px 0 #d19b4a}.calendar__cell--free{background:#fffdf8;cursor:pointer}.calendar__cell--booked{cursor:pointer}.calendar__cell--color-0{background:#2a78d6;color:#fffdf8}.calendar__cell--color-1{background:#1baf7a;color:#fffdf8}.calendar__cell--color-2{background:#eda100;color:#1f2726}.calendar__cell--color-3{background:#008300;color:#fffdf8}.calendar__cell--color-4{background:#4a3aa7;color:#fffdf8}.calendar__cell--color-5{background:#e34948;color:#fffdf8}.calendar__cell--color-6{background:#e87ba4;color:#1f2726}.calendar__cell--color-7{background:#eb6834;color:#1f2726}.calendar__cell--edge-top{border-top:3px solid #1f2726}.calendar__cell--edge-bottom{border-bottom:3px solid #1f2726}.calendar__cell--edge-left{border-left:3px solid #1f2726}.calendar__cell--edge-right{border-right:3px solid #1f2726}.calendar__cell--selecting{box-shadow:inset 0 0 0 9999px #d19b4a40,inset 0 0 0 2px #d19b4a}.calendar__cell--active-booking{outline:3px solid #1f2726;outline-offset:-4px;filter:saturate(1.2)}.calendar__cell--closed{background:#d9d5cd;color:#5a5650;cursor:pointer}.calendar__cell--free:hover,.calendar__cell--booked:hover,.calendar__cell--closed:hover{box-shadow:inset 0 0 0 2px #d19b4a}.calendar__room-label-compact{display:none}.calendar__booking-list{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;margin-top:1.25rem}.calendar__booking-list h2{margin:0 0 .75rem;font-size:1.15rem;color:#1f2726}.calendar__booking-empty{margin:0;color:#66716f}.calendar__booking-cards{min-height:0;overflow:auto;display:grid;align-content:start;gap:.55rem;padding-right:.2rem}.calendar__booking-card{display:grid;gap:.2rem;width:100%;min-height:auto;padding:.7rem .8rem;border:1px solid #d8d0c4;border-left:5px solid #d19b4a;border-radius:8px;background:#fffdf8;color:#1f2726;text-align:left;box-shadow:none}.calendar__booking-card--color-0{border-left-color:#2a78d6}.calendar__booking-card--color-1{border-left-color:#1baf7a}.calendar__booking-card--color-2{border-left-color:#eda100}.calendar__booking-card--color-3{border-left-color:#008300}.calendar__booking-card--color-4{border-left-color:#4a3aa7}.calendar__booking-card--color-5{border-left-color:#e34948}.calendar__booking-card--color-6{border-left-color:#e87ba4}.calendar__booking-card--color-7{border-left-color:#eb6834}.calendar__booking-card:hover,.calendar__booking-card--active{border-color:#1f2726;background:#efe7da}.calendar__booking-date{display:inline-flex;align-items:center;gap:.4rem;color:#7a3f2a;font-size:.78rem;font-weight:800}.calendar__booking-dot{width:.72rem;height:.72rem;border:1px solid rgba(31,39,38,.2);border-radius:999px}.calendar__booking-dot--color-0{background:#2a78d6}.calendar__booking-dot--color-1{background:#1baf7a}.calendar__booking-dot--color-2{background:#eda100}.calendar__booking-dot--color-3{background:#008300}.calendar__booking-dot--color-4{background:#4a3aa7}.calendar__booking-dot--color-5{background:#e34948}.calendar__booking-dot--color-6{background:#e87ba4}.calendar__booking-dot--color-7{background:#eb6834}.calendar__booking-flags{color:#44504e;font-size:.82rem;font-weight:700}.calendar__booking-path{display:flex;flex-wrap:wrap;gap:.2rem .45rem;color:#44504e;font-size:.8rem;line-height:1.35}.calendar__booking-path-segment{min-width:0;overflow-wrap:anywhere}.calendar__booking-path-segment:not(:last-child):after{content:"→";margin-left:.45rem;color:#7a3f2a;font-weight:700}.calendar__booking-group-tag{display:inline-block;margin-left:.5rem;padding:.05rem .4rem;border-radius:999px;background:#ece9f8;color:#2f2461;font-size:.7rem;font-weight:700;vertical-align:middle}@media(max-width:639px){.calendar{height:calc(100dvh - 52px);padding:.65rem}.calendar__toolbar{flex:0 0 auto}.calendar__export-icon{display:inline-flex}.calendar__export-button{display:none}.calendar__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.calendar__actions button{width:100%;padding:0 .5rem}.calendar__new-booking-button{grid-column:1 / -1}.calendar__cell-select-button{display:inline-flex}.calendar__table-wrap{max-height:52vh}.calendar__table th,.calendar__table td{width:38px;min-width:38px}.calendar__room-name{width:44px;min-width:44px;padding:0;text-align:center}.calendar__corner{width:64px;min-width:64px;padding:0 .35rem;text-align:center}.calendar__room-name .calendar__room-label-full{display:none}.calendar__room-label-compact{display:inline}.calendar__booking-card{font-size:.9rem}}.calendar__table th[data-date]{cursor:pointer}.calendar__day-heading--highlight{background:#f8efd9!important;box-shadow:inset 0 -3px #d19b4a}.calendar__booking-card--day{border-color:#d19b4a;background:#f8efd9;box-shadow:0 0 0 2px #d19b4a}.shopping__controls{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:end;margin-bottom:.75rem}.shopping__controls label{display:grid;gap:.25rem;font-weight:600}.shopping__days,.shopping__presets,.shopping__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.shopping__lines{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.25rem}.shopping__lines li{display:flex;justify-content:space-between;gap:1rem;font-size:1.25rem;padding:.5rem 0;border-bottom:1px solid #d8d0c4}.shopping-warning{border-left:4px solid #d19b4a;border-radius:4px;background:#f8efd9;padding:.5rem .8rem;margin:.5rem 0;color:#5d4420}.shopping-warning ul{margin:.3rem 0 0;padding-left:1.1rem}.shopping-link-button{display:inline-flex;align-items:center;min-height:42px;padding:0 1rem;border:1px solid #1f2726;border-radius:6px;background:#1f2726;color:#fffdf8;text-decoration:none;font-weight:600}.shopping-link-button:hover{background:#34403e}.auto-refresh-switch{margin-top:1rem;display:grid;gap:.25rem;padding:.6rem .8rem;border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8}.auto-refresh-switch__row{font-weight:700;align-items:flex-start;white-space:normal}.auto-refresh-switch__row input{flex-shrink:0;margin-top:.15rem}.auto-refresh-switch__state{margin:0;color:#44504e}.daily-sheet{max-width:1520px;margin:auto;padding:.65rem 1rem;color:#1f2726}.daily-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1.5rem;margin-bottom:.65rem}.daily-sheet h1{font-size:1.3rem;margin:0;line-height:1.2}.daily-updated{font-size:.75rem;color:#66716f;margin:.25rem 0 0}.daily-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.daily-dates,.daily-actions{display:flex;align-items:center;gap:.4rem}.daily-dates input{width:auto;min-width:0}.daily-actions button{display:inline-flex;align-items:center;justify-content:center;width:42px;padding:0}.daily-actions button.daily-refresh--labelled{width:auto;gap:.4rem;padding:0 .9rem;font-weight:700}.daily-rooms{border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;overflow:hidden}.daily-rooms__heading{display:flex;flex-wrap:wrap;gap:.2rem 1.5rem;align-items:center;justify-content:space-between;padding:.45rem .8rem;background:#efe7da;border-bottom:1px solid #d8d0c4}.daily-rooms__heading h2{font-size:.95rem;margin:0;font-weight:600}.daily-rooms__heading p{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.85rem}.daily-rooms__heading svg{width:18px;height:18px;color:#865c25;flex-shrink:0}.daily-rooms__list{list-style:none;padding:0;margin:0}.daily-room{display:grid;grid-template-columns:3.4rem minmax(0,1fr);border-bottom:1px solid #d8d0c4}.daily-room:last-child{border-bottom:0}.daily-room__number{display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;line-height:1.1;padding:.65rem .35rem;text-align:center;border-right:1px solid #d8d0c4;background:#efe7da;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.daily-room__number--name{font-size:.85rem}.daily-room__content{min-width:0;padding:.45rem .65rem}.daily-room__cards{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem}.daily-room__cards--split{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-guest{min-width:0;overflow-wrap:anywhere}.daily-room__cards--split .daily-guest{border-left:3px solid #c9c0b2;padding:.15rem .55rem;background:#f6f3ed;border-radius:3px}.daily-room__cards--split .daily-guest--arrival{border-left-color:#58765a}.daily-room__cards--split .daily-guest--departure{border-left-color:#b4833e}.daily-guest__heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .55rem;margin-bottom:.25rem}.daily-guest h3{margin:0;font-size:1.06rem;font-weight:650;line-height:1.2}.daily-guest__status{font-size:.7rem;color:#52615f;white-space:normal}.daily-guest--departure .daily-guest__status{color:#80501d}.daily-guest--arrival .daily-guest__status{color:#365d3b}.daily-guest__details{display:flex;flex-wrap:wrap;gap:.18rem .85rem;align-items:baseline}.daily-detail{display:flex;align-items:baseline;gap:.35rem;margin:0;font-size:.82rem;line-height:1.25;min-width:0;max-width:100%}.daily-detail__icon{display:inline-flex;flex:0 0 auto;align-self:flex-start;color:#7c694d}.daily-detail svg{width:16px;height:16px}.daily-detail--guests{margin-left:auto;font-size:.73rem;color:#66716f}.daily-detail--guests svg{width:14px;height:14px}.daily-breakfast{flex-basis:100%;font-size:.92rem;font-weight:500}.daily-breakfast .daily-detail__icon{color:#946622}.daily-breakfast svg{width:18px;height:18px}.daily-detail--paid,.daily-detail--paid .daily-detail__icon{color:#365d3b}.daily-detail--payment .daily-detail__icon{color:#946622}.daily-detail--note{flex-basis:100%;color:#52615f;font-size:.78rem}.daily-breakfast--warning,.daily-breakfast--warning .daily-detail__icon,.daily-room__warning{color:#a63220}.daily-room__cleaning,.daily-room__warning{display:flex;align-items:center;gap:.35rem;margin:.3rem 0 0;font-size:.73rem;line-height:1.2}.daily-room__cleaning{color:#66716f}.daily-room__cleaning svg,.daily-room__warning svg{width:14px;height:14px;flex-shrink:0}.daily-room__empty{margin:.4rem 0;color:#66716f;font-size:.9rem}.daily-rooms__empty{padding:0 1rem}@media(min-width:901px)and (max-height:800px){.daily-room__content{padding-top:.35rem;padding-bottom:.35rem}.daily-guest__details{row-gap:.12rem}}@media(max-width:900px){.daily-header{align-items:flex-start}.daily-detail--guests{margin-left:0}}@media(max-width:600px){.daily-sheet{padding:.65rem}.daily-room{grid-template-columns:2.6rem minmax(0,1fr)}.daily-room__number{font-size:1.7rem}.daily-room__number--name{font-size:.8rem}.daily-room__content{padding:.6rem}.daily-room__cards--split{grid-template-columns:minmax(0,1fr);gap:.6rem}.daily-room__cards--split .daily-guest{padding:.45rem}.daily-guest__heading{gap:.25rem .5rem}.daily-detail--guests{flex-basis:100%}.daily-guest__details{row-gap:.4rem}.daily-detail{font-size:.88rem}.daily-breakfast{font-size:.95rem}.daily-room__cleaning{margin-top:.5rem;font-size:.8rem}}.daily-shopping{margin-top:.75rem;border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;overflow:hidden}.daily-shopping h2{font-size:.95rem;margin:0;font-weight:600;padding:.45rem .8rem;background:#efe7da;border-bottom:1px solid #d8d0c4}.daily-shopping>:not(h2){margin:.5rem .8rem}.daily-shopping>ul{list-style:none;padding:0}.daily-shopping>ul li{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0;border-bottom:1px solid #efe7da;font-size:.95rem}.daily-shopping>ul li:last-child{border-bottom:0}.garage{max-width:640px}.garage-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.garage-dates{display:flex;align-items:center;gap:.5rem}.garage-dates button,.garage-today{min-width:44px;min-height:44px;padding:0 .9rem;font-size:1.1rem}.garage-dates input{width:auto;min-width:0;min-height:44px;font-size:1rem}.garage-title{margin:0;font-size:1.25rem}.garage-warning{margin:0;padding:.75rem 1rem;border:2px solid #b3261e;border-radius:8px;background:#fde8e6;color:#7a1410;font-weight:700;font-size:1.05rem}.garage-plan{border:3px solid #1f2726;border-radius:10px;background:#e9e4da;padding:.5rem}.garage-entrance{text-align:center;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.35rem 0 .6rem;border-bottom:4px dashed #1f2726;margin-bottom:.6rem}.garage-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.garage-spot{display:flex;flex-direction:column;justify-content:center;gap:.25rem;min-height:190px;padding:.75rem .6rem;border:2px solid #1f2726;border-radius:10px;font-size:1rem;line-height:1.25;overflow-wrap:anywhere;text-align:center}.garage-spot__label{font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.garage-car__name{font-size:1.3rem;line-height:1.15}.garage-spot--neighbour{background:repeating-linear-gradient(45deg,#c9c3b7,#c9c3b7 8px,#d9d4c9 8px 16px);border-style:dashed;color:#44504e}.garage-spot--free{background:#fffdf8;border-style:dashed;color:#44504e;font-size:1.15rem}.garage-spot--busy{border-style:solid}.garage-badge{display:inline-block;align-self:center;margin-top:.25rem;padding:.2rem .6rem;border-radius:12px;background:#fffdf8;color:#1f2726;font-size:1rem;font-weight:700;line-height:1.2}.garage-list{border:2px solid #1f2726;border-radius:8px;background:#fffdf8;padding:0 1rem .5rem}.garage-list h3{margin:0 -1rem;padding:.5rem 1rem;background:#1f2726;color:#fffdf8;border-radius:5px 5px 0 0;font-size:1.05rem}.garage-list ul{list-style:none;margin:0;padding:0}.garage-list li{padding:.6rem 0;border-bottom:1px solid #c0c9ce;font-size:1.05rem;overflow-wrap:anywhere}.garage-list li:last-child{border:0}.garage-unplaced h3{background:#b3261e}.garage-grid .garage-car--color-0{background:#1f63b5;color:#fffdf8}.garage-grid .garage-car--color-1{background:#1baf7a;color:#1f2726}.garage-grid .garage-car--color-2{background:#eda100;color:#1f2726}.garage-grid .garage-car--color-3{background:#008300;color:#fffdf8}.garage-grid .garage-car--color-4{background:#4a3aa7;color:#fffdf8}.garage-grid .garage-car--color-5{background:#c93433;color:#fffdf8}.garage-grid .garage-car--color-6{background:#e87ba4;color:#1f2726}.garage-grid .garage-car--color-7{background:#eb6834;color:#1f2726}button.garage-spot{width:100%;font:inherit;cursor:pointer}button.garage-spot--free,button.garage-spot--hold{color:#44504e}.garage-spot--hold{background:#f1ede5;border-style:dashed}.garage-spot--selected{outline:4px solid #d19b4a;outline-offset:2px}.garage-spot--target{border-color:#d19b4a;background:#f8efd9}.garage-note{margin:0;border-left:4px solid #d19b4a;border-radius:4px;background:#f8efd9;color:#5d4420;padding:.6rem .8rem}.garage-selection{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.6rem .8rem;border:2px solid #d19b4a;border-radius:8px;background:#fffdf8}.garage-hold-form{display:grid;gap:.6rem;padding:.8rem;border:2px solid #1f2726;border-radius:8px;background:#fffdf8}.garage-hold-form h3{margin:0}.garage-hold-form__dates,.garage-hold-form__actions{display:flex;flex-wrap:wrap;gap:.6rem}.garage-hold-form__dates label{flex:1 1 10rem}.garage-unplaced li button{margin-left:.5rem}.garage-grid button.garage-spot:hover{filter:brightness(.97)}.garage-grid button.garage-spot--free:hover{background:#fffdf8}.garage-grid button.garage-spot--hold:hover{background:#f1ede5}.garage-grid button.garage-spot--target:hover{background:#f8efd9}.garage-refresh{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:0 .9rem;font-size:1.05rem;font-weight:700}.garage-refresh svg{width:20px;height:20px}.garage-refresh-note{margin:0;color:#44504e}.settings-tabs{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:2px solid #d8d0c4;margin-bottom:1rem}.settings-tabs a{padding:.6rem 1rem;color:#1f2726;text-decoration:none;font-weight:700;border-bottom:3px solid transparent;margin-bottom:-2px}.settings-tabs a.active{border-bottom-color:#1f2726}.settings-panel{display:grid;gap:1rem}.messages-default{font-weight:700;align-items:flex-start;white-space:normal}.messages-default input{flex-shrink:0;margin-top:.15rem}.settings-panel>*{min-width:0}.messages-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.messages-head h2{margin:0;font-size:1.2rem}.button-link{display:inline-flex;align-items:center;min-height:42px;padding:0 1rem;border-radius:6px;background:#1f2726;color:#fffdf8;text-decoration:none}.template-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.template-card{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8}.template-card strong,.template-card span{display:block}.template-badge{display:inline-block!important;margin-top:.3rem;padding:.1rem .5rem;border-radius:999px;background:#1baf7a;color:#fffdf8;font-size:.85rem}.template-actions{display:flex;gap:.5rem}.mobile-only{display:none;margin:0;color:#44504e}@media(max-width:899px){.desktop-only{display:none!important}.mobile-only{display:block}}.gmail-panel{display:grid;gap:.5rem}.gmail-panel h2{margin:0}.gmail-panel__row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:0}.breakfast-types{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.breakfast-types__item{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;padding:.6rem .8rem;border:1px solid #d8d0c4;border-radius:8px}.breakfast-types__item--off{opacity:.6}.breakfast-types__actions{display:flex;flex-wrap:wrap;gap:.4rem}.breakfast-types__add{display:flex;flex-wrap:wrap;gap:.5rem}.breakfast-types__add input{flex:1 1 12rem}.breakfast-items{flex:1 1 100%;margin-top:.3rem}.breakfast-items summary{cursor:pointer;font-weight:600;padding:.4rem 0}.breakfast-items__hint{margin:.2rem 0 .6rem}.breakfast-items ul{list-style:none;padding:0;margin:0 0 .6rem;display:grid;gap:.4rem}.breakfast-items li{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;border-top:1px solid #ece6db;padding-top:.4rem}.breakfast-items__form{display:flex;flex-wrap:wrap;gap:.5rem}.breakfast-items__form input[aria-label="Nome ingrediente"]{flex:1 1 12rem}.breakfast-items__form input[aria-label="Quantità per persona"]{flex:0 1 7rem}.settings-tabs .nav-icon{display:none}@media(max-width:640px){.settings-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0}.settings-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:56px;padding:.35rem .1rem;font-size:.82rem;text-align:center}.settings-tabs .nav-icon{display:block;width:24px;height:24px}.settings-tabs a.active{background:#efe7da}}@media(max-width:360px){.settings-tabs a{font-size:.76rem}}.breakfast-catalog__item{list-style:none;padding:.4rem .8rem;border:1px solid #d8d0c4;border-radius:8px}.breakfast-catalog__item .breakfast-items{margin-top:0}.breakfast-catalog__item .breakfast-items__form input[aria-label^="Nome "]{flex:1 1 12rem}.breakfast-catalog__item .breakfast-items__form input{flex:0 1 8rem}.breakfast-catalog__variants{margin:.4rem 0 .8rem}.breakfast-catalog__variants h4{margin:.4rem 0 0}.breakfast-catalog__add input[aria-label^="Nome "]{flex:1 1 12rem}.breakfast-catalog__add input{flex:0 1 9rem}.send-switch{display:grid;gap:.5rem;padding:.8rem 1rem;border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8}.send-switch .messages-default{font-size:1.15rem}.send-switch__state{margin:0;font-weight:700}.send-switch__state--on{color:#11704c}.send-switch__state--off{color:#8a4b0f}.send-switch__hint{margin:0;color:#44504e}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2726;background:#f6f3ed;font-synthesis:none;text-rendering:optimizeLegibility}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}input,select,textarea{font-size:16px}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:100vh;color:#66716f;text-align:center;padding:1.5rem}.app-loading__spinner{width:34px;height:34px;border:3px solid #d8d0c4;border-top-color:#1f2726;border-radius:50%;animation:app-loading-spin .8s linear infinite}.app-loading__hint{max-width:24rem;font-size:.9rem}@keyframes app-loading-spin{to{transform:rotate(360deg)}}button,input,select,textarea{font:inherit}button{min-height:42px;border:1px solid #1f2726;border-radius:6px;background:#1f2726;color:#fffdf8;padding:0 1rem;cursor:pointer}button:hover{background:#34403e}button:disabled{cursor:wait;opacity:.7}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #d19b4a;outline-offset:2px}input,select,textarea{width:100%;border:1px solid #c9c0b2;border-radius:6px;background:#fffdf8;color:#1f2726;padding:.65rem .75rem}textarea{resize:vertical}label{display:grid;gap:.35rem;color:#44504e;font-size:.92rem}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-panel{width:min(100%,360px);display:grid;gap:1rem;border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;padding:1.5rem;box-shadow:0 20px 50px #1f272614}.login-panel__kicker{margin:0;color:#7a3f2a;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.login-panel h1{margin:0 0 .25rem;font-size:1.9rem;line-height:1.1}.login-panel__password-field{display:flex;gap:.5rem}.login-panel__password-field input{flex:1;min-width:0}.login-panel__toggle-password{flex-shrink:0;width:auto;min-height:42px;padding:0 .85rem;background:#fffdf8;color:#1f2726;border-color:#c9c0b2;font-size:.85rem}.login-panel__toggle-password:hover{background:#efe7da}.check-row{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:.55rem;color:#1f2726;font-weight:700}.check-row input{width:auto}.text-button{width:auto;min-height:auto;justify-self:start;border:0;background:transparent;color:#7a3f2a;padding:0;font-weight:800;text-decoration:underline;text-underline-offset:3px}.text-button:hover{background:transparent;color:#1f2726}.form-error{margin:0;border-left:4px solid #a93424;background:#f8e8e3;color:#7b2118;padding:.7rem .8rem}.app-placeholder{min-height:100vh;display:grid;place-items:center;color:#44504e}.app-nav{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;min-height:52px;border-bottom:1px solid #d8d0c4;background:#fffdf8;padding:.45rem 1rem}.app-nav a{border-radius:6px;color:#1f2726;font-weight:700;text-decoration:none;padding:.55rem .75rem}.app-nav a:hover{background:#efe7da}.app-nav .nav-icon{display:none}@media(max-width:640px){.app-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);flex-wrap:nowrap;gap:.25rem;padding:.3rem .5rem}.app-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0}.app-nav .nav-icon{display:block;width:28px;height:28px}.app-nav__label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app-nav{position:fixed;inset:auto 0 0;border-bottom:0;border-top:1px solid #d8d0c4;padding-bottom:calc(.3rem + env(safe-area-inset-bottom));box-shadow:0 -4px 12px #1f272614}.app-shell{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.app-shell .calendar__tap-banner{bottom:calc(68px + env(safe-area-inset-bottom))}.app-nav a[aria-current=page]{background:#1f2726;color:#fffdf8}.app-nav a:focus-visible,.settings-tabs a:focus-visible{outline:3px solid #7a3f2a;outline-offset:-3px}}.page-shell{padding:1rem}.page-header{margin-bottom:1rem}.page-header p{margin:0 0 .2rem;color:#7a3f2a;font-size:.78rem;font-weight:700;text-transform:uppercase}.page-header h1{margin:0;font-size:1.7rem}.panel-list,.room-settings{display:grid;gap:1rem}.panel,.room-card{border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;padding:1rem}.panel h2,.price-list h2{margin:0 0 .75rem;font-size:1rem}.work-list{display:grid;gap:.5rem;padding:0;margin:0;list-style:none}.work-list li{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:baseline;border-top:1px solid #efe7da;padding-top:.5rem}.room-card{display:grid;gap:.75rem}.room-card legend{color:#1f2726;font-weight:800;padding:0 .25rem}.room-card p{margin:0;color:#66716f}.price-list{display:grid;gap:.65rem;margin-top:.25rem}.security-page{max-width:760px}.security-panel{display:grid;gap:1rem}.security-status{margin:0;color:#7a3f2a;font-weight:800}.security-status--ok{color:#008300}.security-setup{display:grid;gap:.85rem}.security-qr{display:grid;place-items:center;justify-self:start;border:1px solid #d8d0c4;border-radius:8px;background:#fff;padding:1rem}.security-help{margin:0;color:#44504e;line-height:1.45}.security-recovery{display:grid;gap:.65rem;border-top:1px solid #efe7da;padding-top:1rem}.security-recovery ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.45rem;margin:0;padding:0;list-style:none}.security-recovery li{border:1px solid #d8d0c4;border-radius:6px;background:#f6f3ed;padding:.5rem;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:800}.security-device-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.security-device{display:flex;gap:.75rem;align-items:center;justify-content:space-between;border:1px solid #d8d0c4;border-radius:8px;background:#fffdf8;padding:.75rem}.security-device--current{border-color:#d19b4a;background:#fff8e9}.security-device div{display:grid;gap:.2rem;min-width:0}.security-device span,.security-device small{color:#44504e;overflow-wrap:anywhere}.security-device__details{font-size:.8rem;font-weight:700;margin-top:.1rem}.security-device__ua{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;word-break:break-all}.security-device button,.danger-button{width:auto;flex-shrink:0}.danger-button{border-color:#a93424;background:#a93424}.danger-button:hover{background:#7b2118}@media(max-width:520px){.security-qr{justify-self:stretch}.security-device{align-items:stretch;flex-direction:column}}@media(min-width:860px){.panel-list{grid-template-columns:1fr 1fr}.room-settings{grid-template-columns:repeat(2,minmax(0,1fr))}}
