/* Nenhum texto do sistema utiliza sublinhado. */
a,a:visited,a:hover,a:focus,a:active,button,u,ins{text-decoration:none!important}

.reservation-receipt-button{position:relative;display:inline-flex;width:max-content;max-width:100%;min-height:38px;padding:7px 14px;align-items:center;justify-content:center;border:1px solid rgba(152,98,52,.35);border-radius:999px;background:#f8eddd;color:#75480a;font-weight:800;line-height:1.25;text-align:center}.reservation-receipt-button:disabled{opacity:.65;cursor:wait}html[data-theme="dark"] .reservation-receipt-button{border-color:rgba(221,181,129,.3);background:#4b321d;color:#f1c38c}.reservation-public-code{display:inline-block;margin:0 0 8px;color:#986234;font-size:.74rem;font-weight:900;letter-spacing:.04em}
:root{
  --forest-950:#071b17;--forest-900:#0d2d27;--forest-800:#16483e;--water:#087f82;
  --bronze:#bd8750;--bronze-soft:#e5c9a5;--sand:#f4eee2;--warm:#fffdf8;
  --ink:#18312c;--muted:#60726c;--line:rgba(13,45,39,.14);--danger:#9b4039;
  --success:#25684e;--shadow:0 24px 70px rgba(4,24,20,.16);
  --display:"Playfair Display",serif;--body:"DM Sans",sans-serif;
  --page-gutter:clamp(12px,3vw,24px);--client-max:1280px;
}
html{color-scheme:light}
html[data-theme="dark"]{
  color-scheme:dark;
  --sand:#102f29;--warm:#12382f;--ink:#e4ece7;--muted:#b7c7c0;
  --line:rgba(221,181,129,.22);--shadow:0 24px 70px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100svh;background:linear-gradient(rgba(7,27,23,.82),rgba(7,27,23,.9)),url("img/backg.jpg") center/cover fixed;color:var(--ink);font-family:var(--body)}
button,input{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-160%);padding:10px 14px;background:white;border-radius:8px;color:var(--forest-900)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #bd6f24;outline-offset:3px}
.client-header{position:relative;z-index:5;width:min(calc(100% - 32px),1280px);min-height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;color:white}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand img{width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.brand span{display:grid}.brand strong{font-family:var(--display);font-size:1.05rem}.brand small{color:rgba(255,255,255,.7)}
.back-home,.small-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:inherit;text-decoration:none;font-weight:700}
.back-home{padding:9px 14px;border:1px solid rgba(255,255,255,.25);border-radius:999px}.back-home:hover{background:rgba(255,255,255,.1)}
.back-home>span[aria-hidden="true"]{display:inline-grid;flex:0 0 1em;width:1em;height:1em;place-items:center;line-height:1}
.client-header-actions{display:flex;align-items:center;gap:10px}.client-theme-toggle{display:grid;flex:none;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(7,27,23,.28);color:white;cursor:pointer;transition:.25s}.client-theme-toggle:hover{transform:translateY(-2px);border-color:var(--bronze-soft);background:rgba(189,135,80,.2)}.theme-icon{grid-area:1/1;transition:opacity .25s,transform .25s}.theme-icon-sun{opacity:1;transform:scale(1) rotate(0)}.theme-icon-moon{opacity:0;transform:scale(.55) rotate(-35deg)}html[data-theme="dark"] .theme-icon-sun{opacity:0;transform:scale(.55) rotate(35deg)}html[data-theme="dark"] .theme-icon-moon{opacity:1;transform:scale(1) rotate(0)}
.client-header-logout{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;margin:0;white-space:nowrap}.client-logout-icon{display:inline-grid;width:1em;height:1em;place-items:center;line-height:1}
main{width:min(calc(100% - 32px),1280px);margin:auto}
.auth-view{min-height:calc(100svh - 160px);display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,620px);align-items:center;gap:clamp(40px,6vw,90px);padding:40px 0 70px}
.auth-intro{color:white}.eyebrow{margin:0 0 12px;color:var(--bronze-soft);font-size:.75rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.auth-intro h1,.dashboard-top h1{max-width:720px;margin:0 0 22px;color:white;font:700 clamp(2.7rem,6vw,5.8rem)/1.02 var(--display);letter-spacing:-.045em}.auth-intro>p{max-width:580px;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.7}
.trust-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.trust-list span{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:rgba(255,255,255,.84);font-size:.82rem}.trust-list i{color:var(--bronze-soft);font-style:normal}
.auth-card,.dashboard-card,.summary-card{border:1px solid rgba(255,255,255,.5);background:rgba(255,253,248,.94);box-shadow:var(--shadow);backdrop-filter:blur(18px) saturate(120%)}
.auth-card{padding:10px clamp(24px,5vw,42px) 36px;border-radius:28px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:26px;padding:6px;border-radius:999px;background:rgba(13,45,39,.07)}
.auth-tab{min-height:44px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:800}.auth-tab.active{background:var(--forest-900);color:white;box-shadow:0 8px 20px rgba(13,45,39,.18)}
.auth-panel{display:none}.auth-panel.active{display:block}.panel-heading{margin-bottom:22px}.panel-heading h2,.dashboard-card h2{margin:0 0 7px;color:var(--forest-900);font:700 clamp(1.65rem,3vw,2.15rem)/1.1 var(--display)}.panel-heading p{margin:0;color:var(--muted)}
form{display:grid;gap:15px}.register-grid,.profile-identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field-wide{grid-column:1/-1}.field{display:flex;align-self:start;flex-direction:column;gap:7px;width:100%;min-width:0}.field label{font-size:.85rem;font-weight:800;color:var(--forest-900)}.field input,.field textarea{width:100%;min-height:50px;padding:11px 14px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.82);color:var(--ink);font:inherit;transition:.2s}.field input{height:50px}.field textarea{min-height:82px;resize:vertical;line-height:1.5}.field input:focus,.field textarea:focus{outline:0;border-color:var(--water);box-shadow:0 0 0 4px rgba(8,127,130,.12)}.field input[readonly]{background:#eeeae1;color:var(--muted)}.field small{color:var(--muted);font-size:.72rem;line-height:1.4}
.consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.8rem;line-height:1.45}.consent input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:var(--water)}.consent a{color:var(--water);font-weight:800}
.primary-button,.secondary-button{min-height:46px;padding:11px 18px;border-radius:999px;font-weight:800;transition:.22s}.primary-button{border:0;background:linear-gradient(135deg,var(--bronze),#986234);color:white;box-shadow:0 10px 24px rgba(152,98,52,.2)}.primary-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(152,98,52,.27)}.primary-button:disabled{opacity:.65;cursor:wait;transform:none}.secondary-button{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:white}.text-button{min-height:40px;border:0;background:none;color:var(--water);font-weight:700}.form-message{min-height:20px;margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}.form-message.success{color:var(--success)}.form-message.error{color:var(--danger)}
.dashboard-view{padding:38px 0 80px}.dashboard-top{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px;color:white}.dashboard-top h1{font-size:clamp(2.5rem,5vw,4.7rem);margin-bottom:10px}.dashboard-top>div>p:last-child{margin:0;color:rgba(255,255,255,.74)}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:15px}.summary-card{display:grid;gap:8px;padding:22px;border-radius:18px}.summary-card span{color:var(--muted);font-size:.82rem;font-weight:700}.summary-card strong{color:var(--forest-900);font:700 clamp(1.4rem,3vw,2rem) var(--display)}.message-summary-card.has-unread{border-color:rgba(189,135,80,.55);box-shadow:0 18px 50px rgba(152,98,52,.18)}.message-summary-card.has-unread strong{color:#986234}
.dashboard-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:15px}.dashboard-card{padding:clamp(22px,4vw,34px);border-radius:22px}.card-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:24px}.card-heading .eyebrow{color:#986234}.privacy-badge{padding:7px 10px;border-radius:999px;background:#e4f1eb;color:var(--success);font-size:.7rem;font-weight:800}.small-action{padding:8px 13px;border-radius:999px;background:var(--forest-900);color:white;font-size:.8rem}
.reservation-list{display:grid;gap:12px}.reservation-item{display:grid;grid-template-columns:1fr auto;gap:14px;padding:17px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.65)}.reservation-item h3{margin:0 0 7px;color:var(--forest-900);font:700 1.15rem var(--display)}.reservation-meta{display:flex;flex-wrap:wrap;gap:7px 16px;color:var(--muted);font-size:.82rem}.reservation-actions{display:flex;align-items:flex-start;flex-direction:column;gap:8px}.reservation-status{align-self:flex-end;padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:900}.reservation-chat-button,.reservation-details-link{position:relative;display:inline-flex;min-height:38px;padding:7px 12px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:white;color:var(--forest-900);font-weight:800}.reservation-details-link{border-color:rgba(8,127,130,.22);background:var(--forest-900);color:white}.notification-badge{display:inline-grid;min-width:20px;height:20px;margin-left:5px;padding:0 5px;place-items:center;border-radius:999px;background:#a5453f;color:white;font-size:.68rem}.status-pendente,.status-solicitada{background:#fff0ca;color:#78520d}.status-aguardando_pagamento{background:#fce4bd;color:#75480a}.status-confirmada{background:#dff1e8;color:#215f47}.status-checkin{background:#d9edf0;color:#155763}.status-concluida{background:#e5e4ef;color:#4c496b}.status-cancelada{background:#f5dedb;color:#853d36}.empty-state,.loading-state{padding:34px 20px;border:1px dashed var(--line);border-radius:15px;text-align:center;color:var(--muted)}.empty-state a{display:inline-flex;margin-top:14px;color:var(--water);font-weight:800}
.chat-card{margin-top:15px}.chat-heading{align-items:end}.chat-reservation-picker{display:grid;gap:6px;min-width:min(100%,280px);color:var(--muted);font-size:.78rem;font-weight:800}.chat-reservation-picker select{min-height:44px;padding:8px 38px 8px 12px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);font:inherit}.chat-messages{display:flex;min-height:280px;max-height:430px;margin-bottom:18px;padding:18px;overflow-y:auto;overscroll-behavior:contain;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#f4eee2,#fffdf8);scrollbar-gutter:stable}.chat-empty{margin:auto;text-align:center;color:var(--muted)}.chat-message{align-self:flex-start;max-width:min(78%,620px);padding:11px 14px;border:1px solid var(--line);border-radius:5px 15px 15px 15px;background:white;box-shadow:0 5px 15px rgba(13,45,39,.06)}.chat-message.is-client{align-self:flex-end;border-color:rgba(8,127,130,.16);border-radius:15px 5px 15px 15px;background:#e5f1ee}.chat-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.chat-message footer{display:flex;justify-content:space-between;gap:12px;margin-top:5px;color:var(--muted);font-size:.68rem}.chat-form{gap:8px}.chat-form>label{color:var(--forest-900);font-size:.85rem;font-weight:800}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.chat-compose textarea{width:100%;min-height:54px;max-height:160px;padding:12px 14px;resize:vertical;border:1px solid var(--line);border-radius:13px;background:white;color:var(--ink);font:inherit}.chat-compose textarea:focus{outline:0;border-color:var(--water);box-shadow:0 0 0 4px rgba(8,127,130,.12)}.chat-compose .primary-button{min-width:110px}
.client-footer{width:min(calc(100% - 32px),1280px);margin:auto;padding:24px 0 calc(28px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.68);font-size:.82rem}.client-footer p{margin:0}.client-footer a{color:var(--bronze-soft)}
[hidden]{display:none!important}
html[data-theme="dark"] body{background:linear-gradient(rgba(2,14,11,.9),rgba(3,18,15,.95)),url("img/backg.jpg") center/cover fixed}
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .dashboard-card,
html[data-theme="dark"] .summary-card{border-color:rgba(221,181,129,.22);background:linear-gradient(145deg,rgba(24,65,55,.97),rgba(11,39,33,.96));color:var(--ink);box-shadow:var(--shadow)}
html[data-theme="dark"] .auth-tabs{background:rgba(0,0,0,.22)}
html[data-theme="dark"] .auth-tab{color:var(--muted)}
html[data-theme="dark"] .auth-tab.active,
html[data-theme="dark"] .small-action{background:var(--bronze);color:#081b17}
html[data-theme="dark"] .panel-heading h2,
html[data-theme="dark"] .dashboard-card h2,
html[data-theme="dark"] .field label,
html[data-theme="dark"] .summary-card strong,
html[data-theme="dark"] .reservation-item h3,
html[data-theme="dark"] .chat-form>label{color:#f4ead8}
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .chat-reservation-picker select,
html[data-theme="dark"] .chat-compose textarea{background:#0c2a23;border-color:rgba(188,231,223,.25);color:var(--ink)}
html[data-theme="dark"] .field input[readonly]{background:#173a32;color:var(--muted)}
html[data-theme="dark"] .field input:focus,
html[data-theme="dark"] .field textarea:focus,
html[data-theme="dark"] .chat-compose textarea:focus{background:#10372e;border-color:#1fb5b0;box-shadow:0 0 0 4px rgba(31,181,176,.17)}
html[data-theme="dark"] .reservation-item{background:rgba(4,24,20,.5)}
html[data-theme="dark"] .reservation-chat-button{background:#163b33;border-color:var(--line);color:#f4ead8}
html[data-theme="dark"] .reservation-details-link{background:#e4c394;border-color:#e4c394;color:#15352d}
html[data-theme="dark"] .privacy-badge{background:rgba(37,104,78,.24);color:#9cdbbd}
html[data-theme="dark"] .chat-messages{background:linear-gradient(145deg,#0a251f,#10342c)}
html[data-theme="dark"] .chat-message{background:#173a32;color:var(--ink)}
html[data-theme="dark"] .chat-message.is-client{background:#16463d;border-color:rgba(31,181,176,.25)}
html[data-theme="dark"] .skip-link{background:#19483d;color:#f4ead8}
@media(max-width:900px){body{background-attachment:scroll}.auth-view{grid-template-columns:1fr;align-items:start}.auth-intro{padding-top:24px}.auth-intro h1{font-size:clamp(2.65rem,12vw,4.8rem)}.dashboard-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.client-header{min-height:76px;gap:8px}.brand img{width:58px;height:58px}.brand strong{font-size:.92rem}.client-header-actions{gap:7px}.back-home{width:44px;padding:0;gap:0;font-size:0}.back-home span{font-size:1.2rem}.auth-view{padding-top:22px}.auth-card{border-radius:20px}.register-grid,.profile-identity-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.trust-list{display:grid}.dashboard-top{align-items:start;flex-direction:column}.summary-grid{grid-template-columns:1fr}.card-heading{align-items:flex-start;flex-direction:column}.reservation-item{grid-template-columns:1fr}.reservation-actions{grid-row:1;align-items:flex-start}.reservation-status{align-self:flex-start}.chat-reservation-picker{width:100%}.chat-compose{grid-template-columns:1fr}.chat-compose .primary-button{width:100%}.chat-message{max-width:92%}.client-footer{flex-direction:column}.privacy-badge{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Responsive consistency */
img,video,svg,canvas{max-inline-size:100%;block-size:auto}
main,section,article,form,.auth-view,.dashboard-view,.dashboard-grid,.dashboard-card{min-inline-size:0}
p,li,dd,a,button,label,strong,small{overflow-wrap:anywhere}
#cliente-main,.client-header,.client-footer{width:min(calc(100% - (2 * var(--page-gutter))),var(--client-max));margin-inline:auto}
.auth-view,.dashboard-view{width:100%}
.auth-card,.dashboard-card,.summary-card{min-width:0}
.primary-button,.secondary-button,.small-action,.reservation-chat-button,.reservation-details-link,.reservation-receipt-button{min-height:44px}
.field input,.field textarea,.chat-compose textarea,.chat-reservation-picker select{max-width:100%}

@media(max-width:900px){
  .auth-view{gap:32px}
  .dashboard-grid{gap:16px}
}

@media(max-width:620px){
  :root{--page-gutter:10px}
  .client-header{width:calc(100% - (2 * var(--page-gutter)));align-items:stretch;flex-direction:column;gap:10px;padding-block:10px}
  .brand{min-width:0}.brand span{min-width:0}.brand small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .client-header .brand{align-self:flex-start}
  .client-header-actions{width:100%;justify-content:flex-end}
  .auth-card,.dashboard-card,.summary-card{padding:clamp(16px,5vw,22px)}
  .auth-tabs{border-radius:16px}.auth-tab{border-radius:12px}
  .primary-button,.secondary-button,.small-action,.reservation-chat-button,.reservation-details-link,.reservation-receipt-button{width:100%;max-width:none;text-align:center}
  .client-header .secondary-button,.client-header .back-home,.client-header .client-theme-toggle{width:44px}
  .client-logout-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .reservation-actions{width:100%}.reservation-actions>*{align-self:stretch}
  .chat-message footer{align-items:flex-start;flex-direction:column;gap:2px}
}

@media(max-width:360px){
  .brand img{width:52px;height:52px}.brand strong{font-size:.84rem}
  .client-header-actions{gap:4px}
  .auth-intro h1,.dashboard-top h1{font-size:clamp(2.2rem,13vw,2.75rem)}
}

/* Notificações de mensagens do cliente */
.notification-badge{font-weight:900;line-height:1;white-space:nowrap}
.client-message-shortcut{position:relative;display:none;min-height:44px;padding:8px 12px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.09);color:white;font:800 .8rem var(--sans)}
html[data-client-session="authenticated"] .client-message-shortcut{display:inline-flex}
.client-message-icon{display:block;flex:0 0 20px;width:20px;height:20px}
.client-message-shortcut .notification-badge{margin-left:7px}
.message-summary-action{justify-self:start;min-height:36px;padding:6px 11px;border:1px solid rgba(152,98,52,.28);border-radius:999px;background:transparent;color:#986234;font-weight:800}
html[data-theme="dark"] .message-summary-action{border-color:rgba(228,195,148,.38);color:#e4c394}

@media(max-width:620px){
  .client-message-shortcut{width:44px;padding:0;gap:0;font-size:.8rem}
  .client-message-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .client-message-shortcut .notification-badge{position:absolute;top:-4px;right:-4px;margin:0;font-size:.62rem}
}

/* Cabeçalho e ações móveis sem encolhimento. */
.client-header-actions{flex:0 0 auto}.client-header-actions>*{flex:0 0 auto}
@media(max-width:480px){
  .client-header{gap:6px}
  .client-header .brand{flex:0 0 auto;gap:10px}
  .client-header .brand span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .client-header-actions{gap:6px}
  .client-header-actions>*{width:44px;min-width:44px;height:44px;min-height:44px}
}
@media(max-width:340px){
  .client-header .brand img{width:50px;height:50px}
  .client-header-actions{gap:3px}
}

/* Confirmação do cadastro */
.client-modal{position:fixed;z-index:1000;inset:0;display:grid;padding:var(--page-gutter);place-items:center}.client-modal-backdrop{position:absolute;inset:0;background:rgba(3,20,17,.72);backdrop-filter:blur(8px)}.client-modal-panel{position:relative;width:min(100%,500px);max-height:min(720px,calc(100dvh - 2 * var(--page-gutter)));padding:clamp(24px,5vw,38px);overflow-y:auto;border:1px solid rgba(255,255,255,.55);border-radius:26px;background:rgba(255,253,248,.98);box-shadow:0 30px 90px rgba(0,0,0,.38);text-align:center}.client-modal-close{position:absolute;top:14px;right:14px;display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--forest-900);font-size:1.55rem;line-height:1}.client-modal-icon{display:grid;width:68px;height:68px;margin:0 auto 20px;place-items:center;border:1px solid rgba(8,127,130,.25);border-radius:50%;background:rgba(8,127,130,.11);color:var(--water)}.client-modal-panel .eyebrow{color:var(--bronze);text-align:center}.client-modal-panel h2{margin:0 0 14px;color:var(--forest-900);font:700 clamp(1.8rem,5vw,2.4rem)/1.1 var(--display)}.client-modal-panel>p:not(.eyebrow){margin:0 auto;color:var(--muted);line-height:1.65}.client-modal-hint{margin-top:14px!important;padding:11px 13px;border-radius:12px;background:rgba(13,45,39,.06);font-size:.86rem}.client-modal-panel .primary-button{width:100%;margin-top:24px}body.has-client-modal{overflow:hidden}html[data-theme="dark"] .client-modal-panel{border-color:rgba(221,181,129,.22);background:linear-gradient(145deg,#183f36,#0c2c25)}html[data-theme="dark"] .client-modal-panel h2,html[data-theme="dark"] .client-modal-close{color:#f4ead8}html[data-theme="dark"] .client-modal-hint{background:rgba(255,255,255,.06)}
@media(max-width:480px){.client-modal{align-items:end;padding:10px 10px calc(10px + env(safe-area-inset-bottom))}.client-modal-panel{width:100%;max-height:calc(100dvh - 20px - env(safe-area-inset-bottom));border-radius:22px}.client-modal-close{top:10px;right:10px}}

/* Ações são empilhadas no mobile e seus textos permanecem em uma linha. */
.primary-button,.secondary-button,.text-button,.small-action,.auth-tab,.message-summary-action,.reservation-chat-button,.reservation-details-link,.reservation-receipt-button,.client-message-shortcut{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.reservation-status,.privacy-badge,.notification-badge,.payment-deadline-card span{
  max-width:none;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
@media(prefers-reduced-motion:no-preference){.client-modal:not([hidden]) .client-modal-backdrop{animation:client-modal-fade .2s ease-out}.client-modal:not([hidden]) .client-modal-panel{animation:client-modal-enter .28s cubic-bezier(.2,.8,.2,1)}@keyframes client-modal-fade{from{opacity:0}}@keyframes client-modal-enter{from{opacity:0;transform:translateY(18px) scale(.98)}}}
body{background-image:linear-gradient(rgba(7,27,23,.82),rgba(7,27,23,.9)),url("img/backg.jpg");background-image:linear-gradient(rgba(7,27,23,.82),rgba(7,27,23,.9)),image-set(url("img/optimized/client-bg-1920.webp") type("image/webp"),url("img/backg.jpg") type("image/jpeg"))}
html[data-theme="dark"] body{background-image:linear-gradient(rgba(2,14,11,.9),rgba(3,18,15,.95)),url("img/backg.jpg");background-image:linear-gradient(rgba(2,14,11,.9),rgba(3,18,15,.95)),image-set(url("img/optimized/client-bg-1920.webp") type("image/webp"),url("img/backg.jpg") type("image/jpeg"))}
@media(max-width:700px){body{background-image:linear-gradient(rgba(7,27,23,.86),rgba(7,27,23,.92)),url("img/backg.jpg");background-image:linear-gradient(rgba(7,27,23,.86),rgba(7,27,23,.92)),image-set(url("img/optimized/client-bg-960.webp") type("image/webp"),url("img/backg.jpg") type("image/jpeg"));background-attachment:scroll}html[data-theme="dark"] body{background-image:linear-gradient(rgba(2,14,11,.92),rgba(3,18,15,.96)),url("img/backg.jpg");background-image:linear-gradient(rgba(2,14,11,.92),rgba(3,18,15,.96)),image-set(url("img/optimized/client-bg-960.webp") type("image/webp"),url("img/backg.jpg") type("image/jpeg"))}}
/* Situação final liberada pelo encerramento automático do prazo. */
.status-expirada{background:#f5dedb;color:#853d36}

/* Cartões de reserva: conteúdo e ações equilibrados e centralizados. */
.reservation-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(14px,2.5vw,20px);
  padding:clamp(20px,3vw,28px);
  text-align:center;
}
.reservation-content{
  display:grid;
  width:100%;
  justify-items:center;
  gap:8px;
}
.reservation-item h3{margin:0}
.reservation-public-code{margin:0}
.reservation-meta{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));
  width:100%;
  justify-content:center;
  align-items:center;
  gap:9px;
}
.reservation-meta>span{
  display:inline-flex;
  width:100%;
  min-height:28px;
  padding:5px 10px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(13,45,39,.055);
}
.reservation-actions{
  display:grid;
  grid-row:auto;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,620px);
  align-items:center;
  justify-content:center;
  gap:10px;
}
.reservation-actions .reservation-status{
  grid-column:1/-1;
  justify-self:center;
  align-self:center;
}
.reservation-actions .reservation-chat-button,
.reservation-actions .reservation-details-link{
  width:100%;
}
.reservation-actions .reservation-receipt-button{
  grid-column:1/-1;
  width:100%;
  justify-self:center;
  align-self:center;
}
html[data-theme="dark"] .reservation-meta>span{background:rgba(255,255,255,.065)}

@media(max-width:480px){
  .reservation-item{gap:16px;padding:18px 14px}
  .reservation-meta{gap:7px}
  .reservation-meta>span{width:100%}
  .reservation-actions{grid-template-columns:1fr}
  .reservation-actions .reservation-status,
  .reservation-actions .reservation-receipt-button{grid-column:1}
}
