/* Leitura confortável: textos maiores, contraste e áreas de toque amplas. */
:root{font-size:18px;--muted:#52675d;--line:#d4dfd9}
body{font-size:18px;line-height:1.6}
body .workspace{max-width:none;width:100%;padding:28px clamp(12px,2vw,36px)}
body .app-header{height:auto;min-height:104px;padding:18px 2%;gap:20px;flex-wrap:wrap}
body .app-header .brand{font-size:32px}
body .brand small,body .app-header .brand small{font-size:14px;letter-spacing:1px;line-height:1.4}
body .brand-region{font-size:14px}
body .button,body .button.small,body .nav-button,body .app-header .nav-button,body .admin-tabs .button,body .view-switch button,body .modal-actions .button{font-size:18px;min-height:48px;padding:12px 18px;line-height:1.4;white-space:normal}
body .icon-button{width:48px;height:48px;min-width:48px;font-size:28px}
body .account-copy strong,body .account-copy span,body .logout{font-size:16px}
body .page-heading h1,body .onboarding-card h1{font-size:34px;line-height:1.25}
body .page-heading p,body .onboarding-card>.muted,body .login-card>.muted{font-size:18px;max-width:75ch}
body .section-kicker,body .eyebrow,body .overview-label{font-size:16px;letter-spacing:1px;line-height:1.5}
body .overview{gap:24px;padding:22px;flex-wrap:wrap;align-items:flex-start}
body .overview>div{min-width:0}
body .overview strong{font-size:22px;line-height:1.5}
body .overview .sync-status{font-size:16px;max-width:none;line-height:1.6}
body .capacity-note strong,body .capacity-note div>span{font-size:16px}
body .calendar-toolbar{padding:18px 22px;flex-wrap:wrap}
body .month-navigation{flex-wrap:wrap;gap:16px}
body .month-navigation h2{font-size:28px;line-height:1.4;min-width:0}
body .calendar-hint{font-size:16px}
body .calendar-scroll{overflow-x:auto;overscroll-behavior-x:contain}
body .calendar-grid,body .weekdays{min-width:840px}
body .weekdays span{font-size:16px;padding:16px 8px;text-align:center}
body .day{min-height:172px;padding:16px 12px;overflow:visible}
body .day-top{gap:6px;flex-wrap:wrap}
body .day-number{font-size:36px;min-width:44px;line-height:1.2}
body .today .day-number{width:48px;height:48px}
body .today-label,body .day-amount,body .day-status,body .personal-label,body .day-holiday{font-size:16px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
body .day-amount strong{font-size:20px}
body .day-info{padding-top:12px}
body .day-status{margin-top:8px;min-height:24px}
body .day-holiday{margin-top:14px}
body .personal-label{max-width:100%;margin-top:8px}
body .calendar-with-arrows{grid-template-columns:64px minmax(0,1fr) 64px}
body .calendar-month-arrow{padding:8px}
body .calendar-month-arrow svg{width:38px;height:52px}
body label,body input,body select,body textarea,body option{font-size:18px;line-height:1.5}
body input,body select,body textarea{padding:12px 14px;min-height:48px}
body select[size]{min-height:180px}
body .help,body .form-error,body .notice,body .bottom-note,body .compact p,body .toast,body .empty-state{font-size:16px;line-height:1.65}
body .modal{width:min(720px,calc(100% - 32px));padding:32px;max-height:90dvh}
body .modal h2{font-size:28px}
body .modal-date,body .modal-city,body .identity strong,body .identity span{font-size:18px}
body .modal input{font-size:22px}
body .modal-actions{flex-wrap:wrap;gap:14px}
body .booking-card{gap:20px;padding:24px}
body .booking-date .eyebrow,body .created,body .badge{font-size:16px;line-height:1.5}
body .booking-date h3,body .booking-detail strong,body .booking-detail span{font-size:18px;line-height:1.5}
body .booking-actions{gap:12px;flex-wrap:wrap}
body .admin-record{gap:20px;padding:24px 0;flex-wrap:wrap}
body .admin-record>div{min-width:0;overflow-wrap:anywhere}
body .admin-record h3,body .admin-day-form h2,body .admin-subtitle{font-size:22px;line-height:1.5}
body .admin-record p,body .admin-record small,body .admin-day-form p,body .receipt-reason{font-size:18px;line-height:1.6}
body .admin-filters{gap:18px;flex-wrap:wrap}
body .app-footer,body .boot{font-size:16px}
body .onboarding-card{max-width:720px}
body #login-screen .login-card{max-width:400px}
body .login-brand{font-size:44px}
body .muted,body .day-status,body .created,body .booking-detail span{color:var(--muted)}
body .day.closed-day .day-status,body .day.closed-day .day-amount,body .day-holiday{color:#923c3c}
@media(max-width:900px){
 body .app-header nav{width:100%;order:3;display:flex;flex-wrap:wrap;gap:10px}
 body .app-header .nav-button{flex:1 1 150px}
 body .calendar-hint{display:none}
 body .admin-panel{padding:20px}
}
@media(max-width:700px){
 body .workspace{padding:22px 10px}
 body .app-header{padding:16px 12px;gap:16px}
 body .app-header .brand{font-size:27px}
 body .app-header .brand small{font-size:12px}
 body .page-heading h1,body .onboarding-card h1{font-size:28px}
 body .page-heading p{font-size:18px;max-width:none}
 body .overview{gap:18px;padding:18px}
 body .overview>div:not(:last-child){flex:1 1 180px;padding-right:0;border-right:0}
 body .overview .sync-status{flex-basis:100%}
 body .overview strong{font-size:20px}
 body .calendar-toolbar{padding:16px 12px}
 body .month-navigation h2{font-size:24px}
 body .month-navigation .small{font-size:18px;min-height:48px;padding:10px 16px}
 body .calendar-with-arrows{grid-template-columns:44px minmax(0,1fr) 44px}
 body .calendar-month-arrow{padding:4px}
 body .calendar-month-arrow svg{width:28px;height:44px}
 body .day{min-height:172px;align-items:flex-start}
 body .day-number{font-size:34px}
 body .day-amount,body .day-status,body .day-holiday,body .personal-label{text-align:left}
 body .day-holiday{margin-top:14px}
 body .modal{padding:24px 18px}
 body .modal h2{font-size:26px}
 body .modal-actions .button{flex:1 1 140px}
 body .booking-card{padding:18px;grid-template-columns:minmax(0,1fr);gap:14px}
 body .booking-actions,body .booking-date{grid-column:1/-1}
 body .admin-panel{padding:18px 12px}
 body .admin-tabs{flex-wrap:wrap;gap:12px}
 body .admin-tabs .button{flex:1 1 160px}
 body .admin-record{align-items:flex-start;flex-direction:column}
 body .view-switch{margin-left:0;flex-wrap:wrap}
 body .app-footer{padding:18px 12px}
}
body .overview-label,body .weekdays span,body .calendar-hint,body .bottom-note,body .app-footer,body .app-footer span,body .day-amount,body .today-label{color:var(--muted)}
body .day.full .day-status{color:#982f2f}
.calendar-scroll-help{display:none}
@media(max-width:1050px){body .calendar-scroll-help{display:block;flex-basis:100%;font-size:16px;line-height:1.6;color:var(--navy)}.calendar-panel:has(#calendar-content[hidden]) .calendar-scroll-help{display:none}}
@media(max-width:700px){body .overview>div:not(:last-child){flex:1 1 calc(50% - 9px)}body .overview>div:first-child{flex-basis:100%}}
/* No celular, o mês inteiro cabe na tela; o gesto horizontal muda o mês. */
@media(max-width:700px){
 body .calendar-panel{position:relative}
 body .calendar-toolbar{padding:16px 58px 12px;justify-content:center}
 body .month-navigation{justify-content:center;gap:10px;width:100%}
 body .month-navigation h2{font-size:22px;text-align:center;flex-basis:100%;margin:0}
 body .month-navigation .small{min-height:40px;padding:8px 14px;font-size:16px}
 body .calendar-with-arrows{display:block}
 body .calendar-month-arrow{position:absolute;top:16px;min-height:44px;height:44px;width:44px;border:1px solid #c7e0d4;border-radius:10px;padding:4px;z-index:1}
 body .calendar-month-arrow.previous{left:8px}
 body .calendar-month-arrow.next{right:8px}
 body .calendar-month-arrow svg{width:24px;height:32px}
 body .calendar-scroll{overflow-x:hidden;touch-action:pan-y pinch-zoom}
 body .calendar-grid,body .weekdays{min-width:0;width:100%;grid-template-columns:repeat(7,minmax(0,1fr))}
 body .weekdays span{font-size:12px;padding:12px 2px;letter-spacing:0}
 body .day{min-height:88px;padding:8px 2px;align-items:center;overflow:hidden}
 body .day-top{justify-content:center;gap:0;width:100%}
 body .day-number{font-size:26px;min-width:0}
 body .today .day-number{width:34px;height:34px}
 body .day-info{padding-top:5px;margin-top:0;width:100%}
 body .day-amount{font-size:0;text-align:center;line-height:1.3}
 body .day-amount strong{font-size:14px}
 body .day:not(.has-bookings) .day-amount,body .day-status,body .personal-label,body .progress{display:none}
 body .day-holiday{font-size:11px;line-height:1.25;text-align:center;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal;max-width:100%}
 body .own-dot{width:6px;height:6px;right:3px;top:3px}
 body .calendar-scroll-help{display:block;text-align:center;font-size:14px;line-height:1.4;flex-basis:100%;margin-top:4px}
 body .view-switch{justify-content:center}
}
