/* Reservations and touch-friendly controls; original sections remain available. */
.admin-panel{font-size:14px}.admin-panel .btn{min-height:44px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.admin-panel input,.admin-panel select,.admin-panel textarea{font-size:16px;min-width:0}.admin-panel .field>span{font-size:12px;letter-spacing:.02em;text-transform:none}.admin-panel .card-sub,.admin-panel .flash,.admin-panel .topbar>div>p:last-child{font-size:13px;line-height:1.6}.admin-panel .side-nav a{font-size:13px;min-height:44px}.admin-panel .side-brand small{font-size:11px}.admin-panel .check,.admin-panel .file-button{font-size:13px}.admin-panel .check input{width:20px;height:20px}.admin-panel .form-grid,.admin-panel .field{min-width:0}.admin-panel .side-footer .btn{font-size:12px}.admin-panel :focus-visible{outline:3px solid #209d88;outline-offset:3px}.admin-panel .btn:disabled{opacity:.6;cursor:wait}.panel-menu-button,.panel-bottom-nav{display:none}
.reservation-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;background:#e8f2ef;border:1px solid #cfe2da;border-radius:20px;margin-bottom:18px}.reservation-intro h2{font:700 30px "Playfair Display",Georgia,serif;line-height:1.2;margin:8px 0 12px;color:#103f49}.reservation-intro p:last-child{font-size:14px;line-height:1.7;max-width:660px;color:#4b6668;margin:0}.reservation-intro .btn{flex-shrink:0}
.reservation-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.reservation-stats a{display:flex;flex-direction:column;gap:7px;border:1px solid #dce8e4;background:#fff;border-radius:15px;padding:20px}.reservation-stats strong{font-size:30px;color:#104651;line-height:1}.reservation-stats strong small{font-size:16px;color:#587075}.reservation-stats span{font-size:13px;color:#597074;line-height:1.4}
.reservation-editor{scroll-margin-top:100px}.reservation-form{max-width:900px}.reservation-form fieldset{min-width:0;border:0;border-bottom:1px solid #e2e9e6;padding:0 0 24px;margin:0 0 24px}.reservation-form legend{font-size:16px;font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:18px;color:#174653}.reservation-form legend span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#e3f2ec;border-radius:50%;font-size:13px}.reservation-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.reservation-fields .full{grid-column:1/-1}.reservation-hint{font-size:13px;line-height:1.6;color:#637678;margin:4px 0 0}.reservation-save{display:flex;flex-wrap:wrap;gap:12px}.reservation-save .btn-primary{min-width:200px}.reservation-fields input,.reservation-fields select{min-height:48px}.reservation-calendar{scroll-margin-top:100px}.calendar-filter{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-bottom:22px}.calendar-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0}.calendar-title h3{font-size:20px;margin:0;text-align:center}.calendar-title .btn{width:44px;padding:0;font-size:20px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{color:#637678;text-align:center;font-size:12px;margin-bottom:10px;font-weight:600}.calendar-day{border-radius:12px;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #d9e9e1;transition:box-shadow .2s}.calendar-day strong{font-size:18px}.calendar-day span{font-size:11px}.calendar-day:hover{box-shadow:0 0 0 2px #1b7f73}.day-free{background:#f2f8f4;color:#336947}.day-pending{background:#fff1d6;border-color:#ecd298;color:#895a0b}.day-confirmed{background:#fae8e5;border-color:#eac2bb;color:#943e32}.day-today{outline:2px solid #153f50;outline-offset:1px}.calendar-legend{display:flex;gap:12px 20px;flex-wrap:wrap;font-size:12px;margin:18px 0 10px}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}.legend-free{background:#96c3a3}.legend-pending{background:#e5b957}.legend-confirmed{background:#d98e82}
.reservation-filters{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:22px}.reservation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reservation-item{border:1px solid #dce6e2;border-radius:16px;padding:20px;background:#fff;min-width:0}.reservation-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.reservation-item-head p{font-size:12px;color:#43786d;margin:0 0 6px;font-weight:700}.reservation-item h3{font-size:18px;margin:0;overflow-wrap:anywhere}.reservation-status{display:inline-block;border-radius:30px;padding:6px 10px;background:#e9eef1;color:#425c63;font-size:11px;font-weight:700;line-height:1.5}.reservation-status.status-novo,.reservation-status.status-contato,.reservation-status.status-orcamento{background:#fff1d6;color:#895a0b}.reservation-status.status-confirmado{background:#e1f2e8;color:#246345}.reservation-status.status-cancelado,.reservation-status.status-perdido{background:#f6e9e7;color:#963e33}.status-cancelado{background:#f6e9e7;color:#963e33}.reservation-dates{display:flex;align-items:center;gap:20px;margin:18px 0;padding:14px;background:#f3f7f5;border-radius:10px}.reservation-dates>div{display:grid;gap:5px}.reservation-dates span{font-size:12px;color:#687e7d}.reservation-dates strong{font-size:15px}.reservation-meta,.reservation-notes{font-size:13px;line-height:1.6;overflow-wrap:anywhere;color:#637678}.reservation-notes{padding-left:12px;border-left:2px solid #d5e5de;color:#3c5958}.reservation-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.reservation-actions .btn{width:100%;padding:10px}.reservation-count{border-radius:50%;min-width:32px;height:32px;display:grid;place-items:center;background:#e5f2ed;color:#17624e;font-weight:700}.reservation-empty{grid-column:1/-1;text-align:center;padding:36px 20px;color:#607673}.reservation-empty>i{font-size:36px;color:#438f7c}.reservation-empty h3{color:#234951;font-size:20px}.reservation-empty p{max-width:440px;margin:0 auto 20px;font-size:14px;line-height:1.7}
@media(max-width:1200px){.reservation-intro{align-items:flex-start;flex-direction:column}.reservation-filters{grid-template-columns:1fr 1fr}.reservation-filters .btn{align-self:end}}
@media(max-width:1050px){.admin-panel .sidebar{padding:12px 16px;position:sticky;top:0;z-index:100;border-bottom:1px solid #30616b}.admin-panel .side-brand{padding:0;border:0;max-width:calc(100% - 95px)}.admin-panel .side-logo{width:40px;height:40px}.admin-panel .side-brand strong{font-size:17px}.panel-menu-button{display:inline-flex;position:absolute;right:16px;top:12px;border:1px solid #4c7279;background:transparent;color:#fff;border-radius:10px;min-height:44px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;cursor:pointer}.admin-panel.panel-mobile-ready .sidebar .side-nav,.admin-panel.panel-mobile-ready .sidebar .side-help,.admin-panel.panel-mobile-ready .sidebar .side-footer{display:none}.admin-panel.panel-mobile-ready .sidebar.menu-open .side-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:50dvh;overflow:auto}.admin-panel.panel-mobile-ready .sidebar.menu-open .side-footer{display:grid}.admin-panel .side-help{display:none}.admin-panel .side-nav a{font-size:13px;padding:10px;min-width:0}.admin-panel .panel-main{padding-bottom:110px}.panel-bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-top:1px solid #d6e1dd;padding:8px 8px max(8px,env(safe-area-inset-bottom));z-index:99;box-shadow:0 -5px 22px #143f5010}.panel-bottom-nav a,.panel-bottom-nav button{border:0;background:transparent;border-radius:10px;min-height:53px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;font:600 11px Inter,sans-serif;color:#536f70;cursor:pointer}.panel-bottom-nav i{font-size:20px}.panel-bottom-nav .active{background:#e6f4ed;color:#166651}.admin-panel .top-actions .profile-chip{display:none}}
@media(max-width:760px){.admin-panel .panel-main{padding:20px 14px 110px}.admin-panel .topbar{gap:12px;margin-bottom:18px}.admin-panel .topbar h1{font-size:28px}.admin-panel .topbar>div>p:last-child{font-size:13px}.admin-panel .card{padding:18px 14px;border-radius:16px}.admin-panel .card-head{flex-wrap:wrap}.admin-panel .card h2{font-size:24px}.reservation-intro{padding:20px}.reservation-intro h2{font-size:27px}.reservation-intro .btn{width:100%;white-space:normal}.reservation-stats{gap:8px}.reservation-stats a{padding:15px 10px;border-radius:12px}.reservation-stats strong{font-size:25px}.reservation-stats span{font-size:11px}.reservation-list{grid-template-columns:minmax(0,1fr)}.reservation-item{padding:16px}.reservation-fields{gap:12px}.reservation-fields input[type=date]{padding:12px 7px}.reservation-fields .field span{font-size:12px}.reservation-save .btn{width:100%}.calendar-filter{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.calendar-filter .btn{grid-column:1/-1}.calendar-filter input{padding:11px 5px}.calendar-title h3{font-size:17px}.calendar-days,.calendar-weekdays{gap:4px}.calendar-day{min-height:60px;border-radius:8px}.calendar-day strong{font-size:16px}.calendar-day span{font-size:9px}.calendar-legend{gap:10px;font-size:11px}.reservation-filters{grid-template-columns:minmax(0,1fr)}.reservation-filters .btn{width:100%}.admin-panel .welcome-actions{flex-wrap:wrap}.admin-panel .welcome-actions .btn{white-space:normal}.admin-panel .welcome-card{padding:20px}.admin-panel .field textarea{min-height:100px}.admin-panel .filters{display:flex;flex-direction:column;align-items:stretch}.admin-panel .filters .search-field{width:100%}.admin-panel .quick-lead{grid-template-columns:minmax(0,1fr)}.admin-panel .quick-lead .wide{grid-column:auto}.admin-panel .table-wrap{border:0;overflow:visible}.admin-panel .data-table{display:block;min-width:0;width:100%}.admin-panel .data-table thead{display:none}.admin-panel .data-table tbody{display:grid;gap:14px}.admin-panel .data-table tr{display:block;border:1px solid #dce6e2;padding:12px;border-radius:12px;min-width:0}.admin-panel .data-table td{display:block;border:0;padding:8px 0;font-size:13px;white-space:normal;overflow-wrap:anywhere}.admin-panel .data-table td::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;color:#6a7d80;margin-bottom:4px}.admin-panel .data-table .row-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-panel .data-table .row-actions select{min-height:44px;max-width:100%}.admin-panel .lead-meta{font-size:12px}.admin-panel .room-admin-grid,.admin-panel .tour-admin-grid{grid-template-columns:minmax(0,1fr)}.admin-panel .media-row{max-width:100%}.admin-panel .top-actions .btn{font-size:12px}.admin-panel .stat-card span,.admin-panel .stat-card small{font-size:12px}.admin-panel .media-info small{overflow-wrap:anywhere}}
@media(max-width:360px){.calendar-day{min-height:54px}.calendar-day span{font-size:8px;letter-spacing:-.3px}.reservation-stats span{font-size:10px}.reservation-fields{grid-template-columns:minmax(0,1fr)}.reservation-fields .full{grid-column:auto}}

@media(max-width:1050px){.admin-panel .side-brand>div:last-child{min-width:0}.admin-panel .side-brand strong,.admin-panel .side-brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:760px){.reservation-intro h2{font-size:24px}.reservation-intro p:last-child{font-size:13px;line-height:1.6}.reservation-intro .panel-kicker{display:none}.login-page input{font-size:16px;min-height:48px}.login-page .btn{min-height:48px;font-size:15px}}

.admin-panel .stat-card{min-width:0;overflow-wrap:anywhere}@media(max-width:760px){.admin-panel .compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel .compact-stats .stat-card{padding:14px 10px}}
