/* Tryp Lisboa Caparica Mar — ATLÂNTICO QUENTE design system (adopted 2026-09-25).
   Deep-ocean structure, warm paper surfaces, gold wayfinding and a single coral action colour.
   The mandatory UI contract and colour-lane rules live in pinguim.md §10. */

:root {
  /* STRUCTURE — the deep-ocean ramp. Legacy TRYP names are kept as aliases so every rule re-skins. */
  --ocean-900:#082944; --ocean-800:#0A3556; --ocean-700:#0B4A73; --ocean-600:#0E5A8A; --ocean-500:#1466A0; --ocean-400:#2C84B8;
  --tryp-blue:var(--ocean-500); --tryp-blue-600:var(--ocean-600); --tryp-blue-700:var(--ocean-700); --tryp-blue-800:var(--ocean-800);
  --blue-on:var(--ocean-400); --blue-on-hover:#1C74A8; --blue-soft:#E4EFF8; --blue-soft-2:#CCE0EF; --blue-tint:#F2F7FB;
  --blue-ink:#0C447C; /* readable dark-blue text on soft-blue tints */
  --deep:var(--ocean-800); --deep-ink:var(--ocean-900); --sky:#A9C4DA; --sky-soft:#E4EFF8;
  /* Country-flag icon palette used by the staff proposal language selector. */
  --flag-pt-green:#046A38; --flag-pt-red:#DA291C; --flag-gold:#FFE000;
  --flag-gb-blue:#012169; --flag-gb-red:#C8102E; --flag-fr-blue:#000091; --flag-fr-red:#E1000F;
  --flag-es-red:#AA151B; --flag-es-yellow:#F1BF00;
  /* WAYFINDING — gold labels on ocean (--gold) and on paper (--gold-ink). Never a status. */
  --gold:#E6C98A; --gold-ink:#8A5E17; --champ:var(--gold);
  /* PAPER — warm surfaces and hairlines. */
  --paper:#F6F1E7; --paper-2:#FBF8F2; --sand:#EFE8DA; --sand-2:#D8C9AB; --sand-ink:var(--gold-ink); --line-soft:#F0E9DC;
  /* ACTION — coral is the single action colour (primary buttons, active rail, sidebar CTA badge). */
  --coral:#D0553E; --coral-deep:#C04A34; --coral-hov:#AE4029; --coral-soft:#FBE5DF; --coral-rail:#F08A6E;
  /* legacy names kept as aliases */
  --navy:var(--deep); --navy-2:var(--deep-ink);
  --bronze:var(--sand-ink); --bronze-ink:var(--sand-ink); --bronze-soft:var(--sand); --bronze-line:var(--sand-2);
  --champagne:var(--champ); --mare:var(--sky-soft);
  /* GRAY */
  --gray-50:#F8FAFC; --gray-100:#F1F5F9; --gray-200:#E5EAF1; --gray-300:#D3DAE3; --gray-400:#AEB8C5;
  --gray-500:#7C8795; --gray-600:#5B6675; --gray-700:#404A59; --gray-800:#2A323D; --gray-900:#161C25;
  /* STATUS LADDER — reserved for status only: Pendente teal · Cotação âmbar · Pré-Reserva rosa ·
     Reservado verde · Cancelado cinza. */
  --pend:#2C7DA0; --pend-soft:#E4F0F7; --pend-ink:#175E80;
  --success:#2F8F5B; --success-soft:#E2F2E7; --success-2:#2F8F5B; --success-border:#BFE0CB; --success-ink:#1C6B41;
  --danger:#C62828; --danger-deep:#7F1D1D; --danger-soft:#FDECEC;
  --warning:#BE8A14; --warning-soft:#F7EDD2; --warning-ink:#7E5A00;
  --orange:#C15289; --orange-2:#D682AC; --orange-soft:#F8E6EF; --orange-ink:#98305F;
  --cancel:#9A9182; --cancel-soft:#EFEBE2; --cancel-ink:#6E6759;
  /* OCCUPANCY DATA TONES (Disponibilidade bars and range strip; data, not status) */
  --occ-low:#7CC49A; --occ-mid:#D8B94C; --occ-high:#E08A3C; --occ-full:#B83A2F;
  --revenue-individual:#78CFA0; --revenue-group:#176B3A; --revenue-forecast:#D97706;
  --reserved-bright:#18A957; --reserved-bright-soft:#DDF7E8; --reserved-bright-ink:#0C6C36;
  /* SURFACES / TEXT */
  --bg:var(--paper); --surface:#FFFFFF; --surface-2:var(--paper-2); --ink:#14262F; --ink-2:#31454E;
  --muted:#56696F; --border:#E8DFCC; --border-2:var(--sand-2);
  --ring:rgba(20,102,160,.28);
  --font-sans:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  /* No serif and no webfonts anywhere: system stacks only. */
  --font-display:'Segoe UI Variable Display','SF Pro Display','Avenir Next','Segoe UI',system-ui,sans-serif;
  --r-sm:9px; --r-md:10px; --r-lg:14px; --r-pill:999px;
  /* One soft card elevation (--sh-card); heavier shadows stay on overlays. */
  --sh-card:0 1px 2px rgba(10,40,60,.06),0 10px 26px rgba(10,40,60,.07);
  --sh-sm:0 1px 3px rgba(10,40,60,.08),0 1px 2px rgba(10,40,60,.05);
  --sh-md:0 4px 12px rgba(10,40,60,.08),0 2px 4px rgba(10,40,60,.05);
  --sh-lg:0 12px 28px rgba(10,40,60,.14),0 4px 8px rgba(10,40,60,.06);
  --grad-ocean-nav:linear-gradient(180deg,#0E4A72 0%,var(--ocean-800) 70%,var(--ocean-900) 100%);
  --grad-ocean-head:linear-gradient(115deg,var(--ocean-700) 0%,var(--ocean-500) 60%,var(--ocean-400) 100%);
}

* { box-sizing:border-box; }
html,body { height:100%; }
body {
  margin:0; font-family:var(--font-sans); color:var(--ink);
  background:var(--bg); min-height:100%; -webkit-font-smoothing:antialiased;
}
code { color:var(--tryp-blue-700); background:var(--blue-soft); padding:.05em .35em; border-radius:6px; }
.text-muted { color:var(--muted)!important; }
.narrow { max-width:680px; }

/* ---- Buttons (rounded by default) ---- */
.btn { display:inline-flex; align-items:center; gap:.44rem; font-weight:700; border-radius:var(--r-md);
  border:1px solid transparent; padding:.6rem 1.05rem; font-size:.9375rem; line-height:1.2; cursor:pointer;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s; background:var(--gray-100); color:var(--ink-2); }
.btn:focus-visible { outline:none; box-shadow:0 0 0 4px var(--ring); }
/* Atlântico Quente: CORAL is the single action colour — primary buttons and the active rail. */
.btn--primary { background:var(--coral-deep); border-color:var(--coral-deep); color:#fff; padding:.66rem 1.15rem;
  box-shadow:0 6px 16px rgba(192,74,52,.26); }
.btn--primary:hover { background:var(--coral-hov); border-color:var(--coral-hov); }
.btn--primary:active { background:var(--coral-deep); border-color:var(--coral-deep); }
.btn--ghost { background:var(--surface); border:1.5px solid var(--border-2); color:var(--tryp-blue-700); padding:.6rem 1rem; }
.btn--ghost:hover { background:var(--blue-tint); border-color:var(--tryp-blue-700); }
.btn--block { width:100%; justify-content:center; }
.btn--sm { padding:.35rem .7rem; font-size:.85rem; }
.btn[disabled] { opacity:.5; cursor:not-allowed; }
.btn-add { box-shadow:var(--sh-sm); }
.btn-add__plus { font-size:1.15rem; font-weight:700; line-height:1; }

/* ---- App shell (Atlântico Quente): deep-ocean sidebar + translucent paper topbar ----
   Lanes: gold = wayfinding (on ocean) · ocean blue = structure/links · coral = the one action/active rail. */
.app-shell { display:flex; min-height:100vh; }
.sb { width:252px; flex:0 0 252px; display:flex; flex-direction:column; gap:2px;
  background:var(--grad-ocean-nav);
  padding:18px 14px 20px; position:sticky; top:0; height:100vh; overflow-y:auto; }
.sb-brand { display:flex; align-items:center; gap:10px; text-decoration:none; padding:0 6px 14px;
  border-bottom:3px solid var(--champ); margin:0 6px 6px; }
.sb-brand img { background:#fff; border-radius:9px; padding:2px; }
.sb-brand__tag { color:var(--sky); font-weight:700; font-size:.78rem; line-height:1.3; }
/* Sidebar shortcuts: the first (Adicionar Pedido) is solid white; the others are quiet translucent
   outlines so only one shortcut reads as primary. Follow-ups keeps its status-toned count. */
.sb-cta { display:flex; align-items:center; justify-content:center; gap:.4rem; background:rgba(255,255,255,.08); color:#fff;
  border:1px solid rgba(255,255,255,.26); font-weight:700; font-size:.9rem; border-radius:var(--r-sm); padding:.6rem .6rem; margin:0 4px 6px; text-decoration:none; }
.sb-cta:hover,.sb-cta.is-on { background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.5); color:#fff; }
.sb-cta--primary { background:var(--surface); color:var(--deep); border-color:var(--surface); box-shadow:0 6px 16px rgba(0,0,0,.18); }
.sb-cta--primary:hover,.sb-cta--primary.is-on { background:var(--paper-2); color:var(--tryp-blue-700); }
.sb-cta:focus-visible { outline:2px solid var(--gold); outline-offset:1px; }
.sb-cta--availability { background:rgba(255,255,255,.08); color:#fff; }
.sb-cta--availability:hover,.sb-cta--availability.is-on { background:rgba(255,255,255,.16); color:#fff; }
.sb-cta--availability .ti { font-size:1.05rem; }
.sb-cta--followups { position:relative; }
.sb-cta--followups.is-success .sb-cta__count { background:var(--success-soft); color:var(--success-ink); }
.sb-cta--followups.is-warning .sb-cta__count { background:var(--warning-soft); color:var(--warning-ink); }
.sb-cta--followups.is-danger { border-color:rgba(253,236,236,.7); }
.sb-cta--followups.is-danger .sb-cta__count { background:var(--danger-soft); color:var(--danger-deep); }
.sb-cta__count { margin-left:auto; min-width:22px; padding:3px 7px; border-radius:var(--r-pill); background:rgba(255,255,255,.88); color:var(--deep-ink); font-size:.68rem; font-weight:900; line-height:1.2; text-align:center; font-variant-numeric:tabular-nums; }
.sb-hr { height:1px; background:rgba(255,255,255,.14); margin:8px 6px 2px; }
/* Contraste Executivo (2026-07-06): groups are COLLAPSIBLE — clickable header + rotating chevron;
   long groups (>6 items) get in-group progressive disclosure (first 5 + "mostrar mais", built by app.js). */
.sb-ghead { display:flex; align-items:center; justify-content:space-between; gap:6px; width:100%;
  background:none; border:0; cursor:pointer; font-family:inherit; font-size:.6875rem; font-weight:800;
  letter-spacing:.18em; text-transform:uppercase; color:var(--gold); padding:15px 10px 6px; opacity:.95; }
.sb-ghead:hover { opacity:1; }
.sb-ghead:focus-visible { outline:2px solid #fff; outline-offset:1px; }
.sb-ghead .sb-chev { font-size:.8rem; opacity:.8; transition:transform .22s ease; }
.sb-grp.is-closed .sb-chev { transform:rotate(-90deg); }
.sb-gwrap { display:grid; grid-template-rows:1fr; transition:grid-template-rows .22s ease; }
.sb-grp.is-closed .sb-gwrap { grid-template-rows:0fr; }
/* visibility flips (delayed until the fold finishes) take collapsed links out of the tab order
   and the accessibility tree — overflow:hidden alone only hides them visually */
.sb-gitems { min-height:0; overflow:hidden; display:flex; flex-direction:column; gap:2px;
  visibility:visible; transition:visibility 0s; }
.sb-grp.is-closed .sb-gitems { visibility:hidden; transition:visibility 0s .22s; }
.sb-more { display:grid; grid-template-rows:0fr; transition:grid-template-rows .22s ease; }
.sb-grp.is-more-open .sb-more { grid-template-rows:1fr; }
.sb-more-in { min-height:0; overflow:hidden; display:flex; flex-direction:column; gap:2px;
  visibility:hidden; transition:visibility 0s .22s; }
.sb-grp.is-more-open .sb-more-in { visibility:visible; transition:visibility 0s; }
.sb-more-btn { display:block; width:100%; text-align:left; background:none; border:0; cursor:pointer;
  font-family:inherit; padding:9px 10px 9px 35px; color:var(--champ); font-size:.78rem; font-weight:700;
  letter-spacing:.02em; opacity:.9; border-radius:9px; }
.sb-more-btn:hover { opacity:1; background:rgba(255,255,255,.05); }
.sb-more-btn:focus-visible { outline:2px solid #fff; outline-offset:1px; }
.sb-msgcount { margin-left:auto; background:var(--coral-deep); color:#fff; font-size:.72rem; font-weight:800;
  line-height:1; padding:4px 8px; border-radius:var(--r-pill); min-width:22px; text-align:center;
  font-variant-numeric:tabular-nums; }
.sb-msgcount.is-non { background:var(--warning); }
.sb-foot { margin-top:auto; padding:14px 10px 0; border-top:1px solid rgba(255,255,255,.14);
  font-size:.6875rem; font-weight:500; letter-spacing:.05em; color:rgba(255,255,255,.68); }
.sb-item { display:flex; align-items:center; gap:11px; color:#E8F1F8; font-size:.9rem; font-weight:500;
  padding:.62rem .68rem; border-radius:9px; text-decoration:none; position:relative; line-height:1.3; }
.sb-item .ti { font-size:1.05rem; color:rgba(255,255,255,.9); flex:none; opacity:.9; }
.sb-item:hover { background:rgba(255,255,255,.1); color:#fff; }
.sb-item.is-on { background:rgba(255,255,255,.16); color:#fff; font-weight:700; }
.sb-item.is-on .ti { color:#fff; opacity:1; }
.sb-menu-sep { height:2px; margin:9px 11px; border-radius:999px; background:rgba(255,255,255,.34); box-shadow:0 1px 0 rgba(0,0,0,.12); flex:none; }
.sb-subhead { display:flex; align-items:center; gap:8px; padding:7px 13px 3px; color:rgba(255,255,255,.68); font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.sb-item--sub { padding-left:24px; }
.sb-item--disabled { color:rgba(255,255,255,.38); cursor:not-allowed; user-select:none; }
.sb-item--disabled .ti { color:rgba(255,255,255,.35); opacity:1; }
.sb-item--disabled:hover { background:transparent; color:rgba(255,255,255,.38); }
/* CORAL rail INSIDE the item (inset — an outside ::before would be clipped by the collapse
   wrappers' overflow:hidden). Coral marks the active place, matching the primary action. */
.sb-item.is-on { box-shadow:inset 3px 0 0 var(--coral-rail); }
.sb-item:focus-visible { outline:2px solid var(--sky); outline-offset:-2px; } /* inset: an outset ring would be clipped */
.app-col { flex:1; min-width:0; display:flex; flex-direction:column; }
.app-topbar { display:flex; align-items:center; gap:12px; position:sticky; top:0; z-index:1030;
  background:color-mix(in srgb,var(--paper) 90%,transparent); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border); padding:.5rem 22px; min-height:60px; }
.tb-date { font-size:.875rem; font-weight:600; color:var(--muted); white-space:nowrap; }
.tb-date::first-letter { text-transform:uppercase; }
.tb-spacer { flex:1; }
.tb-burger { display:none; border:1px solid var(--border-2); background:var(--surface); border-radius:var(--r-sm);
  width:38px; height:38px; font-size:1.15rem; color:var(--ink-2); cursor:pointer; align-items:center; justify-content:center; }
.tb-brand { display:none; align-items:center; }
.sb-scrim { position:fixed; inset:0; background:rgba(11,37,64,.5); z-index:1049; }
@media (max-width:900px) {
  .sb { position:fixed; left:0; top:0; bottom:0; z-index:1050; transform:translateX(-100%); transition:transform .2s ease; }
  body.sb-open .sb { transform:none; }
  .tb-burger { display:inline-flex; }
  .tb-brand { display:inline-flex; }
  .tb-date { display:none; }
}
@media (prefers-reduced-motion:reduce) { .sb, .sb-gwrap, .sb-more, .sb-ghead .sb-chev { transition:none; } }
.lang-toggle { display:inline-flex; border:1px solid var(--border-2); border-radius:var(--r-pill); overflow:hidden; }
.lang-btn { border:0; background:var(--surface); color:var(--muted); font-weight:600; font-size:.8rem; padding:.3rem .7rem; cursor:pointer; }
.lang-btn.is-on { background:var(--blue-on); color:#fff; }

/* full width so the page's own .container centres on the SAME measure as the header */
.app-main { width:100%; }
/* ATLÂNTICO QUENTE page head: a deep-ocean gradient banner carrying the gold eyebrow, a solid 700
   white title and the page's actions. One quiet wave at its foot; no sun. */
.page-head { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:1rem 1.25rem; margin-bottom:1.25rem; background:var(--grad-ocean-head); border-radius:var(--r-lg);
  padding:1.3rem 1.5rem 1.45rem; color:#fff; box-shadow:var(--sh-card); }
.page-head > * { position:relative; z-index:1; }
.page-head h1 { font-family:var(--font-display); font-weight:700; letter-spacing:-.02em; line-height:1.1;
  font-size:clamp(1.6rem, 1.2rem + 1.4vw, 2rem); color:#fff; margin:0; }
.page-head::after { content:""; position:absolute; left:0; right:0; bottom:0; height:44px; pointer-events:none; z-index:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 920 60' preserveAspectRatio='none'%3E%3Cpath d='M0 34 C 150 12, 300 56, 460 32 S 770 10, 920 30 L920 60 L0 60 Z' fill='rgba(255,255,255,.07)'/%3E%3C/svg%3E") no-repeat bottom center/100% 100%; }
.page-head::before { content:none; }
/* eyebrows: gold on the ocean banner, gold-ink on paper */
.eyebrow { font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-ink); margin-bottom:6px; }
.page-head .eyebrow { color:var(--gold); }
.section-kicker { color:var(--gold-ink); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
/* controls sitting inside the banner need light treatment (the banner is dark) */
.page-head .btn--ghost { background:transparent; border-color:rgba(255,255,255,.5); color:#fff; }
.page-head .btn--ghost:hover { background:rgba(255,255,255,.14); border-color:#fff; }
.page-head .btn--primary { box-shadow:0 8px 20px rgba(0,0,0,.22); }
.page-head .text-muted, .page-head p { color:#D5E6F3!important; }
.page-head p { margin:.3rem 0 0; font-size:.9375rem; }
.page-head a:not(.btn) { color:#fff; }

/* spinner used by the Adicionar Pedido submit + Salas modal (was undefined → blank loaders) */
.spin { display:inline-block; width:1.1em; height:1.1em; border:2px solid currentColor; border-right-color:transparent;
  border-radius:50%; animation:spin .7s linear infinite; vertical-align:-2px; }
@keyframes spin { to { transform:rotate(360deg); } }

/* topbar identity pill must never overflow a phone viewport */
.app-acct { max-width:44vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* staff identity: ocean avatar circle with gold initials inside the paper pill */
.acct-avatar { width:24px; height:24px; border-radius:50%; background:var(--navy); color:var(--gold);
  font-size:.6rem; font-weight:700; letter-spacing:.05em; display:inline-flex; align-items:center;
  justify-content:center; flex:none; }
.app-acct--id { padding-left:.35rem; }

/* ---- Cards ---- */
/* level-1 cards: white sheets with a warm hairline and the single soft --sh-card elevation */
.card-elevated { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--sh-card); }
.table-wrap { overflow:hidden; }

/* ---- Auth ---- */
.auth-wrap { min-height:100vh; display:grid; place-items:center; padding:1.5rem; }
.auth-card { width:100%; max-width:380px; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-lg); box-shadow:var(--sh-lg); padding:2rem 1.75rem; display:flex; flex-direction:column; gap:1rem; }
.auth-logo { align-self:center; }
.auth-title { text-align:center; font-size:1.6rem; margin:0; color:var(--deep); font-family:var(--font-display); font-weight:700; letter-spacing:-.015em; }
.auth-error { background:var(--danger-soft); color:var(--danger); border:1px solid #F5C2C2;
  border-radius:var(--r-sm); padding:.6rem .75rem; font-size:.875rem; margin:0; }

/* ---- Fields ---- */
.field { display:flex; flex-direction:column; gap:.3rem; }
.field__label { font-size:.8rem; font-weight:600; color:var(--ink-2); }
.input,.select,.count-input,.stepper__input { width:100%; font:inherit; color:var(--ink); background:var(--surface);
  border:1.5px solid var(--border-2); border-radius:var(--r-sm); padding:.5rem .7rem; transition:border-color .15s,box-shadow .15s; }
.input:focus,.select:focus,.count-input:focus,.stepper__input:focus { outline:none; border-color:var(--tryp-blue); box-shadow:0 0 0 4px var(--ring); }
.select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237C8795' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .7rem center; padding-right:2rem; }

/* ---- Table + responsive reflow ---- */
/* Costa · Alta Legibilidade: bigger, darker table text; a 3px sand rule under the header. */
.table.req-table { width:100%; margin:0; border-collapse:collapse; font-size:.9375rem;
  font-variant-numeric:tabular-nums; }
.req-table thead th { text-align:left; text-transform:uppercase; letter-spacing:.09em; font-size:.6875rem; font-weight:800;
  color:var(--muted); background:var(--surface-2); padding:.8rem .8rem .7rem; border-bottom:2px solid var(--border-2); }
.req-table td { padding:.85rem .8rem; border-bottom:1px solid var(--border); vertical-align:middle;
  color:var(--ink-2); }
.request-group-name { display:block; color:var(--deep); font-weight:750; }
.request-alternative-list { display:grid; gap:.25rem; margin-top:.38rem; }
.request-alternative-date { display:flex; align-items:center; gap:.25rem; width:max-content; max-width:100%; padding:.25rem .48rem;
  border:1px solid var(--success-border); border-radius:var(--r-pill); background:var(--success-soft); color:var(--success-ink); font-size:.7rem; line-height:1.25; }
.request-alternative-date i { flex:none; }
.request-alternative-date b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.req-table tbody tr:hover td { background:var(--surface-2); }
.req-table tbody tr:last-child td { border-bottom:0; }
.req-table .num { text-align:right; }
.empty-row td { text-align:center; color:var(--muted); padding:2rem 1rem; }

/* Costa dot-pills, enlarged for legibility: soft tint + 1.5px outline in the status hue + ink text. */
/* Atlântico status pills: soft status tint, status-ink text and a leading status dot (sentence case). */
.badge { display:inline-flex; align-items:center; gap:.4rem; font-size:.78rem; font-weight:800; padding:.26rem .7rem; border-radius:var(--r-pill);
  background:var(--gray-100); color:var(--ink-2); border:0; text-transform:none; letter-spacing:0; white-space:nowrap; line-height:1.25; }
.badge::before { content:""; flex:none; width:7px; height:7px; border-radius:50%; background:var(--st-dot,currentColor); }
.badge--submitted,.badge--under_review { background:var(--pend-soft); color:var(--pend-ink); --st-dot:var(--pend); }
.badge--accepted { background:var(--warning-soft); color:var(--warning-ink); --st-dot:var(--warning); }
.badge--pre_reserved { background:var(--orange-soft); color:var(--orange-ink); --st-dot:var(--orange); }
.badge--confirmed { background:var(--success-soft); color:var(--success-ink); --st-dot:var(--success); }
.badge--rejected,.badge--expired { background:var(--danger-soft); color:var(--danger); --st-dot:var(--danger); }
.badge--draft,.badge--cancelled { background:var(--cancel-soft); color:var(--cancel-ink); --st-dot:var(--cancel); }
.chip { font-size:.72rem; font-weight:600; padding:.2rem .5rem; border-radius:var(--r-sm); background:var(--gray-100); color:var(--ink-2); }
.chip--tour_series { background:var(--blue-soft-2); color:var(--tryp-blue-700); }

@media (max-width:768px) {
  .req-table thead { display:none; }
  .req-table, .req-table tbody, .req-table tr, .req-table td { display:block; width:100%; }
  .req-table tr { border-bottom:8px solid var(--gray-100); padding:.3rem 0; }
  .req-table td { display:flex; justify-content:space-between; gap:1rem; border:0; padding:.4rem .85rem; text-align:right; }
  .req-table td::before { content:attr(data-label); font-weight:600; color:var(--muted); text-align:left; }
  .empty-row td::before { content:""; }
}

/* ---- Numeric stepper (top + bottom) ---- */
.stepper--v { display:flex; flex-direction:column; align-items:center; gap:.4rem; }
.stepper__btn { width:2.4rem; height:2.4rem; border-radius:var(--r-md); border:1px solid var(--border-2);
  background:var(--surface); font-size:1.2rem; font-weight:700; color:var(--tryp-blue-700); cursor:pointer; line-height:1; }
.stepper__btn:hover { background:var(--blue-soft); }
.stepper__btn[disabled] { opacity:.4; cursor:not-allowed; }
.stepper__input { text-align:center; max-width:4.5rem; font-weight:700; -moz-appearance:textfield; }
.nights-col { display:flex; flex-direction:column; align-items:center; }

/* ---- Room count grid ---- */
.count-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; }
.count-tile { display:flex; flex-direction:column; gap:.25rem; font-size:.78rem; color:var(--ink-2); margin:0; }
.count-total { background:var(--blue-soft); border:1px solid var(--blue-soft-2); border-radius:var(--r-sm);
  padding:.4rem .5rem; justify-content:center; }
.count-total strong { font-size:1.25rem; color:var(--tryp-blue-700); }
@media (max-width:575px){ .count-grid { grid-template-columns:repeat(2,1fr); } }

/* ---- Summary box ---- */
.summary { background:var(--blue-tint); border:1px dashed var(--blue-soft-2); border-radius:var(--r-sm);
  padding:.6rem .75rem; min-height:2.6rem; color:var(--ink-2); font-size:.875rem; }

/* ---- Calendar (modal date pickers) ---- */
.cal { border:1px solid var(--border-2); border-radius:var(--r-md); padding:.5rem; background:var(--surface); }
.cal__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:.4rem; }
.cal__title { font-weight:600; font-size:.85rem; color:var(--ink-2); text-transform:capitalize; }
.cal__nav { border:1px solid var(--border-2); background:var(--surface); border-radius:6px; width:1.7rem; height:1.7rem; cursor:pointer; color:var(--ink-2); line-height:1; }
.cal__nav:hover { background:var(--gray-100); }
.cal__grid { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.cal__dow { text-align:center; font-size:.65rem; color:var(--muted); padding:.2rem 0; }
.cal__day { border:0; background:transparent; border-radius:6px; aspect-ratio:1; cursor:pointer; font-size:.8rem; color:var(--ink); padding:0; }
.cal__day:hover { background:var(--blue-soft); }
.cal__day.is-empty { visibility:hidden; }
.cal__day.is-today { outline:1px dashed var(--blue-on); }
.cal__day.is-sel { background:var(--tryp-blue); color:#fff; font-weight:700; }
.cal__day.is-range { background:var(--blue-soft-2); }
.cal__day[disabled] { color:var(--gray-300); cursor:not-allowed; background:transparent; }

/* ===== Phase 2: availability calendar ===== */
.seg-toggle { display:inline-flex; border:1px solid var(--border-2); border-radius:var(--r-pill); overflow:hidden; }
.seg-btn { border:0; background:var(--surface); color:var(--muted); font-weight:600; font-size:.8rem; padding:.4rem .9rem; cursor:pointer; }
.seg-btn.is-on { background:var(--blue-on); color:#fff; }

.avail-controls { display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; margin-bottom:.75rem; }
.month-nav { display:flex; align-items:center; gap:.5rem; }
.month-label { font-weight:700; text-transform:capitalize; min-width:8rem; text-align:center; }
.range-pills { display:flex; gap:.35rem; }
.range-pill { border:1px solid var(--border-2); background:var(--surface); border-radius:var(--r-pill); padding:.3rem .8rem; font-weight:600; font-size:.85rem; cursor:pointer; color:var(--ink-2); }
.range-pill.is-on { background:var(--blue-on); border-color:var(--blue-on); color:#fff; }
.day-arrows { display:flex; gap:.25rem; }

.tl { overflow-x:auto; border:1px solid var(--border); border-radius:var(--r-md); }
.trow { display:flex; align-items:stretch; min-width:max-content; border-bottom:1px solid var(--gray-100); }
.trow:last-child { border-bottom:0; }
.tlabel { flex:0 0 150px; width:150px; padding:.4rem .6rem; font-size:.78rem; font-weight:600; color:var(--ink-2);
  background:var(--gray-50); border-right:1px solid var(--border); display:flex; align-items:center; gap:.4rem;
  position:sticky; left:0; z-index:1; }
.tcells { flex:1 1 auto; display:flex; min-width:0; }
.tcell { flex:1 0 40px; min-width:40px; text-align:center; padding:.3rem 0; font-size:.8rem; border-right:1px solid var(--gray-100); }
.tcell:last-child { border-right:0; }
.day-h { display:flex; flex-direction:column; line-height:1.1; color:var(--ink-2); font-weight:600; }
.day-h .d-mon { font-size:.6rem; color:var(--muted); text-transform:uppercase; }
.day-h.is-today { background:var(--surface); box-shadow:inset 0 2px 0 var(--tryp-blue); color:var(--deep-ink); } /* Costa: blue today-cap */
.day-h .d-num { font-family:var(--font-display); font-weight:400; font-variant-numeric:tabular-nums; font-size:.95rem; line-height:1.1; }
.day-h.is-weekend { background:var(--gray-100); }
.tl-head { background:var(--surface); }
.tcell.num { color:var(--ink); font-variant-numeric:tabular-nums; }
.cell-pre { background:var(--orange-soft); color:var(--orange-ink); font-weight:600; }
.cell-delta--up { color:var(--success); font-weight:700; }
.cell-delta--down { color:var(--danger); font-weight:700; }
.cell-delta--flat { color:var(--gray-400); }

.tl-section { border-top:2px solid var(--border); }
.tl-sec-head { font-size:.72rem; font-weight:700; letter-spacing:.05em; color:var(--muted); padding:.5rem .6rem .2rem; }
.tl-track { position:relative; }
.grp-label { font-size:.78rem; }
.grp-label .ag, .ag { display:inline-block; background:var(--tryp-blue-700); color:#fff; font-size:.66rem; font-weight:800; letter-spacing:.03em; padding:.08rem .35rem; border-radius:5px; margin-right:.2rem; }
.grp-bar { position:absolute; top:4px; bottom:4px; border-radius:var(--r-md); display:flex; align-items:center;
  padding:0 .5rem; overflow:hidden; box-shadow:var(--sh-sm); min-width:3px; }
.grp-bar__txt { font-size:.72rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#fff; }
.status--submitted { background:var(--pend); }
.status--accepted { background:var(--warning); }
.status--under_review { background:var(--warning); }
.status--pre_reserved { background:var(--orange); } /* aligned with the badge ladder (terracota) 2026-07-02 */
.status--confirmed { background:var(--success); }
.status--rejected,.status--cancelled,.status--expired { background:var(--gray-400); }
.status--draft { background:var(--gray-300); }
.status--draft .grp-bar__txt { color:var(--ink-2); }
.tl-empty { padding:.8rem .6rem; color:var(--muted); font-size:.85rem; }

.sala-label { flex-direction:column; align-items:flex-start; gap:.1rem; justify-content:center; }
.sala-cap { font-size:.66rem; color:var(--muted); font-weight:500; display:flex; align-items:center; gap:.2rem; }
.sala-cell { padding:0; display:flex; align-items:center; justify-content:center; }
.sala-cell.sala--free { background:var(--gray-50); }
.sala-cell.sala--red { background:var(--danger-soft); position:relative; }
.sala-cell.sala--red::after { content:""; position:absolute; inset:28%; background:var(--danger); border-radius:2px; }
.sala-cell.sala--green { background:var(--success-soft); color:var(--success); font-size:.7rem; font-weight:700; }
.sala-cell.sala--green::after { content:"\2713"; }
.ico-chair { vertical-align:-2px; }
.is-loading { opacity:.55; pointer-events:none; }

/* ---- Evolução da Disponibilidade ---- */
.evo-controls { justify-content:center; gap:1rem; }
.evo-month { position:relative; }
.evo-month-btn { display:inline-flex; align-items:center; gap:.3rem; background:none; border:0; font-weight:700;
  text-transform:capitalize; color:var(--ink); cursor:pointer; padding:.2rem .5rem; border-radius:var(--r-sm); }
.evo-month-btn:hover { background:var(--blue-soft); }
.evo-month-menu { position:absolute; top:100%; left:50%; transform:translateX(-50%); margin-top:.25rem; z-index:30;
  list-style:none; padding:.3rem; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md);
  box-shadow:var(--sh-lg); min-width:170px; max-height:280px; overflow:auto; }
.evo-month-item { display:block; width:100%; text-align:left; background:none; border:0; padding:.35rem .6rem;
  border-radius:var(--r-sm); font-size:.85rem; text-transform:capitalize; color:var(--ink-2); cursor:pointer; }
.evo-month-item:hover { background:var(--blue-soft); color:var(--blue-ink); }
.evo-month-item.is-cur { font-weight:700; color:var(--tryp-blue); }
.evo-tl .tlabel { display:flex; flex-direction:column; justify-content:center; line-height:1.15; }
.evo-tl .tlabel small { font-weight:500; color:var(--muted); }
.evo-tl .tcell { box-sizing:border-box; flex:0 0 72px; width:72px; min-width:72px; }
.evo-tl .tcell.is-weekend { background:var(--gray-100); }
.evo-tl .evo-bigrow .tcell.is-weekend { background:var(--blue-soft-2); }
.evo-cell { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:1px;
  padding:.25rem 2px; cursor:default; }
.evo-cell[data-series] { cursor:pointer; }
.evo-cell[data-series]:hover { background:var(--blue-tint); }
.evo-spark { width:100%; height:22px; color:var(--blue-on); display:block; }
.evo-delta { font-size:.82rem; font-weight:700; font-variant-numeric:tabular-nums; line-height:1; }
.evo-cur { font-size:.62rem; color:var(--muted); font-variant-numeric:tabular-nums; line-height:1; }
.evo-up .evo-delta { color:var(--success); }
.evo-down .evo-delta { color:var(--danger); }
.evo-flat .evo-delta { color:var(--gray-400); }
.evo-empty, .evo-na { color:var(--gray-300); }
.evo-legend { margin-top:.5rem; font-size:.72rem; color:var(--muted); text-align:center; }
.evo-legend .evo-up { color:var(--success); }
.evo-legend .evo-down { color:var(--danger); }
.evo-pop { position:fixed; z-index:1080; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-md); box-shadow:var(--sh-lg); padding:.6rem .7rem; pointer-events:none; }
.evo-pop__title { font-size:.8rem; font-weight:700; color:var(--ink); margin-bottom:.3rem; }
.evo-pop__grid { stroke:var(--gray-100); stroke-width:1; }
.evo-pop__ylab, .evo-pop__xlab { fill:var(--muted); font-size:9px; }
.evo-pop__line { stroke:var(--tryp-blue); stroke-width:2; }
.evo-pop__dot { fill:var(--tryp-blue); }
.evo-pop__last { fill:var(--ink); font-size:11px; font-weight:700; }
/* period pickup graph card + per-day big numbers */
.evo-calcard, .evo-graphcard { margin-top:16px; }
.evo-change-card{overflow:hidden;margin-top:16px}.evo-change-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--border);background:var(--paper-2)}.evo-change-card h2{margin:.12rem 0 0;color:var(--deep);font:700 1rem var(--font-display)}.evo-change-card header p{margin:.18rem 0 0;color:var(--muted);font-size:.68rem}.evo-change-total{display:grid;place-items:center;min-width:42px;height:42px;border-radius:50%;background:var(--blue-soft);color:var(--blue-on);font-weight:800}.evo-change-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:.5rem;padding:.8rem}.evo-change-list article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .55rem;padding:.58rem .65rem;border:1px solid var(--border);border-left:4px solid var(--success);border-radius:var(--r-sm);background:var(--surface)}.evo-change-list article.is-down{border-left-color:var(--danger)}.evo-change-list time{grid-row:1/3;color:var(--muted);font-size:.7rem;font-weight:800}.evo-change-list strong{color:var(--success-ink);font-size:.8rem}.evo-change-list .is-down strong{color:var(--danger)}.evo-change-list span{display:flex;gap:.3rem;flex-wrap:wrap}.evo-change-list span i{padding:.13rem .3rem;border-radius:var(--r-pill);background:var(--gray-100);color:var(--muted);font-size:.6rem;font-style:normal}.evo-change-empty{display:flex;align-items:center;gap:.45rem;padding:1rem;color:var(--muted);font-size:.75rem}.evo-change-empty i{color:var(--success);font-size:1.1rem}
.evo-daycard-head { display:flex; align-items:baseline; justify-content:space-between; gap:.75rem;
  margin-bottom:.65rem; }
.evo-daycard-head strong { color:var(--ink); font-size:.9rem; }
.evo-daycard-head small { color:var(--muted); font-size:.72rem; text-align:right; }
.evo-tl .tcell.is-month-start { border-left:3px solid var(--sand-2); }
.evo-graphhead { font-size:.85rem; font-weight:700; color:var(--ink); margin-bottom:.5rem; }
.evo-graphhead small { font-weight:500; color:var(--muted); }
.evo-bigchart { width:100%; }
.evo-bigchart svg { width:100%; height:auto; display:block; }
.evo-biglegend { display:flex; flex-wrap:wrap; gap:.45rem 1.2rem; justify-content:center; font-size:.78rem; margin-top:.35rem; }
.evo-lg--rooms { color:var(--tryp-blue); font-weight:600; }
.evo-lg--rooms2 { color:var(--blue-on); font-weight:600; }
.evo-lg--arr { color:var(--orange); font-weight:600; }
.evo-lg--arr2 { color:var(--orange-2); font-weight:600; }
.evo-lg--previous-blue { color:#69bce8; font-weight:600; }
.evo-lg--previous-magenta { color:#d78bc7; font-weight:600; }
.evo-bignum { font-size:1.15rem; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums;
  display:flex; align-items:center; justify-content:center; padding:.35rem 0; }
.evo-bigrow { background:var(--blue-tint); }
.evo-bigrow .tlabel { font-weight:700; color:var(--ink); }
.evo-bc-grid { stroke:var(--gray-100); stroke-width:1; }
.evo-bc-rooms { stroke:var(--tryp-blue); }
.evo-bc-rooms2 { stroke:var(--blue-on); }
.evo-bc-arr { stroke:var(--orange); }
.evo-bc-arr2 { stroke:var(--orange-2); }
.evo-bc-previous-blue { stroke:#69bce8; stroke-dasharray:6 4; }
.evo-bc-previous-magenta { stroke:#d78bc7; stroke-dasharray:6 4; }
.evo-bc-roomsdot { fill:var(--tryp-blue); }
.evo-bc-rooms2dot { fill:var(--blue-on); }
.evo-bc-arrdot { fill:var(--orange); }
.evo-bc-arr2dot { fill:var(--orange-2); }
.evo-bc-previous-bluedot { fill:#69bce8; }
.evo-bc-previous-magentadot { fill:#d78bc7; }
.evo-bc-lab { fill:var(--muted); font-size:10px; }
.evo-bc-xlab { fill:var(--ink-2); font-size:10px; font-weight:600; }
.evo-bc-labr { fill:var(--tryp-blue); font-size:10px; }
.evo-bc-laba { fill:var(--orange-ink); font-size:10px; }
.evo-bc-titler { fill:var(--tryp-blue); font-size:11px; font-weight:700; }
.evo-bc-titlea { fill:var(--orange-ink); font-size:11px; font-weight:700; }
.evo-bc-vlabr { fill:var(--tryp-blue); font-size:11px; font-weight:700; }
.evo-bc-vlabr2 { fill:var(--blue-on); font-size:11px; font-weight:700; }
.evo-bc-vlaba { fill:var(--orange-ink); font-size:11px; font-weight:700; }
.evo-bc-vlaba2 { fill:var(--orange); font-size:11px; font-weight:700; }
.evo-bc-vlab-previous-blue { fill:#4b9dca; font-size:11px; font-weight:700; }
.evo-bc-vlab-previous-magenta { fill:#b967a7; font-size:11px; font-weight:700; }
.evo-bc-hit { cursor:pointer; }
@media(max-width:700px){.evo-daycard-head{align-items:flex-start;flex-direction:column}.evo-daycard-head small{text-align:left}.evo-biglegend{justify-content:flex-start}}
/* long-range individual pickup chart + depth toggle (N-50 / N-100 / N-150) */
.evo-deepchart { width:100%; }
.evo-deepchart svg { width:100%; height:auto; display:block; }
.evo-deepbtns { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.6rem; }
.evo-deepbtn { border:1px solid var(--border-2); background:var(--surface); color:var(--ink-2);
  font-size:.78rem; font-weight:600; padding:.3rem .8rem; border-radius:var(--r-pill); cursor:pointer;
  transition:background .12s, color .12s, border-color .12s; }
.evo-deepbtn:hover { border-color:var(--blue-on); color:var(--blue-on); }
.evo-deepbtn.is-on { background:var(--blue-on); border-color:var(--blue-on); color:var(--surface); }
.evo-deepbtn:focus-visible { outline:none; box-shadow:0 0 0 4px var(--ring); }
.evo-tip { position:fixed; z-index:1090; background:var(--ink); color:var(--surface); font-size:.74rem;
  font-weight:600; padding:.26rem .5rem; border-radius:var(--r-sm); pointer-events:none; white-space:nowrap;
  box-shadow:var(--sh-md); }
/* clickable day header → day-detail modal */
.evo-dayhdr { cursor:pointer; }
.evo-dayhdr:hover { background:var(--blue-soft); }
.evo-modal { position:fixed; inset:0; z-index:1100; display:flex; align-items:center; justify-content:center; }
.evo-modal__backdrop { position:absolute; inset:0; background:rgba(16,24,39,.45); }
.evo-modal__card { position:relative; background:var(--surface); border-radius:var(--r-lg); box-shadow:var(--sh-lg);
  width:min(92vw,340px); padding:18px 20px; }
.evo-modal__x { position:absolute; top:8px; right:10px; border:0; background:none; font-size:1.4rem; line-height:1;
  color:var(--muted); cursor:pointer; }
.evo-modal__title { font-size:1rem; font-weight:700; color:var(--ink); margin-bottom:.6rem; }
.evo-dl__row { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.28rem 0;
  font-size:.86rem; }
.evo-dl__row span { color:var(--muted); }
.evo-dl__row b { color:var(--ink); font-variant-numeric:tabular-nums; text-align:right; }
.evo-dl__sep { height:1px; background:var(--border); margin:.35rem 0; }

/* ---- salas picker (per request) ---- */
.pick-room { margin-bottom:1rem; }
.pick-room__head { margin-bottom:.4rem; }
.pick-days { display:flex; flex-wrap:wrap; gap:.35rem; }
.pick-day { cursor:pointer; margin:0; }
.pick-day input { position:absolute; opacity:0; width:0; height:0; }
.pick-day__lbl { display:flex; flex-direction:column; align-items:center; justify-content:center; width:2.6rem; height:2.6rem;
  border:1px solid var(--border-2); border-radius:var(--r-sm); font-size:.8rem; font-weight:600; line-height:1; color:var(--ink-2); background:var(--surface); }
.pick-day__lbl small { font-size:.58rem; color:var(--muted); text-transform:uppercase; }
.pick-day input:checked + .pick-day__lbl { background:var(--success); border-color:var(--success); color:#fff; }
.pick-day input:checked + .pick-day__lbl small { color:rgba(255,255,255,.85); }
.pick-day.is-taken .pick-day__lbl { background:var(--danger-soft); border-color:#f5c2c2; color:var(--danger); cursor:not-allowed; text-decoration:line-through; }

/* =========================================================================
   Phase 1 rework — Adicionar Pedido modal (progressive disclosure).
   Ported verbatim from the owner-approved mockup (/tmp/mockup.html); its hex
   values already match the §5.1 brand tokens above. Namespaced under .pf-*.
   ========================================================================= */
.pf-modal{color:#161C25;font-size:14px;line-height:1.45;}
#pedidoModal .modal-content.pf-modal{border:1px solid #E5EAF1;border-radius:14px;max-width:none;margin:0;
  display:flex;flex-direction:column;max-height:calc(100vh - 3.25rem);overflow:hidden;background:#fff;}
.pf-head{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;border-bottom:1px solid #E5EAF1;background:#fff;flex:none;}
.pf-head h2{margin:0;font-size:19px;font-weight:600;color:#161C25;letter-spacing:-.2px;}
.pf-head .pf-sub{margin:3px 0 0;font-size:13px;color:#64748B;font-weight:400;}
.pf-htxt{display:flex;align-items:center;gap:14px;}
.pf-hicon{width:42px;height:42px;border-radius:11px;background:#0167B1;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;}
.pf-x{width:34px;height:34px;border-radius:9px;border:1px solid #E5EAF1;background:#fff;color:#64748B;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;}
.pf-x:hover{background:#F1F5F9;}
.pf-body{padding:22px 26px;background:#F8FAFC;overflow-y:auto;flex:1 1 auto;}
.pf-step{position:relative;margin-bottom:18px;}
.pf-step:last-child{margin-bottom:0;}
.pf-step.is-locked{display:none;}
.pf-card{background:#fff;border:1px solid #E5EAF1;border-radius:12px;padding:18px 20px;}
.pf-card.pf-active{border-color:#B7D6EE;}
.pf-cardhd{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.pf-num{flex:none;width:24px;height:24px;border-radius:50%;background:#0167B1;color:#fff;font-size:12.5px;font-weight:600;display:flex;align-items:center;justify-content:center;}
.pf-cardhd h3{margin:0;font-size:15px;font-weight:600;color:#161C25;}
.pf-cardhd .pf-hint{margin-left:auto;font-size:11.5px;color:#64748B;background:#F1F5F9;border:1px solid #E5EAF1;padding:3px 9px;border-radius:20px;font-weight:500;}
.pf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.pf-field label{display:block;font-size:12.5px;font-weight:600;color:#64748B;margin-bottom:6px;letter-spacing:.2px;}
.pf-input{width:100%;height:40px;border:1px solid #E5EAF1;border-radius:9px;padding:0 13px;font-size:14px;color:#161C25;background:#fff;outline:none;}
.pf-input:focus{border-color:#2F8ED6;box-shadow:0 0 0 3px rgba(47,142,214,.15);}
.pf-input::placeholder{color:#94A3B8;}
.pf-toggle2{display:flex;border:1px solid #E5EAF1;border-radius:9px;overflow:hidden;height:40px;background:#F1F5F9;}
.pf-toggle2 button{flex:1;border:none;background:transparent;font-size:13.5px;font-weight:600;color:#64748B;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;}
.pf-toggle2 .pf-divider{flex:0 0 1px;align-self:center;height:22px;background:#E5EAF1;}
.pf-toggle2 button.pf-on{background:#0167B1;color:#fff;}
.pf-mid{font-size:11px;color:#94A3B8;text-align:left;margin-top:6px;font-style:italic;}
.pf-cal{border:1px solid #E5EAF1;border-radius:10px;background:#fff;overflow:hidden;}
.pf-callabel{font-size:12.5px;font-weight:600;color:#64748B;margin-bottom:6px;letter-spacing:.2px;}
.pf-calhd{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:#F8FAFC;border-bottom:1px solid #E5EAF1;font-size:13px;font-weight:600;color:#161C25;}
.pf-calhd .pf-nav{width:26px;height:26px;border-radius:7px;border:1px solid #E5EAF1;background:#fff;display:flex;align-items:center;justify-content:center;color:#64748B;font-size:13px;cursor:pointer;}
.pf-calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:8px;}
.pf-calgrid .pf-dow{font-size:10.5px;color:#94A3B8;text-align:center;font-weight:600;padding-bottom:3px;}
.pf-calgrid .pf-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12.5px;color:#161C25;border-radius:7px;cursor:pointer;border:0;background:transparent;padding:0;font-family:inherit;}
.pf-calgrid .pf-day.pf-muted{color:#CBD5E1;cursor:default;}
.pf-calgrid .pf-day.pf-range{background:var(--blue-soft);color:var(--blue-ink);}
.pf-calgrid .pf-day.pf-edge{background:var(--tryp-blue);color:#fff;font-weight:600;}
.pf-calgrid .pf-day:disabled{cursor:not-allowed;}
.pf-calgrid .pf-day:not(.pf-muted):not(.pf-edge):not(:disabled):hover{background:#E6F1FB;}
.pf-stepper-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:22px;}
.pf-stepper{display:flex;align-items:center;border:1px solid #E5EAF1;border-radius:10px;overflow:hidden;background:#fff;}
.pf-stepper button{width:42px;height:42px;border:none;background:#F1F5F9;font-size:20px;color:#0167B1;cursor:pointer;font-weight:500;}
.pf-stepper button:hover{background:#E5EAF1;}
.pf-stepper button:disabled{opacity:.4;cursor:not-allowed;}
.pf-stepper .pf-stepval{width:54px;text-align:center;font-size:21px;font-weight:700;color:#161C25;border:0;background:transparent;-moz-appearance:textfield;font-family:inherit;}
.pf-stepper .pf-stepval::-webkit-outer-spin-button,.pf-stepper .pf-stepval::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.pf-steplabel{font-size:12px;font-weight:600;color:#64748B;margin-bottom:8px;letter-spacing:.3px;}
.pf-cal3{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start;}
.pf-tblwrap{overflow-x:auto;border:1px solid #E5EAF1;border-radius:10px;}
.pf-tbl{border-collapse:separate;border-spacing:0;width:100%;min-width:560px;font-size:13px;}
.pf-tbl th,.pf-tbl td{padding:7px 6px;text-align:center;border-bottom:1px solid #F1F5F9;white-space:nowrap;vertical-align:middle;}
.pf-tbl thead th{background:#F8FAFC;border-bottom:1px solid #E5EAF1;height:46px;}
.pf-tbl .pf-rowlbl{text-align:left;font-weight:600;color:#161C25;background:#fff;position:sticky;left:0;padding-left:14px;min-width:118px;border-right:1px solid #F1F5F9;z-index:1;}
.pf-tbl thead .pf-rowlbl{background:#F8FAFC;color:#64748B;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.pf-daychip{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:42px;height:38px;border-radius:8px;background:#E6F1FB;border:1px solid #B5D4F4;margin:0 auto;}
.pf-daychip b{font-size:14px;font-weight:700;color:#0167B1;line-height:1;}
.pf-daychip span{font-size:8.5px;font-weight:700;color:#2F8ED6;text-transform:uppercase;letter-spacing:.4px;margin-top:2px;}
.pf-tbl tbody tr:last-child td{border-bottom:none;}
.pf-cellinput{width:46px;height:32px;border:1px solid #E5EAF1;border-radius:7px;text-align:center;font-size:13px;font-weight:600;color:#161C25;background:#fff;outline:none;-moz-appearance:textfield;font-family:inherit;}
.pf-cellinput::-webkit-outer-spin-button,.pf-cellinput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.pf-cellinput:focus{border-color:#2F8ED6;box-shadow:0 0 0 2px rgba(47,142,214,.15);}
.pf-cellinput.pf-zero{color:#94A3B8;font-weight:400;background:#FCFDFE;}
.pf-seg3{display:inline-flex;border:1px solid #E5EAF1;border-radius:7px;overflow:hidden;background:#F1F5F9;}
.pf-seg3 span{font-size:10.5px;font-weight:700;padding:5px 8px;color:#94A3B8;cursor:pointer;border-right:1px solid #E5EAF1;}
.pf-seg3 span:last-child{border-right:none;}
.pf-seg3 span.pf-pa{background:#0167B1;color:#fff;}
.pf-seg3 span.pf-mp{background:#E8851F;color:#fff;}
.pf-seg3 span.pf-fb{background:#15893C;color:#fff;}
.pf-bigtoggle{display:flex;gap:0;border:1px solid #E5EAF1;border-radius:11px;overflow:hidden;background:#F1F5F9;}
.pf-bigtoggle button{flex:1;border:none;background:transparent;padding:15px 14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:11px;font-size:14px;font-weight:600;color:#64748B;border-right:1px solid #E5EAF1;}
.pf-bigtoggle button:last-child{border-right:none;}
.pf-bigtoggle button.pf-on{background:#0167B1;color:#fff;}
.pf-bigtoggle button i{font-size:20px;}
.pf-bigtoggle button small{display:block;font-size:11px;font-weight:400;opacity:.85;margin-top:2px;}
.pf-bigtoggle button .pf-bt-txt{text-align:left;}
.pf-availcell{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;border-radius:7px;font-size:13px;border:1px solid transparent;cursor:pointer;padding:0;font-family:inherit;}
.pf-avail{background:var(--success-soft);color:var(--success);border-color:var(--success-border);}
.pf-notavail{background:#FBEAEA;color:#C62828;border-color:#F1C9C9;cursor:not-allowed;}
.pf-availcell.pf-sel{background:var(--tryp-blue);color:#fff;border-color:var(--tryp-blue);box-shadow:0 0 0 2px var(--ring);}
.pf-roomname{text-align:left!important;font-weight:600;cursor:help;}
.pf-roomname span{border-bottom:1px dotted #94A3B8;}
.pf-cbtoggle{position:relative;width:42px;height:23px;border-radius:20px;background:#CBD5E1;display:inline-block;cursor:pointer;vertical-align:middle;border:0;}
.pf-cbtoggle.pf-on{background:var(--success);}
.pf-cbtoggle:after{content:'';position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;transition:.15s;}
.pf-cbtoggle.pf-on:after{left:21px;}
.pf-receipt{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.pf-rcphd{background:var(--tryp-blue);color:#fff;padding:14px 20px;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;}
.pf-rcprow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid #F1F5F9;font-size:13.5px;}
.pf-rcprow .pf-rcplbl{color:#475569;display:flex;align-items:center;gap:8px;}
.pf-rcprow .pf-rcpval{font-weight:600;color:var(--ink);text-align:right;}
.pf-rcprow .pf-rcpcalc{color:#94A3B8;font-size:12px;font-weight:400;margin-left:6px;}
.pf-rcpsection{padding:8px 20px 6px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#94A3B8;background:#F8FAFC;border-bottom:1px solid #F1F5F9;}
.pf-pill{display:inline-block;font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;margin:2px 4px 2px 0;}
.pf-pill-mp{background:var(--orange-soft);color:var(--orange-ink);}
.pf-pill-fb{background:var(--success-soft);color:var(--success);}
.pf-pill-pa{background:var(--blue-soft);color:var(--blue-ink);}
.pf-pill-room{background:#F1F5F9;color:#475569;border:1px solid #E5EAF1;}
.pf-rcptotal{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#F8FAFC;}
.pf-rcptotal .pf-tlbl{font-size:13px;color:#64748B;font-weight:500;}
.pf-rcptotal .pf-tval{font-size:24px;font-weight:700;color:var(--tryp-blue);}
.pf-foot{display:flex;gap:14px;padding:20px 26px;background:var(--surface);border-top:1px solid var(--border);flex:none;}
.pf-btn{height:52px;border-radius:11px;border:none;font-size:15.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;}
.pf-btn i{font-size:19px;}
.pf-btn-green{background:var(--success);color:#fff;flex:2;}
.pf-btn-green:hover{background:#127334;}
.pf-btn-green:disabled{opacity:.5;cursor:not-allowed;}
.pf-btn-red{background:#fff;color:#C62828;border:1px solid #F1C9C9;flex:1;}
.pf-btn-red:hover{background:#FBEAEA;}
.pf-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:#64748B;margin-top:12px;align-items:center;}
.pf-legend .pf-lg{display:inline-flex;align-items:center;gap:6px;}
.pf-dot{width:11px;height:11px;border-radius:3px;display:inline-block;}
.pf-empty{color:#94A3B8;font-size:13px;font-style:italic;padding:6px 2px;}
/* Salas modal shares the brand chrome of the Adicionar Pedido modal (was raw Bootstrap) */
#salasModal .modal-content{border:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);}
#salasModal .modal-header{background:var(--tryp-blue);border-bottom:0;padding:16px 20px;}
#salasModal .modal-title{color:#fff;}
#salasModal .btn-close{filter:brightness(0) invert(1);opacity:.9;}
@media(max-width:760px){.pf-grid2{grid-template-columns:1fr;}.pf-cal3{grid-template-columns:1fr;}.pf-stepper-wrap{padding-top:0;}.pf-head,.pf-body,.pf-foot{padding-left:16px;padding-right:16px;}.pf-foot{flex-direction:column;}.pf-btn{width:100%;}}

/* ===== Phase 1 rework v2: rooms-per-day intro, total row, F&B meal control, priced receipt ===== */
.pf-roomintro{background:#F8FAFC;border:1px dashed #B7D6EE;border-radius:10px;padding:18px 20px;text-align:center;}
.pf-roomintro-q{display:block;font-size:15px;font-weight:600;color:#161C25;margin-bottom:12px;}
.pf-roomintro-row{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;}
.pf-roomintro-row .pf-input{max-width:160px;text-align:center;font-size:16px;font-weight:600;}
.pf-staff-agency{margin-bottom:16px;max-width:520px;}
.pf-totrow td{background:#EAF1FB;font-weight:700;}
.pf-totrow .pf-rowlbl{background:#dbe8f8;color:var(--blue-ink);}
.pf-totcell{color:var(--blue-ink);font-variant-numeric:tabular-nums;}

.pf-meal{display:flex;align-items:center;gap:6px;justify-content:center;}
.pf-meal-box{width:24px;height:24px;border-radius:6px;border:1px solid;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;background:transparent;padding:0;}
.pf-meal-box.pf-off{background:#FBEAEA;border-color:#F1C9C9;color:#C62828;}
.pf-meal-box.pf-on{background:var(--success-soft);border-color:var(--success-border);color:var(--success);}
.pf-meal-tog{display:inline-flex;border:1px solid #E5EAF1;border-radius:7px;overflow:hidden;background:#F1F5F9;}
.pf-meal-tog span{font-size:10px;font-weight:700;padding:4px 7px;color:#94A3B8;cursor:pointer;border-right:1px solid #E5EAF1;}
.pf-meal-tog span:last-child{border-right:none;}
.pf-meal-tog.pf-none{opacity:.65;}
.pf-meal-tog.pf-buffet span[data-val="buffet"]{background:var(--blue-on);color:#fff;}
.pf-meal-tog.pf-servido span[data-val="servido"]{background:#2F8ED6;color:#fff;}

.pf-rcptbl{width:100%;border-collapse:collapse;font-size:13.5px;}
.pf-rcptbl td{padding:9px 14px;border-bottom:1px solid #F1F5F9;vertical-align:middle;}
.pf-rcptbl td.pf-eur{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600;color:#161C25;}
.pf-rcptbl td.pf-rcp-q{color:#64748B;font-size:12.5px;white-space:nowrap;}
.pf-rcptbl small{color:#94A3B8;font-weight:400;}
.pf-rcp-colhd td{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#94A3B8;background:#fff;border-bottom:1px solid #E5EAF1;}
.pf-rcpsec td{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#475569;background:#F8FAFC;}
.pf-rcp-empty{color:#94A3B8;font-style:italic;}
.pf-incl{color:#15893C !important;font-weight:600;}
.pf-info{color:#94A3B8;cursor:help;vertical-align:-2px;}
.pf-rcptotal-row td{background:#F8FAFC;border-top:1px solid #E5EAF1;border-bottom:none;font-weight:600;color:#64748B;padding-top:14px;padding-bottom:14px;}
.pf-rcptotal-row .pf-tval{font-size:19px;font-weight:700;color:#0167B1;}

/* ===== Topbar account + account pages + repository scaffolds ===== */
.app-acct{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-pill);padding:.35rem .85rem;font-size:.85rem;font-weight:600;color:var(--gray-700);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;}
.app-acct:hover{background:var(--gray-100);}
.app-acct code{font-size:.72rem;color:#64748B;}
/* Agency account button = primary blue (matches + Adicionar Pedido). Menus are light paper since 2026-07-02. */
.app-acct--primary{background:var(--tryp-blue);border-color:var(--tryp-blue);color:#fff;}
.app-acct--primary:hover{background:var(--tryp-blue-600);}
.acct-menu__user{color:var(--navy);font-weight:700;font-size:.8rem;padding:.4rem .7rem;}
.dropdown-menu{border:1px solid var(--border);border-radius:11px;box-shadow:0 12px 28px rgba(16,24,39,.14);font-size:.9rem;padding:.4rem;min-width:240px;}
.dropdown-item{border-radius:7px;padding:.5rem .7rem;display:flex;align-items:center;gap:.55rem;color:#161C25;}
.dropdown-item .ti{color:#64748B;font-size:16px;}
.dropdown-item:hover{background:#F1F5F9;}
.dropdown-item:active{background:#0167B1;color:#fff;}
.dropdown-item:active .ti{color:#fff;}
.dropdown-menu form{margin:0;}
.dropdown-menu form .dropdown-item{width:100%;border:0;background:none;text-align:left;cursor:pointer;font:inherit;}
.acct-card{padding:22px 24px;}
.acct-card .pf-field{margin-bottom:14px;}
.acct-card .pf-input:disabled{background:#F1F5F9;color:#64748B;cursor:not-allowed;}
.acct-card hr{border:0;border-top:1px solid #E5EAF1;margin:18px 0;}
.acct-hint{font-size:12px;color:#64748B;display:block;margin-top:4px;}
.req{color:#C62828;}
.acct-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:500;}
.acct-ok{background:#E3F3E8;color:#15893C;border:1px solid #BFE5CB;}
.acct-err{background:#FBEAEA;color:#C62828;border:1px solid #F1C9C9;}

.empty-state{text-align:center;padding:56px 24px;color:#64748B;background:#fff;border:1px dashed #D3DAE3;border-radius:14px;}
.empty-state .ti{font-size:42px;color:#B5D4F4;display:block;margin-bottom:10px;}
.empty-state h2{font-size:18px;color:#161C25;margin:0 0 6px;font-weight:600;}
.empty-state p{max-width:560px;margin:0 auto;font-size:14px;line-height:1.6;}

.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.doc-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.doc-card__thumb{aspect-ratio:4/3;background:#F1F5F9;display:flex;align-items:center;justify-content:center;}
.doc-card__thumb img{width:100%;height:100%;object-fit:cover;}
.doc-card__body{padding:12px 14px;display:flex;flex-direction:column;gap:10px;}
.doc-card__name{font-weight:600;font-size:14px;color:#161C25;}

.album{margin-bottom:28px;}
.album__title{font-size:15px;font-weight:600;color:var(--ink);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.album__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.photo{position:relative;margin:0;border-radius:12px;overflow:hidden;background:#F1F5F9;aspect-ratio:3/2;}
.photo img{width:100%;height:100%;object-fit:cover;display:block;}
.photo__name{position:absolute;left:0;right:0;bottom:0;padding:6px 10px;font-size:12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6));}
.photo__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(16,24,39,.5);opacity:0;transition:opacity .15s;}
.photo:hover .photo__overlay{opacity:1;}
.photo__btn{display:inline-flex;align-items:center;gap:5px;background:#fff;color:#0167B1;border-radius:999px;padding:.3rem .8rem;font-size:12px;font-weight:700;text-decoration:none;}
.photo__btn:hover{background:#0167B1;color:#fff;}
.photo__btn button,.photo__overlay form{margin:0;}
.doc-ico{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:48px;}
.doc-ico--pdf{color:#C62828;}
.doc-ico--ppt{color:#E8851F;}
.album-upload{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.album-upload .pf-input{max-width:240px;}
.album-upload input[type=file]{max-width:300px;}

/* ===== Repository admin: library / groups / categorias (drag & drop) ===== */
.repo-card{margin-top:16px;padding:22px 24px;}
.repo-card .h6,.repo-upload .h6{font-size:15px;font-weight:600;margin:0 0 12px;}
.repo-search{display:grid;gap:6px;max-width:460px;margin-top:16px;color:var(--ink-2);font-size:12px;font-weight:700;}
.repo-search>span{display:flex;align-items:center;gap:6px;}
.repo-search .pf-input{width:100%;max-width:none;}
.repo-search-status{min-height:18px;margin:5px 0 0;}
.repo-empty{color:var(--muted);font-size:13px;font-style:italic;margin:0;}
.repo-newgroup{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.repo-newgroup .pf-input{max-width:320px;}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.lib-item{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;}
.lib-thumb{position:relative;aspect-ratio:4/3;background:var(--gray-100);display:flex;align-items:center;justify-content:center;cursor:grab;}
.lib-thumb img{width:100%;height:100%;object-fit:cover;}
.lib-thumb--doc img{object-fit:contain;background:#fff;}
.lib-thumb .doc-ico{font-size:42px;}
.st-row{position:absolute;left:4px;bottom:4px;display:flex;gap:4px;}
.st{font-size:9px;font-weight:700;line-height:1;padding:3px 5px;border-radius:5px;background:var(--danger);color:#fff;display:inline-flex;align-items:center;gap:2px;}
.st .ti{font-size:11px;}
.st.ok{background:var(--success);}
.lib-row{display:flex;align-items:center;gap:4px;padding:6px;}
.lib-category-action{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 12px);min-height:34px;margin:0 6px 6px;padding:.35rem .55rem;border:1px solid var(--blue-on);border-radius:var(--r-sm);background:var(--blue-soft);color:var(--blue-ink);font:inherit;font-size:11px;font-weight:800;cursor:pointer;}.lib-category-action:hover,.lib-category-action:focus-visible{border-color:var(--tryp-blue);background:var(--tryp-blue);color:var(--surface);outline:0;box-shadow:0 0 0 3px var(--ring);}
.lib-name,.group-name{flex:1;min-width:0;border:1px solid var(--border);border-radius:6px;padding:.3rem .4rem;font-size:12px;font-family:inherit;}
.diskette{border:0;background:none;cursor:pointer;font-size:16px;padding:2px;line-height:1;}
.diskette.is-clean{color:var(--success);}
.diskette.is-dirty{color:var(--danger);}
.lib-del,.group-del{border:0;background:none;cursor:pointer;color:var(--muted);padding:2px;}
.lib-del:hover,.group-del:hover{color:var(--danger);}
.group-card{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;background:#fff;}
.group-head{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--gray-100);background:var(--gray-50);border-radius:10px 10px 0 0;}
.drag-handle{cursor:grab;color:var(--muted);font-size:18px;display:inline-flex;}
.group-drop{min-height:64px;padding:8px;display:flex;flex-wrap:wrap;gap:8px;}
.group-drop.drag-over{background:var(--blue-soft);outline:2px dashed var(--blue-on);outline-offset:-4px;}
.group-item{position:relative;width:84px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;font-size:10px;}
.group-item img{width:84px;height:60px;object-fit:cover;display:block;}
.group-item--doc{display:flex;flex-direction:column;align-items:center;justify-content:center;height:84px;color:var(--tryp-blue);}
.group-item--doc .ti{font-size:26px;}
.group-item span{display:block;padding:3px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2);}
.gi-del{position:absolute;top:2px;right:2px;width:16px;height:16px;border:0;border-radius:50%;background:rgba(16,24,39,.6);color:#fff;font-size:12px;line-height:14px;cursor:pointer;padding:0;}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.cat-card{border:1px solid var(--border);border-radius:10px;background:#fff;}
.cat-title{font-size:13px;font-weight:600;margin:0;padding:8px 12px;border-bottom:1px solid var(--gray-100);background:var(--gray-50);border-radius:10px 10px 0 0;}
.cat-drop{min-height:60px;padding:10px;display:flex;flex-direction:column;gap:6px;}
.cat-drop.drag-over{background:var(--blue-soft);outline:2px dashed var(--blue-on);outline-offset:-4px;}
.cat-group{position:relative;display:flex;align-items:center;gap:6px;background:var(--blue-soft);color:var(--tryp-blue-800);border-radius:7px;padding:.35rem 1.5rem .35rem .6rem;font-size:12.5px;font-weight:600;}
.cg-del{position:absolute;right:6px;border:0;background:none;color:var(--tryp-blue-700);font-size:15px;cursor:pointer;padding:0;line-height:1;}
.has-repo-category-modal{overflow:hidden;}.repo-category-modal{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:20px;}.repo-category-modal[hidden]{display:none;}.repo-category-backdrop{position:absolute;inset:0;border:0;background:color-mix(in srgb,var(--deep) 64%,transparent);cursor:default;}.repo-category-modal>section{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--border-2);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-lg);}.repo-category-modal>section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border);background:var(--blue-tint);}.repo-category-kicker{color:var(--tryp-blue-700);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}.repo-category-modal h2{margin:3px 0 0;color:var(--deep);font-size:18px;}.repo-category-modal header p{margin:4px 0 0;color:var(--muted);font-size:12px;}.repo-category-close{display:grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);color:var(--deep);font-size:18px;cursor:pointer;}.repo-category-search{display:flex;align-items:center;gap:8px;margin:14px 16px 8px;padding:0 10px;border:1.5px solid var(--border-2);border-radius:var(--r-sm);background:var(--paper-2);color:var(--muted);}.repo-category-search:focus-within{border-color:var(--blue-on);box-shadow:0 0 0 3px var(--ring);}.repo-category-search input{width:100%;min-height:42px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;}.repo-category-list{display:grid;gap:7px;overflow:auto;padding:6px 16px 14px;}.repo-category-option{display:grid;grid-template-columns:20px 28px minmax(0,1fr);align-items:center;gap:9px;min-height:48px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);cursor:pointer;}.repo-category-option:hover{border-color:var(--blue-on);background:var(--blue-tint);}.repo-category-option:has(input:checked){border-color:var(--tryp-blue);background:var(--blue-soft);color:var(--deep);}.repo-category-option input{width:18px;height:18px;margin:0;accent-color:var(--tryp-blue);}.repo-category-option>i{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-sm);background:var(--paper-2);color:var(--blue-on);font-size:16px;}.repo-category-option>span{overflow:hidden;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;}.repo-category-empty{margin:4px 16px 14px;padding:16px;border:1px dashed var(--border-2);border-radius:var(--r-sm);color:var(--muted);font-size:12px;text-align:center;}.repo-category-modal footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--paper-2);}
@media(max-width:575px){.repo-category-modal{align-items:end;padding:0;}.repo-category-modal>section{width:100%;max-height:88vh;border-radius:var(--r-lg) var(--r-lg) 0 0;}.repo-category-modal footer .btn{flex:1;justify-content:center;}}

/* ===== Inbox + MICE signup (Phase 3 — internal message/approval system) ===== */
/* Semantic button variants (traffic-light approval actions + the light-blue signup CTA). */
.btn--success{background:var(--success);border-color:var(--success);color:#fff;}
.btn--success:hover{background:#127334;border-color:#127334;}
.btn--danger{background:var(--danger);border-color:var(--danger);color:#fff;}
.btn--danger:hover{filter:brightness(.93);}
.btn--warn{background:var(--warning);border-color:var(--warning);color:#fff;}
.btn--warn:hover{filter:brightness(.95);}
.btn--accent{background:var(--blue-on);border-color:var(--blue-on);color:#fff;}
.btn--accent:hover{background:var(--blue-on-hover);border-color:var(--blue-on-hover);}

/* Public signup card extras (login + /registar). */
.auth-card--wide{max-width:440px;}
.auth-sep{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.8rem;margin:.4rem 0;}
.auth-sep::before,.auth-sep::after{content:"";flex:1;height:1px;background:var(--border);}
.reg-sub{color:var(--muted);font-size:.9rem;margin:-.2rem 0 .4rem;text-align:center;}
.auth-sub{color:var(--muted);font-size:.9rem;line-height:1.55;margin:0 0 1rem;text-align:center;}
.auth-hint{color:var(--muted);font-size:.78rem;margin:-.3rem 0 .8rem;}
.auth-altlink{display:block;text-align:center;margin-top:1rem;font-size:.9rem;color:var(--tryp-blue);text-decoration:none;}
.auth-altlink:hover{text-decoration:underline;}
.auth-form{display:flex;flex-direction:column;gap:1rem;}
.auth-flags{display:flex;justify-content:center;gap:.55rem;}
.auth-flag{display:inline-flex;line-height:0;border:2px solid transparent;border-radius:5px;overflow:hidden;opacity:.45;transition:opacity .15s,border-color .15s;}
.auth-flag:hover{opacity:.8;}
.auth-flag.is-on{opacity:1;border-color:var(--tryp-blue);box-shadow:0 1px 4px rgba(16,24,39,.18);}
.auth-flag img{display:block;width:28px;height:auto;}
.reg-back{display:block;text-align:center;margin-top:.8rem;color:var(--tryp-blue);text-decoration:none;font-size:.88rem;}
.reg-back:hover{text-decoration:underline;}
.reg-thanks{text-align:center;}
.reg-thanks__ico{font-size:2.6rem;color:var(--success);}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

/* Header inbox button with two badge circles (red=priority, yellow=non-priority). */
.inbox-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border-2);color:var(--ink-2);text-decoration:none;}
.inbox-btn:hover{background:var(--gray-100);}
.inbox-btn .ti{font-size:1.2rem;}
.inbox-btn.has-pri{border-color:var(--danger);color:var(--danger);}
.inbox-badge{position:absolute;min-width:17px;height:17px;padding:0 4px;border-radius:var(--r-pill);font-size:.62rem;font-weight:700;color:#fff;display:inline-flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--surface);}
.inbox-badge--pri{background:var(--danger);top:-5px;right:-5px;}
.inbox-badge--non{background:var(--warning);top:-5px;right:13px;}

/* Outlook-style inbox list. */
.inbox-list{overflow:hidden;}
.inbox-row{border-bottom:1px solid var(--border);}
.inbox-row:last-child{border-bottom:0;}
.inbox-head{display:flex;align-items:center;gap:.7rem;width:100%;background:none;border:0;padding:.85rem 1.1rem;cursor:pointer;text-align:left;font:inherit;color:var(--ink);}
.inbox-head:hover{background:var(--gray-50);}
.inbox-row.is-unread{background:var(--blue-tint);}
.inbox-row.is-unread .inbox-from,.inbox-row.is-unread .inbox-title{font-weight:700;}
.inbox-dot{width:9px;height:9px;border-radius:50%;flex:none;}
.inbox-dot--pri{background:var(--danger);}
.inbox-dot--non{background:var(--warning);}
.inbox-from{flex:0 0 160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.inbox-title{flex:1;min-width:0;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.inbox-when{flex:none;color:var(--muted);font-size:.8rem;white-space:nowrap;}
.inbox-arrow{flex:none;color:var(--muted);transition:transform .15s;}
.inbox-row.is-open .inbox-arrow{transform:rotate(180deg);}
.inbox-tag{display:inline-block;background:var(--warning-soft);color:var(--warning);font-size:.68rem;font-weight:700;padding:.05rem .4rem;border-radius:var(--r-sm);}
.inbox-body{padding:0 1.1rem 1.1rem;}
.inbox-empty{padding:1.4rem;color:var(--muted);text-align:center;}

/* Expanded message / approval card. */
.msg-card{padding:1rem 1.1rem;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--r-md);}
.msg-meta{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.2rem;margin:0 0 1rem;}
.msg-meta>div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.msg-meta dt{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);}
.msg-meta dd{margin:0;color:var(--ink);word-break:break-word;}
.msg-handwritten{font-style:italic;}
.assign{margin-bottom:1rem;}
.assign-search{position:relative;max-width:420px;}
.assign-results{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:5;list-style:none;margin:0;padding:.25rem;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-md);box-shadow:var(--sh-md);max-height:240px;overflow:auto;}
.assign-results li{padding:.4rem .55rem;border-radius:var(--r-sm);cursor:pointer;font-size:.9rem;}
.assign-results li:hover,.assign-results li.is-active{background:var(--blue-soft);}
.assign-results li small{color:var(--muted);}
.domain-status{margin-top:.6rem;display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;}
.domain-status.ok{color:var(--success);}
.domain-status.bad{color:var(--danger);}
.domain-status .dsq{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--r-sm);flex:none;}
.domain-status.ok .dsq{background:var(--success-soft);color:var(--success);}
.domain-status.bad .dsq{background:var(--danger-soft);color:var(--danger);}
.msg-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem;}
.act-approve.is-struck{text-decoration:line-through;opacity:.45;pointer-events:none;}
.msg-readonly{color:var(--muted);font-size:.9rem;display:flex;align-items:center;gap:.4rem;margin:.3rem 0 0;}
.msg-body{white-space:pre-wrap;margin:0;color:var(--ink);}
.msg-sub{color:var(--muted);font-size:.85rem;margin:.5rem 0 0;}
@media(max-width:575px){
  .inbox-from{flex-basis:96px;}
  .inbox-when{display:none;}
  .msg-meta{grid-template-columns:1fr;}
}

/* ===== Agency & user management (Gerir Agências / Utilizadores) ===== */
.head-actions{display:flex;gap:.5rem;flex-wrap:wrap;}
.manage-search{position:relative;display:flex;align-items:center;margin:0 0 14px;max-width:460px;}
.manage-search .ti{position:absolute;left:12px;color:var(--muted);pointer-events:none;}
.manage-search .input{padding-left:36px;}
.manage-table .link-cell{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--tryp-blue);cursor:pointer;text-align:left;}
.manage-table .link-cell:hover{text-decoration:underline;}
.cell-sub{font-size:.78rem;color:var(--muted);margin-top:2px;}
.seg-chip{display:inline-block;background:var(--blue-soft);color:var(--blue-ink);font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:var(--r-sm);margin:0 .2rem .2rem 0;}
.icon-btn{border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);width:32px;height:32px;border-radius:var(--r-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.icon-btn:hover{background:var(--gray-100);}
.icon-btn--danger{color:var(--danger);}
.icon-btn--danger:hover{background:var(--danger-soft);}
.inline-form{display:inline;}
.seg-pick{display:flex;gap:.6rem;flex-wrap:wrap;}
.seg-opt{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border-2);border-radius:var(--r-pill);padding:.3rem .7rem;font-size:.85rem;cursor:pointer;}
.manage-role-tabs{margin:0 0 16px;overflow-x:auto;scrollbar-width:thin;}
.manage-role-tabs .nav-tabs{min-width:max-content;border-bottom:2px solid var(--border);gap:4px;}
.manage-role-tabs .nav-link{display:flex;align-items:center;gap:8px;margin:0;padding:.72rem 1rem;border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;color:var(--ink-2);background:transparent;font-size:.875rem;font-weight:800;}
.manage-role-tabs .nav-link:hover{color:var(--tryp-blue);background:var(--blue-tint);}
.manage-role-tabs .nav-link.active{color:var(--deep);border-bottom-color:var(--coral);background:var(--surface);}
.manage-role-tabs .nav-link span{min-width:24px;padding:.12rem .42rem;border-radius:var(--r-pill);color:var(--muted);background:var(--gray-100);font-size:.7rem;font-variant-numeric:tabular-nums;}
.manage-role-tabs .nav-link.active span{color:var(--tryp-blue-800);background:var(--blue-soft);}
.manage-role-panels>.tab-pane{outline:0;}
.role-scope{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:start;margin:0 0 14px;padding:14px 16px;border:1px solid #D8E4F0;border-left:4px solid var(--tryp-blue);border-radius:var(--r-md);background:var(--mare);}
.role-scope>i{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--tryp-blue-800);background:var(--surface);font-size:1.25rem;}
.role-scope strong{display:block;color:var(--deep-ink);font-size:.925rem;}
.role-scope p{max-width:920px;margin:3px 0 0;color:var(--ink-2);font-size:.825rem;line-height:1.55;}
.role-scope--readonly{border-left-color:var(--sand-ink);background:var(--paper-2);}
.role-scope--readonly>i{color:var(--sand-ink);}
.role-scope--admin{border-left-color:var(--coral);}
.role-scope--admin>i{color:var(--coral-deep);}
.user-state{display:inline-flex;align-items:center;gap:6px;color:var(--success);font-size:.75rem;font-weight:800;}
.user-state::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px var(--success-soft);}
.user-state.is-off{color:var(--muted);}
.user-state.is-off::before{box-shadow:0 0 0 3px var(--gray-100);}
.manage-table--staff td:first-child{font-weight:700;color:var(--deep-ink);}
.user-login{color:var(--tryp-blue-800);font-size:.8rem;font-weight:700;}
.account-state-toggle{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;}
.account-state-toggle input{position:absolute;opacity:0;width:1px;height:1px;}
.account-state-toggle__track{position:relative;display:block;width:38px;height:21px;border-radius:var(--r-pill);background:var(--gray-300);transition:background .15s;}
.account-state-toggle__track i{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:var(--surface);box-shadow:var(--sh-sm);transition:transform .15s;}
.account-state-toggle input:checked+.account-state-toggle__track{background:var(--success);}
.account-state-toggle input:checked+.account-state-toggle__track i{transform:translateX(17px);}
.account-state-toggle input:focus-visible+.account-state-toggle__track{outline:2px solid var(--blue-on);outline-offset:2px;}
.account-state-toggle strong{font-size:.875rem;color:var(--ink-2);}
.pf-label{display:block;margin-bottom:.35rem;color:var(--ink-2);font-size:.8rem;font-weight:700;}

/* Three-column agency/user association matrix. */
.user-matrix{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(250px,1fr) minmax(280px,1.2fr);gap:14px;align-items:stretch;}
.user-matrix__col{min-width:0;min-height:430px;padding:14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);}
.user-matrix__col h3{margin:0 0 11px;color:var(--deep-ink);font-family:var(--font-display);font-size:1rem;font-weight:700;}
.matrix-search{position:relative;display:flex;align-items:center;margin-bottom:10px;}
.matrix-search>.ti{position:absolute;left:11px;color:var(--muted);pointer-events:none;}
.matrix-search .input{width:100%;padding-left:34px;font-size:.9375rem;}
.matrix-list{display:flex;flex-direction:column;gap:7px;max-height:480px;overflow:auto;}
.matrix-agency,.matrix-user-row{width:100%;min-height:54px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink);}
.matrix-agency{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;text-align:left;cursor:pointer;}
.matrix-agency:hover{border-color:var(--blue-on);background:var(--blue-tint);}
.matrix-agency.is-selected{border:2px solid var(--blue-on);background:var(--blue-soft);color:var(--tryp-blue-800);}
.matrix-agency>span,.matrix-person{display:flex;min-width:0;flex-direction:column;gap:2px;}
.matrix-agency strong,.matrix-person strong{font-size:.9375rem;line-height:1.25;overflow-wrap:anywhere;}
.matrix-agency small,.matrix-person small{color:var(--muted);font-size:.8125rem;line-height:1.35;overflow-wrap:anywhere;}
.matrix-person em{font-style:normal;font-weight:800;color:var(--danger);}
.matrix-selection{min-height:38px;margin:0 0 10px;padding:8px 10px;border-radius:var(--r-md);background:var(--blue-soft);color:var(--tryp-blue-800);font-size:.875rem;font-weight:800;}
.matrix-user-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;}
.matrix-actions{display:inline-flex;align-items:center;gap:6px;flex:none;}
.matrix-action{display:inline-grid;width:31px;height:31px;place-items:center;border:0;border-radius:var(--r-md);cursor:pointer;}
.matrix-action--link{background:var(--success-soft);color:var(--success);}
.matrix-action--unlink{background:var(--danger-soft);color:var(--danger);}
.matrix-action:hover{filter:brightness(.96);}
.matrix-action:focus-visible{outline:2px solid var(--blue-on);outline-offset:2px;}
.matrix-linked-ok{color:var(--success);font-size:1.25rem;}
.matrix-move-warning{color:var(--warning);font-size:1.2rem;}
.matrix-empty{margin:10px 3px;color:var(--muted);font-size:.875rem;}
@media(max-width:575px){
  .manage-page .page-head{align-items:flex-start;}
  .manage-page .page-head .btn-add{width:100%;justify-content:center;}
  .role-scope{grid-template-columns:34px minmax(0,1fr);padding:12px;}
  .role-scope>i{width:32px;height:32px;font-size:1rem;}
}
@media(max-width:960px){.user-matrix{grid-template-columns:1fr;}.user-matrix__col{min-height:0}.matrix-list{max-height:330px}}
.audit-tag{display:inline-block;font-size:.72rem;font-weight:700;padding:.1rem .5rem;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.02em;}
.audit-tag--approved{background:var(--success-soft);color:var(--success);}
.audit-tag--rejected{background:var(--danger-soft);color:var(--danger);}
.audit-tag--escalated{background:var(--warning-soft);color:var(--warning);}

/* Agency detail drawer (slides in from the right). */
.modal-dialog-end{margin:0 0 0 auto;max-width:560px;}
.modal.fade .modal-dialog-end{transform:translateX(60px);transition:transform .22s ease-out;}
.modal.show .modal-dialog-end{transform:none;}
.modal-dialog-end .modal-content{min-height:100vh;border-radius:0;}
.member-list{display:flex;flex-direction:column;gap:.4rem;min-height:60px;border:1px dashed var(--border-2);border-radius:var(--r-md);padding:.6rem;}
.member-list.drag-over{background:var(--blue-soft);outline:2px dashed var(--blue-on);outline-offset:-4px;}
.member-card,.pool-card{display:flex;flex-direction:column;gap:1px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:.45rem .6rem;}
.member-card b,.pool-card b{font-size:.9rem;}
.member-card span,.pool-card span{font-size:.78rem;color:var(--muted);}
.pool-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;}
.pool-card{cursor:grab;}
.pool-card:active{cursor:grabbing;}
.member-empty{margin:0;}

/* group-lifecycle row actions */
.req-actions{white-space:normal;}
.req-actions .btn{margin:2px 0 2px 4px;}
.request-delete-cell{white-space:nowrap;}.root-delete-request{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:86px;}
.small-note{font-size:.8rem;white-space:nowrap;}

/* Todos os pedidos: a fixed, compact desktop grid keeps the right-hand actions inside the viewport. */
.requests-board{min-width:0;max-width:100%;}
.staff-requests-wrap{width:100%;max-width:100%;overflow-x:auto;}
.staff-request-table{table-layout:fixed;min-width:0;}
.staff-request-table col.staff-request-col-group{width:30%;}
.staff-request-table col.staff-request-col-stay{width:16%;}
.staff-request-table col.staff-request-col-volume{width:10%;}
.staff-request-table col.staff-request-col-coordinator{width:14%;}
.staff-request-table col.staff-request-col-status{width:14%;}
.staff-request-table col.staff-request-col-actions{width:16%;}
.staff-request-table th,.staff-request-table td{min-width:0;padding-left:.5rem;padding-right:.5rem;overflow-wrap:anywhere;}
.staff-request-table .request-status-badge{max-width:100%;white-space:nowrap;}
.rq-meta .request-arrival-label{font-size:inherit;font-weight:650;color:var(--ink-2);}
.staff-request-table .request-row-actions{flex-wrap:nowrap;gap:.3rem;}
.staff-request-table .request-row-action{width:32px;height:32px;min-width:32px;}
/* Atlântico board cells: stacked primary value + muted detail */
.staff-request-table td{vertical-align:middle;}
.staff-request-table .request-group-name{font-size:.9688rem;line-height:1.3;}
.rq-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .35rem;margin-top:.2rem;color:var(--muted);font-size:.8125rem;font-weight:500;}
.rq-meta .ag{margin-right:0;}
.rq-stay b,.rq-volume b{display:block;color:var(--ink);font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap;}
.rq-stay small,.rq-volume small{display:block;margin-top:.1rem;color:var(--muted);font-size:.8125rem;}
.rq-volume__main{display:flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.8125rem;}
.rq-volume__main b{display:inline;font-size:.9688rem;}
.rq-volume .request-scope-icons{margin-left:.15rem;}
.rq-volume .request-scope-icons .ti{width:22px;height:22px;font-size:.85rem;}
.rq-coordinator{white-space:nowrap;}
.rq-coordinator>span:last-child{color:var(--ink-2);font-weight:650;}
.rq-avatar{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:.45rem;border-radius:50%;background:var(--tryp-blue-700);color:#fff;font-size:.66rem;font-weight:800;vertical-align:middle;}
.rq-avatar--none{background:var(--sand);color:var(--muted);}
.rq-muted{color:var(--muted)!important;font-weight:500!important;}
.request-scope-cell{text-align:center;}
.request-scope-icons{display:inline-flex;align-items:center;justify-content:center;gap:.18rem;color:var(--tryp-blue-700);vertical-align:middle;}
.request-scope-icons .ti{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--blue-soft-2);border-radius:var(--r-sm);background:var(--blue-tint);font-size:.9rem;}
.request-type-chip{display:inline-block;max-width:100%;line-height:1.15;text-align:center;white-space:normal;}
.staff-request-table .request-delete-cell{white-space:normal;}
.request-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;}
.request-row-action{width:34px;height:34px;min-width:34px;padding:0;justify-content:center;box-shadow:none;}
.request-row-action .ti{font-size:1rem;}

@media(max-width:900px){
  .staff-requests-wrap{overflow-x:hidden;}
  .staff-request-table colgroup,.staff-request-table thead{display:none;}
  .staff-request-table,.staff-request-table tbody,.staff-request-table tr,.staff-request-table td{display:block;width:100%;}
  .staff-request-table tr{border-bottom:8px solid var(--gray-100);padding:.3rem 0;}
  .staff-request-table td{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:0;padding:.4rem .85rem;text-align:right;overflow-wrap:break-word;}
  .staff-request-table td::before{content:attr(data-label);font-weight:600;color:var(--muted);text-align:left;}
  .staff-request-table .request-scope-cell{text-align:right;}
  .staff-request-table .empty-row td::before{content:"";}
  .staff-request-table tr.month-row{border-bottom:0;}
  .staff-request-table tr.month-row td{text-align:left;}
  .staff-request-table tr.month-row td::before{content:none;}
}

/* Upload da Disponibilidade */
.dispo-upload{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;}
.dispo-upload .input{max-width:380px;}
.dispo-mode{display:inline-flex;flex-wrap:wrap;margin:0;padding:3px;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--gray-50);}
.dispo-mode label{margin:0;cursor:pointer;}
.dispo-mode input{position:absolute;opacity:0;pointer-events:none;}
.dispo-mode span{display:block;padding:.42rem .8rem;border-radius:calc(var(--r-md) - 3px);font-size:.84rem;font-weight:700;color:var(--muted);line-height:1.2;transition:background .15s,color .15s,box-shadow .15s;}
.dispo-mode input:checked+span{background:var(--surface);color:var(--blue-on);box-shadow:var(--sh-sm);}
.dispo-mode input:focus-visible+span{outline:2px solid var(--blue-on);outline-offset:1px;}
.dispo-month{display:flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;color:var(--ink-2);}
.dispo-month .input{min-width:170px;}
.dispo-file-standard{margin:0;}
.dispo-drop{flex:1 0 100%;min-height:180px;border:2px dashed var(--border-2);border-radius:var(--r-lg);background:var(--gray-50);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.2rem;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;}
.dispo-drop[hidden]{display:none;}
.dispo-drop:hover,.dispo-drop:focus-visible,.dispo-drop.is-over{border-color:var(--blue-on);background:var(--blue-soft);box-shadow:0 0 0 3px rgba(1,103,177,.1);outline:0;}
.dispo-drop>.ti{font-size:2rem;color:var(--blue-on);}
.dispo-drop strong{color:var(--ink);font-size:.95rem;}
.dispo-drop>span{font-size:.8rem;}
.dispo-drop__files{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:.45rem;}
.dispo-drop__file{display:inline-flex;align-items:center;gap:.3rem;max-width:360px;padding:.3rem .55rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:.76rem;font-weight:600;overflow-wrap:anywhere;}
.dispo-progress{flex:1 0 100%;margin-top:.15rem;}
.dispo-progress__head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.35rem;color:var(--ink-2);font-size:.8rem;font-weight:700;}
.dispo-progress__track{height:9px;overflow:hidden;border-radius:999px;background:var(--gray-100);}
.dispo-progress__track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--blue-on);transition:width .18s ease;}
.dispo-progress.is-processing .dispo-progress__track span{width:35%;animation:dispo-processing 1.15s ease-in-out infinite;}
@keyframes dispo-processing{0%{transform:translateX(-110%)}100%{transform:translateX(310%)}}
.dispo-type{display:inline-flex;margin-left:.35rem;padding:.08rem .38rem;border-radius:999px;background:var(--blue-soft);color:var(--blue-on);font-size:.68rem;font-weight:800;text-transform:uppercase;vertical-align:middle;}
.dispo-stat{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;white-space:nowrap;}
.dispo-stat .ti{font-size:1rem;}
.dispo-stat--ok{color:var(--success);}
.dispo-stat--err{color:var(--danger);}
.dispo-stat--wait{color:var(--warning);}

/* Analise Upload · OP/HP monthly coverage matrix */
.analysis-coverage{display:flex;flex-direction:column;gap:14px;margin-bottom:18px;}
.analysis-coverage__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;}
.analysis-legend{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--muted);font-size:.76rem;font-weight:600;}
.analysis-legend span{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;}
.analysis-dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.analysis-dot--complete{background:var(--success);}.analysis-dot--missing{background:var(--danger);}
.analysis-year{padding:0;overflow:hidden;}
.analysis-year__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--gray-50);}
.analysis-year__head>div{display:flex;align-items:baseline;gap:.7rem;min-width:0;}
.analysis-year__head h3{margin:0;color:var(--ink);font-size:1rem;font-weight:800;}
.analysis-year__head span{color:var(--muted);font-size:.76rem;}
.analysis-year-toggle{margin:0;flex:none;}
.analysis-toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.24rem .5rem .24rem .32rem;border:1px solid var(--border-2);border-radius:999px;background:var(--surface);color:#8A5A1B;font:inherit;cursor:pointer;}
.analysis-toggle__rail{position:relative;display:block;width:30px;height:17px;border-radius:999px;background:var(--gray-300);transition:background .15s;}
.analysis-toggle__rail i{position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);transition:transform .15s;}
.analysis-toggle strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;}
.analysis-toggle.is-active{color:var(--success);}.analysis-toggle.is-active .analysis-toggle__rail{background:var(--success);}.analysis-toggle.is-active .analysis-toggle__rail i{transform:translateX(13px);}
.analysis-toggle:hover{border-color:var(--blue-on);}.analysis-toggle:focus-visible{outline:2px solid var(--blue-on);outline-offset:2px;}
.analysis-matrix-wrap{overflow-x:auto;}
.analysis-matrix{width:100%;min-width:850px;border-collapse:separate;border-spacing:0;table-layout:fixed;}
.analysis-matrix th,.analysis-matrix td{border-right:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100);text-align:center;padding:.42rem .3rem;}
.analysis-matrix thead th{background:var(--surface);color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;}
.analysis-matrix th:first-child{position:sticky;left:0;z-index:1;width:190px;text-align:left;background:var(--surface);padding-left:16px;box-shadow:1px 0 var(--border);}
.analysis-matrix tbody th strong,.analysis-matrix tbody th span{display:block;}
.analysis-matrix tbody th strong{font-size:.78rem;color:var(--ink-2);}.analysis-matrix tbody th span{margin-top:1px;color:var(--muted);font-size:.65rem;font-weight:500;}
.analysis-matrix tbody tr:nth-child(3) th,.analysis-matrix tbody tr:nth-child(3) td{border-top:2px solid var(--border-2);}
.analysis-cell{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border-radius:7px;font-size:.9rem;}
.analysis-cell--complete{color:#137A3D;background:#EAF7EF;}.analysis-cell--missing{color:#B42318;background:#FFF0EF;}
.analysis-year__closed{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:86px;color:var(--muted);font-size:.84rem;}
.analysis-year__closed .ti{font-size:1.2rem;}
@media(max-width:700px){.analysis-coverage__head{align-items:flex-start;flex-direction:column}.analysis-year__head>div{align-items:flex-start;flex-direction:column;gap:.1rem}}
/* não-à-venda days (set in Gestão de Preços Gerais) struck out on the availability board */
.day-h.is-closed .d-num{ text-decoration:line-through; }
.day-h.is-closed{ color:var(--muted); }
.tcell.num.is-closed{ color:var(--muted); text-decoration:line-through; opacity:.6; }
.cell-pre.is-closed{ opacity:.45; }
.cell-delta.is-closed{ opacity:.4; }

/* ===== Gestão de Preços Gerais ===== */
/* per-year pastels: the card background AND each tab match the selected year */
.pg-y2026{ --pg-pastel:#EAF3FB; --pg-pastel-2:#CFE4F7; --pg-ink:#0C447C; }
.pg-y2027{ --pg-pastel:#EAF6EE; --pg-pastel-2:#CBE9D6; --pg-ink:#1B5E3A; }
.pg-y2028{ --pg-pastel:#FDF1E3; --pg-pastel-2:#F6E1C4; --pg-ink:#8A5A1B; }
.pg-y2029{ --pg-pastel:#F1ECFA; --pg-pastel-2:#DFD3F2; --pg-ink:#5A3D8A; }

.pg-card{ background:var(--pg-pastel,var(--surface)); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--sh-md); padding:0 20px 22px; }
.pg-tabs{ display:flex; flex-wrap:wrap; gap:6px; padding-top:14px; }
.pg-year{ text-decoration:none; font-weight:700; font-size:.9rem; padding:.45rem 1.1rem; border-radius:var(--r-md) var(--r-md) 0 0; background:var(--pg-pastel); color:var(--pg-ink); border:1px solid var(--border); border-bottom:0; opacity:.7; }
.pg-year:hover{ opacity:.92; }
.pg-year.is-on{ opacity:1; background:var(--pg-pastel-2); box-shadow:var(--sh-sm); }

.pg-title{ font-size:1.75rem; font-weight:700; letter-spacing:-.015em; font-family:var(--font-display); color:var(--deep-ink); margin:16px 0 14px; }
.pg-hint{ font-size:.82rem; color:var(--ink-2); background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:.55rem .7rem; margin:14px 0; }

/* tables — white surface for legibility over the pastel; rounded; sticky row labels */
.pg-tblwrap{ overflow-x:auto; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); }
.pg-gentbl-wrap{ margin-bottom:8px; }
.pg-tbl{ border-collapse:collapse; width:100%; font-size:.82rem; }
.pg-tbl th, .pg-tbl td{ border:1px solid var(--border); padding:0; text-align:center; }
.pg-tbl thead th{ background:var(--gray-50); font-weight:700; color:var(--ink-2); padding:.35rem .2rem; min-width:58px; }
.pg-daytbl thead th{ min-width:46px; }
.pg-rowlab{ position:sticky; left:0; z-index:1; background:var(--surface); text-align:left!important; font-weight:600; color:var(--ink-2); white-space:nowrap; padding:.3rem .7rem!important; min-width:92px; box-shadow:1px 0 0 var(--border); }
.pg-tbl thead .pg-rowlab{ background:var(--gray-50); }
.pg-gap td, .pg-gap th{ border:0; height:10px; }

.pg-in{ width:100%; min-width:54px; border:0; background:transparent; text-align:right; font:inherit; color:var(--ink); padding:.32rem .45rem; }
.pg-in::placeholder{ color:var(--gray-400); font-style:italic; }
.pg-in:focus{ outline:0; background:var(--blue-tint); box-shadow:inset 0 0 0 2px var(--blue-on); border-radius:4px; }
.pg-in.pg-ok{ box-shadow:inset 0 0 0 2px var(--success-2); border-radius:4px; }
.pg-in.pg-err{ box-shadow:inset 0 0 0 2px var(--danger); border-radius:4px; }

/* month accordion */
.pg-month{ background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); margin-top:10px; overflow:hidden; }
.pg-month__head{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; padding:.7rem .9rem; font-weight:700; color:var(--ink); background:var(--gray-50); }
.pg-month__head::-webkit-details-marker{ display:none; }
.pg-month__chev{ color:var(--muted); transition:transform .15s; }
.pg-month[open] .pg-month__chev{ transform:rotate(180deg); }
.pg-month__body{ padding:12px; display:flex; flex-direction:column; gap:14px; }
.pg-half__title{ font-weight:700; color:var(--pg-ink,var(--ink-2)); margin-bottom:6px; font-size:.9rem; }
.pg-dayh.pg-we{ background:var(--blue-soft); }
.pg-togrow td{ padding:.25rem 0; }

/* à-venda switch */
.pg-switch{ display:inline-flex; cursor:pointer; }
.pg-switch input{ position:absolute; opacity:0; width:0; height:0; }
.pg-switch__track{ width:30px; height:17px; border-radius:999px; background:var(--gray-300); position:relative; transition:background .15s; }
.pg-switch__track::after{ content:""; position:absolute; top:2px; left:2px; width:13px; height:13px; border-radius:50%; background:#fff; box-shadow:var(--sh-sm); transition:left .15s; }
.pg-switch input:checked + .pg-switch__track{ background:var(--success-2); }
.pg-switch input:checked + .pg-switch__track::after{ left:15px; }
.pg-switch input:focus-visible + .pg-switch__track{ box-shadow:0 0 0 3px var(--ring); }

/* não à venda — struck-out day column */
.pg-off{ background:var(--gray-50); }
.pg-dayh.pg-off{ text-decoration:line-through; color:var(--muted); }
.pg-off .pg-in{ color:var(--muted); text-decoration:line-through; opacity:.55; }

/* ===== Costa · Alta Legibilidade (2026-08-03): stat cards, blue month chapters, status edges, board panel ===== */
/* Four separate cards that ride UP over the blue band, each led by a status dot with a soft ring. */
/* Atlântico stat cards: four white cards under the banner, each closed by a 4px status bar. */
.stat-band{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:0 0 1.25rem; position:relative; }
.stat-band>div{ position:relative; overflow:hidden; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:.9rem 1rem 1rem; box-shadow:var(--sh-card); }
.stat-band>div::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--st-dot,var(--border-2)); }
.stat-band__lb{ display:block; font-size:.875rem; font-weight:750; letter-spacing:0; text-transform:none; color:var(--ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* status dot before the label — the cell carries sc--<status> to pick the hue (5th status rendering) */
.stat-band__lb::before{ content:""; display:inline-block; width:10px; height:10px; border-radius:50%;
  background:var(--st-dot,var(--sand-ink)); box-shadow:0 0 0 3px var(--st-ring,var(--sand)); margin-right:8px; vertical-align:0; }
.stat-band>div.sc--submitted{ --st-dot:var(--pend); --st-ring:var(--pend-soft); }
.stat-band>div.sc--accepted{ --st-dot:var(--warning); --st-ring:var(--warning-soft); }
.stat-band>div.sc--pre_reserved{ --st-dot:var(--orange); --st-ring:var(--orange-soft); }
.stat-band>div.sc--confirmed{ --st-dot:var(--success); --st-ring:var(--success-soft); }
.stat-band__vl{ display:block; font-family:var(--font-display); font-weight:800; font-size:2rem; color:var(--ink); font-variant-numeric:tabular-nums lining-nums; line-height:1.05; margin-top:4px; }
.request-filter-card{transition:opacity .15s,background .15s,border-color .15s;}
.request-filter-card.is-filter-off{opacity:.58;background:var(--surface-2);}.request-filter-card.is-filter-off::after{background:var(--border-2);}
.request-filter-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;margin:0;cursor:pointer;}
.request-filter-toggle .stat-band__lb{white-space:normal;line-height:1.25;overflow:visible;text-overflow:clip;}
.request-filter-toggle input{position:absolute;opacity:0;pointer-events:none;}
.request-filter-toggle>i{position:relative;display:block;flex:0 0 32px;width:32px;height:18px;border-radius:999px;background:var(--gray-300);transition:background .15s;}
.request-filter-toggle>i>b{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);transition:transform .15s;}
.request-filter-toggle input:checked+i{background:var(--st-dot,var(--tryp-blue));}
.request-filter-toggle input:checked+i>b{transform:translateX(14px);}
.request-filter-toggle input:focus-visible+i{outline:2px solid var(--blue-on);outline-offset:2px;}
/* Pedidos filter card (Atlântico): coordinator chips on top, then search · year · dates · cancelados. */
.request-filters-card{display:grid;gap:.85rem;margin:0 0 1.25rem;padding:.9rem 1rem}
.request-coordinator-band{display:flex;align-items:center;gap:.6rem 1rem;flex-wrap:wrap;padding-bottom:.85rem;border-bottom:1px solid var(--border)}
.request-filters-label{margin:0;color:var(--gold-ink);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.request-filters-link{margin-left:auto;padding:.2rem .1rem;border:0;background:none;color:var(--tryp-blue-700);font:inherit;font-size:.875rem;font-weight:750;cursor:pointer}
.request-filters-link:hover{text-decoration:underline}.request-filters-link:focus-visible{outline:2px solid var(--blue-on);outline-offset:2px;border-radius:4px}
.request-coordinator-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.request-coordinator-filter{display:inline-flex;align-items:center;gap:.5rem;min-height:38px;padding:.25rem .8rem .25rem .25rem;border:1.5px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer}
.request-coordinator-filter>span{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-pill);background:var(--gray-100);color:var(--muted);font-size:.68rem;font-weight:800}
.request-coordinator-filter>b{max-width:160px;overflow:hidden;color:var(--ink-2);font-size:.875rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.request-coordinator-filter>small{color:var(--muted);font-size:.75rem;font-weight:800;font-variant-numeric:tabular-nums}
.request-coordinator-filter.is-on{border-color:var(--tryp-blue-700);background:var(--blue-soft);color:var(--deep)}
.request-coordinator-filter.is-on>span{background:var(--tryp-blue-700);color:var(--surface)}
.request-coordinator-filter.is-on>b{color:var(--ink)}
.request-coordinator-filter.is-inactive>b::after{content:" · inativa";color:var(--muted);font-weight:500}
.request-coordinator-filter:focus-visible{outline:2px solid var(--blue-on);outline-offset:2px}
.request-list-filter-band{display:flex;align-items:center;gap:.6rem .75rem;flex-wrap:wrap}
.request-list-search{position:relative;display:flex;align-items:center;flex:1 1 280px;min-width:0;margin:0}
.request-list-search>.ti{position:absolute;left:13px;color:var(--muted);font-size:1.1rem;pointer-events:none}
.request-list-search .input{width:100%;min-height:42px;padding-left:40px;border-radius:var(--r-pill);font-size:.9375rem}
.request-year-filters{display:inline-flex;flex:none;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--sand)}
.request-year-filter{min-height:34px;padding:.3rem .75rem;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:.875rem;font-weight:750;font-variant-numeric:tabular-nums;cursor:pointer}
.request-year-filter:hover{color:var(--ink)}
.request-year-filter.is-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(10,40,60,.12)}
.request-year-filter:focus-visible{outline:2px solid var(--blue-on);outline-offset:2px}
.request-date-filter-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.request-date-filter-trigger{display:inline-flex;min-height:40px;align-items:center;gap:.45rem;padding:.45rem .75rem;border:1.5px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--tryp-blue-700);font:inherit;font-size:.875rem;font-weight:750;cursor:pointer}
.request-date-filter-trigger>.ti:last-child{transition:transform .15s}.request-date-filter-trigger[aria-expanded="true"]>.ti:last-child{transform:rotate(180deg)}
.request-date-filter-trigger.is-on{border-color:var(--tryp-blue-700);background:var(--blue-soft);color:var(--deep)}
.request-date-filter-trigger:focus-visible{outline:2px solid var(--blue-on);outline-offset:2px}
.request-date-filter-fields{display:flex;align-items:flex-end;gap:.55rem;flex:1 0 100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}
.request-date-filter-fields[hidden]{display:none}
.request-date-filter-fields label{display:grid;gap:.25rem;margin:0;color:var(--ink-2);font-size:.75rem;font-weight:800}
.request-date-filter-fields .input{min-width:154px;font-size:.875rem}.request-date-filter-fields>.ti{align-self:center;color:var(--muted)}
.request-date-filter-clear{min-height:40px}.request-date-filter-clear:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:575px){
  .stat-band{ grid-template-columns:1fr 1fr; }
  .request-coordinator-band{align-items:flex-start}.request-filters-link{margin-left:0}.request-year-filters{width:100%}.request-year-filter{flex:1}.request-date-filter-fields{flex-wrap:wrap}.request-date-filter-fields .input{min-width:0}
}

/* MONTH CHAPTERS IN AZUL TRYP (owner's call, 2026-08-03) — the strongest divider in the table:
   brand blue band, white small-caps label. Replaces the former sand/Areia chapter row. */
.req-table tr.month-row td{ background:var(--tryp-blue-700); color:#fff; border-top:0;
  border-bottom:0; box-shadow:none; text-transform:capitalize;
  letter-spacing:.01em; font-weight:800; font-size:.9375rem;
  text-align:left; padding:.62rem 1.1rem; }
/* the ≈ wave mark that opens every chapter (from the approved mockup) */
.req-table tr.month-row td::before{ content:"\2248"; margin-right:.6rem; letter-spacing:0; font-weight:700;
  color:rgba(255,255,255,.72); }
@media (max-width:768px){ .req-table tr.month-row{ border-bottom:0; } .req-table tr.month-row td{ text-align:left; } .req-table tr.month-row td::before{ content:none; } }

/* 4px status left edge on request rows — the pipeline reads down the left rail */
.req-table tbody tr.rq td:first-child{ box-shadow:inset 4px 0 0 var(--st-edge,transparent); padding-left:1.1rem;
  font-weight:700; color:var(--deep-ink); }
.rq--submitted,.rq--under_review{ --st-edge:var(--pend); }
.rq--accepted{ --st-edge:var(--warning); }
.rq--pre_reserved{ --st-edge:var(--orange); }
.rq--confirmed{ --st-edge:var(--success); }
.rq--cancelled,.rq--rejected,.rq--expired,.rq--draft{ --st-edge:var(--cancel); }

/* availability board sits on a Maré-tinted panel; the timeline itself stays white */
.mare-panel{ background:var(--mare); border-color:#D8E4F0; }
.mare-panel .tl{ background:var(--surface); }

/* Request validation workflow: shared inbox, availability, pricing and follow-ups */
.msg-presence{display:flex;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.45rem .65rem;border:1px solid #BBD9F0;border-radius:var(--r-md);background:var(--blue-tint);color:var(--blue-on);font-size:.76rem;font-weight:700;}
.msg-presence .ti{font-size:1rem;}
.wf-summary{padding:.2rem 0 .9rem;}
.wf-summary__head,.wf-section__title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;}
.wf-summary__head span,.wf-section__title>div>span{display:block;color:var(--muted);font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.wf-summary__head h3,.wf-section__title h4{margin:.12rem 0 0;color:var(--deep-ink);font-family:var(--font-display);font-weight:700;}
.wf-summary__head h3{font-size:1.25rem;}.wf-section__title h4{font-size:1rem;}
.wf-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:.9rem 0 0;}
.wf-facts>div{min-width:0;padding:.55rem .65rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--gray-50);}
.wf-facts__wide{grid-column:1/-1;}
.wf-facts dt{color:var(--muted);font-size:.67rem;font-weight:800;text-transform:uppercase;}.wf-facts dd{margin:.15rem 0 0;color:var(--ink);font-size:.82rem;font-weight:650;}
.wf-section{padding:1rem 0;border-top:1px solid var(--border);}
.wf-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem;color:var(--muted);font-size:.68rem;font-weight:650;}
.wf-legend span{display:inline-flex;align-items:center;gap:.28rem}.wf-legend i{display:inline-block;width:8px;height:8px;border-radius:3px;}
.wf-legend .is-hotel,.wf-bar .is-hotel{background:#1D5C8F}.wf-legend .is-pipeline,.wf-bar .is-pipeline{background:#E9A23B}.wf-legend .is-this,.wf-bar .is-this{background:#D95146}
.wf-bars{display:flex;flex-direction:column;gap:.45rem;margin-top:.8rem;}
.wf-bar{display:grid;grid-template-columns:58px minmax(150px,1fr) 180px;align-items:center;gap:.65rem;font-size:.7rem;color:var(--muted);}
.wf-bar>b{color:var(--ink-2);font-size:.7rem;font-weight:650;text-align:right;}
.wf-bar__track{position:relative;height:12px;overflow:hidden;border-radius:999px;background:var(--gray-100);}
.wf-bar__track i{position:absolute;top:0;height:100%;transition:left .2s,width .2s;}
.wf-price-wrap{margin-top:.8rem;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md);}
.wf-price{width:100%;min-width:760px;border-collapse:collapse;font-size:.75rem;}.wf-price th,.wf-price td{padding:.45rem .5rem;border-bottom:1px solid var(--border);white-space:nowrap;text-align:left;}.wf-price tr:last-child td{border-bottom:0}.wf-price th{background:var(--gray-50);color:var(--muted);font-size:.66rem;text-transform:uppercase;}
.wf-source{display:inline-flex;padding:.16rem .38rem;border-radius:999px;font-size:.64rem;font-weight:800;text-transform:uppercase;}.wf-source--contract{background:var(--success-soft);color:var(--success)}.wf-source--general{background:var(--blue-soft);color:var(--blue-on)}
.wf-price td label{display:flex;align-items:center;gap:.3rem}.wf-price-input{width:88px!important;padding:.32rem .42rem!important;text-align:right;font-weight:750;}
.wf-date-decision-list{display:grid;gap:.55rem;margin-top:.8rem}.wf-date-decision-list>article{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);align-items:center;gap:.7rem;padding:.65rem;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--paper-2)}.wf-date-decision-list header{display:grid;gap:.12rem}.wf-date-decision-list header b{color:var(--deep);font-size:.78rem}.wf-date-decision-list header span{color:var(--muted);font-size:.69rem}.wf-date-decision-list article>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.wf-date-choice{cursor:pointer}.wf-date-choice input{position:absolute;opacity:0;pointer-events:none}.wf-date-choice>span{display:flex;align-items:center;justify-content:center;gap:.32rem;min-height:38px;padding:.4rem .5rem;border:2px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);font-size:.7rem;font-weight:800}.wf-date-choice.is-accepted>span{color:var(--blue-ink)}.wf-date-choice.is-pre-reserved>span{color:var(--orange-ink)}.wf-date-choice.is-waitlisted>span{color:var(--warning-ink)}.wf-date-choice.is-confirmed>span{color:var(--reserved-bright-ink)}.wf-date-choice.is-cancelled>span{color:var(--danger)}.wf-date-choice input:focus-visible+span{outline:3px solid var(--ring);outline-offset:2px}.wf-date-choice.is-accepted input:checked+span{border-color:var(--blue-on);background:var(--blue-soft);color:var(--blue-ink)}.wf-date-choice.is-pre-reserved input:checked+span{border-color:var(--orange);background:var(--orange);color:var(--surface)}.wf-date-choice.is-waitlisted input:checked+span{border-color:var(--warning);background:var(--warning-soft);color:var(--warning-ink)}.wf-date-choice.is-confirmed input:checked+span{border-color:var(--reserved-bright);background:var(--reserved-bright);color:var(--surface)}.wf-date-choice.is-cancelled input:checked+span{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}
.wf-decision__fields{display:grid;grid-template-columns:150px 1fr;gap:.8rem;padding-top:.9rem;border-top:1px solid var(--border);}.wf-decision__fields label>span{display:block;margin-bottom:.28rem;color:var(--ink-2);font-size:.72rem;font-weight:750;}.wf-message textarea{resize:vertical;}
.wf-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem;}.wf-actions .btn{margin:0;}
.wf-history{margin-top:.9rem;border-top:1px solid var(--border);padding-top:.8rem;}.wf-history summary{cursor:pointer;color:var(--blue-on);font-size:.78rem;font-weight:750;}.wf-history ol{list-style:none;margin:.75rem 0 0;padding:0;}.wf-history li{display:flex;gap:.55rem;padding:.38rem 0;}.wf-history li>i{width:8px;height:8px;margin-top:.35rem;border-radius:50%;background:var(--blue-on);box-shadow:0 0 0 3px var(--blue-soft);}.wf-history li>div{display:flex;flex-direction:column;min-width:0}.wf-history li b{font-size:.75rem}.wf-history li span{color:var(--muted);font-size:.67rem}.wf-history li p{margin:.18rem 0 0;color:var(--ink-2);font-size:.74rem;}
.req-response{display:flex;align-items:flex-start;gap:.35rem;margin:0 0 .4rem;padding:.35rem .45rem;border-radius:var(--r-sm);background:var(--blue-tint);color:var(--ink-2);font-size:.7rem;}.req-response .ti{color:var(--blue-on);font-size:.9rem}.req-response span,.req-response small{display:block}.req-response small{margin-top:.1rem;color:var(--muted);}
.followup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}.followup-card{display:flex;flex-direction:column;gap:.9rem;padding:1rem;border-top:3px solid var(--blue-on);}.followup-card.is-urgent{border-top-color:var(--warning)}.followup-card.is-overdue{border-top-color:var(--danger)}.followup-card h2{margin:.45rem 0 0;color:var(--deep-ink);font-family:var(--font-display);font-size:1.05rem}.followup-deadline{display:grid;grid-template-columns:1fr auto;gap:.15rem}.followup-deadline span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.followup-deadline strong{grid-column:1;font-size:1rem}.followup-deadline em{grid-column:2;grid-row:1/3;align-self:center;color:var(--blue-on);font-size:.75rem;font-style:normal;font-weight:800}.is-overdue .followup-deadline em{color:var(--danger)}.followup-card .btn{align-self:flex-start}.followup-empty{grid-column:1/-1;padding:2rem;text-align:center;color:var(--muted)}.followup-empty .ti{font-size:2rem;color:var(--success)}

/* Staff follow-up cockpit: overdue work is ownership-scoped and ordered oldest first. */
.staff-followups-page{max-width:1120px}.staff-followups-head{align-items:center}.staff-followups-total{display:grid;min-width:112px;padding:.65rem .9rem;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface);text-align:center}.staff-followups-total strong{color:var(--deep);font-size:1.45rem;line-height:1;font-variant-numeric:tabular-nums}.staff-followups-total span{margin-top:.2rem;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.staff-followup-priority{overflow:hidden;padding:0;border:1px solid var(--border-2);border-top:5px solid var(--warning);box-shadow:var(--sh-md)}.staff-followup-priority.is-overdue{border-top-color:var(--danger)}.staff-followup-priority.is-today{border-top-color:var(--warning)}.staff-followup-priority__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.35rem 1.5rem;background:linear-gradient(135deg,var(--surface),var(--paper-2))}.staff-followup-kicker{display:flex;align-items:center;gap:.35rem;color:var(--sand-ink);font-size:.69rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.is-overdue .staff-followup-kicker{color:var(--danger)}.staff-followup-priority__head h2{margin:.35rem 0 .1rem;color:var(--deep-ink);font-family:var(--font-display);font-size:1.55rem;font-weight:720}.staff-followup-priority__head p{margin:0;color:var(--muted);font-size:.9rem}.staff-followup-deadline{display:grid;min-width:170px;padding:.7rem .85rem;border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface);text-align:right}.staff-followup-deadline span{color:var(--muted);font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.staff-followup-deadline strong{color:var(--deep);font-size:1.15rem;font-variant-numeric:tabular-nums}.staff-followup-deadline em{color:var(--warning-ink);font-size:.72rem;font-style:normal;font-weight:800}.is-overdue .staff-followup-deadline em{color:var(--danger)}
.staff-followup-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.staff-followup-facts>div{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:.55rem;min-height:82px;padding:.85rem 1rem;border-right:1px solid var(--border)}.staff-followup-facts>div:last-child{border-right:0}.staff-followup-facts i{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);background:var(--blue-soft);color:var(--tryp-blue-700);font-size:1.1rem}.staff-followup-facts span{display:grid;gap:.12rem;color:var(--muted);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.staff-followup-facts strong{overflow:hidden;color:var(--ink);font-size:.78rem;text-transform:none;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.staff-followup-roommix{display:grid;gap:.2rem;padding:.85rem 1.5rem;background:var(--blue-tint)}.staff-followup-roommix span{color:var(--muted);font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.staff-followup-roommix strong{color:var(--deep);font-size:.82rem}
.staff-followup-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;padding:1rem 1.5rem 1.35rem;background:var(--surface)}.staff-followup-actions form{display:flex;min-width:0}.staff-followup-action{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:.45rem;width:100%;min-height:58px;padding:.55rem .65rem;border:1px solid transparent;border-radius:var(--r-md);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .12s,filter .12s,box-shadow .12s}.staff-followup-action:hover:not(:disabled){transform:translateY(-1px);filter:brightness(.97);box-shadow:var(--sh-sm)}.staff-followup-action:focus-visible{outline:3px solid var(--ring);outline-offset:1px}.staff-followup-action>i{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-pill);background:rgba(255,255,255,.7);font-size:1rem}.staff-followup-action>span{display:grid;min-width:0;font-size:.75rem;font-weight:850}.staff-followup-action small{overflow:hidden;font-size:.61rem;font-weight:650;opacity:.78;text-overflow:ellipsis;white-space:nowrap}.staff-followup-action.is-confirm{background:var(--success-soft);border-color:var(--success-border);color:var(--success-ink)}.staff-followup-action.is-pre-reserve{background:#FFF4B8;border-color:#E8CE42;color:#6B5500}.staff-followup-action.is-extend{background:var(--warning-soft);border-color:#D9B354;color:var(--warning-ink)}.staff-followup-action.is-cancel{background:var(--danger-soft);border-color:#E9A7A7;color:var(--danger-deep)}.staff-followup-action.is-email{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-500);cursor:not-allowed}.staff-followup-empty{padding:3rem 2rem;text-align:center}.staff-followup-empty>i{color:var(--success);font-size:2.5rem}.staff-followup-empty h2{margin:.6rem 0 .2rem;color:var(--deep);font-size:1.2rem}.staff-followup-empty p{margin:0;color:var(--muted);font-size:.86rem}
.staff-followup-dialog{width:min(500px,calc(100vw - 28px));padding:0;border:0;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-lg)}.staff-followup-dialog::backdrop{background:rgba(1,46,79,.58);backdrop-filter:blur(2px)}.staff-followup-dialog form{display:grid}.staff-followup-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--blue-tint)}.staff-followup-dialog header span{color:var(--tryp-blue-700);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.staff-followup-dialog h2{margin:.15rem 0 0;color:var(--deep);font-size:1.1rem}.staff-followup-dialog header p{margin:.2rem 0 0;color:var(--muted);font-size:.78rem}.staff-followup-dialog header button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);color:var(--deep);cursor:pointer}.staff-followup-dialog label{display:grid;gap:.4rem;padding:1.4rem 1.25rem}.staff-followup-dialog label>span{color:var(--deep);font-size:.73rem;font-weight:850}.staff-followup-dialog footer{display:flex;justify-content:flex-end;gap:.55rem;padding:.9rem 1.25rem;border-top:1px solid var(--border);background:var(--paper-2)}
.staff-followup-groups{display:grid;gap:1rem}.staff-followup-coordinator{overflow:hidden;padding:0;border:1px solid var(--border-2);border-top:4px solid var(--danger)}.staff-followup-coordinator__head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--surface),var(--danger-soft))}.staff-followup-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-pill);background:var(--deep);color:var(--surface);font-size:.72rem;font-weight:900}.staff-followup-coordinator__head>div{display:grid;gap:.06rem}.staff-followup-coordinator__head>div>span{color:var(--danger);font-size:.6rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.staff-followup-coordinator__head h2{margin:0;color:var(--deep-ink);font-size:1rem}.staff-followup-coordinator__head p{margin:0;color:var(--muted);font-size:.67rem}.staff-followup-coordinator__head>strong{display:grid;min-width:70px;color:var(--danger);font-size:1.25rem;line-height:1;text-align:center;font-variant-numeric:tabular-nums}.staff-followup-coordinator__head>strong small{margin-top:.18rem;color:var(--muted);font-size:.56rem;text-transform:uppercase;letter-spacing:.05em}.staff-followup-worklist{display:grid}.staff-followup-workitem{--followup-state:var(--gray-400);display:grid;grid-template-columns:minmax(190px,.6fr) minmax(350px,1.25fr) minmax(350px,1fr);align-items:center;gap:.85rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);border-left:8px solid var(--followup-state);background:var(--surface)}.staff-followup-workitem.is-status-quotation,.staff-followup-context__list>a.is-status-quotation{--followup-state:var(--tryp-blue)}.staff-followup-workitem.is-status-pre-reserve,.staff-followup-context__list>a.is-status-pre-reserve{--followup-state:var(--warning)}.staff-followup-workitem.is-status-waiting,.staff-followup-context__list>a.is-status-waiting{--followup-state:var(--gray-500)}.staff-followup-workitem:last-child{border-bottom:0}.staff-followup-workitem:nth-child(even){background:var(--paper-2)}.staff-followup-workitem__main{display:grid;min-width:0}.staff-followup-workitem__state{display:flex;align-items:center;gap:.38rem;min-width:0}.staff-followup-workitem__state>span{color:var(--followup-state);font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.staff-followup-workitem__state>em{display:flex;align-items:center;gap:.18rem;color:var(--danger);font-size:.58rem;font-style:normal;font-weight:850;white-space:nowrap}.staff-followup-workitem__main>a{overflow:hidden;margin-top:.2rem;color:var(--deep);font-size:.88rem;font-weight:850;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.staff-followup-workitem__main>a:hover{color:var(--blue-on);text-decoration:underline}.staff-followup-workitem__main p{overflow:hidden;margin:.08rem 0 0;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.staff-followup-workitem__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem .7rem;margin:0}.staff-followup-workitem__facts>div{min-width:0}.staff-followup-workitem__facts dt{color:var(--muted);font-size:.55rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.staff-followup-workitem__facts dd{overflow:hidden;margin:.06rem 0 0;color:var(--ink);font-size:.66rem;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.staff-followup-workitem .staff-followup-actions{align-self:center;grid-template-columns:repeat(5,minmax(0,1fr));gap:.28rem;padding:0;background:transparent}.staff-followup-workitem .staff-followup-action{grid-template-columns:1fr;place-items:center;gap:.2rem;min-height:54px;padding:.35rem .18rem;text-align:center}.staff-followup-workitem .staff-followup-action>i{width:27px;height:27px;font-size:.88rem}.staff-followup-workitem .staff-followup-action>span{font-size:.56rem;line-height:1.1}.staff-followup-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.staff-followup-context{overflow:hidden;padding:0}.staff-followup-context>header{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.8rem .9rem;border-bottom:1px solid var(--border);background:var(--blue-tint)}.staff-followup-context.is-others>header{background:var(--warning-soft)}.staff-followup-context>header>i{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-sm);background:var(--tryp-blue);color:var(--surface);font-size:1.15rem}.staff-followup-context.is-others>header>i{background:var(--warning);color:var(--surface)}.staff-followup-context>header>div{display:grid}.staff-followup-context>header span{color:var(--tryp-blue-700);font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.staff-followup-context.is-others>header span{color:var(--warning-ink)}.staff-followup-context>header h2{margin:.05rem 0 0;color:var(--deep);font-size:.85rem}.staff-followup-context>header>strong{display:grid;place-items:center;min-width:34px;height:34px;padding:0 .35rem;border-radius:var(--r-pill);background:var(--surface);color:var(--deep);font-size:.82rem;font-variant-numeric:tabular-nums}.staff-followup-context__list{display:grid;max-height:390px;overflow:auto}.staff-followup-context__list>a{--followup-state:var(--gray-400);display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:.65rem;padding:.65rem .8rem;border-bottom:1px solid var(--border);border-left:6px solid var(--followup-state);color:inherit;text-decoration:none}.staff-followup-context__list>a:last-child{border-bottom:0}.staff-followup-context__list>a:hover{background:var(--blue-tint)}.staff-followup-context__list>a>span{display:grid;min-width:0}.staff-followup-context__list b{color:var(--deep);font-size:.68rem;font-variant-numeric:tabular-nums}.staff-followup-context__list strong{overflow:hidden;color:var(--ink);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.staff-followup-context__list small{overflow:hidden;color:var(--muted);font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}.staff-followup-context__empty{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:110px;margin:0;padding:1rem;color:var(--muted);font-size:.72rem;text-align:center}.staff-followup-context__empty i{color:var(--success);font-size:1.2rem}
.badge--waitlisted,.badge--pre_reserve_waitlisted,.badge--confirmation_wait{background:var(--warning-soft);color:#8A5A1B;--st-dot:var(--warning)}
.rq--waitlisted,.rq--pre_reserve_waitlisted,.rq--confirmation_wait{--st-edge:var(--warning)}
@media(max-width:900px){.wf-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-facts__wide{grid-column:1/-1}.followup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.wf-summary__head,.wf-section__title{flex-direction:column}.wf-legend{justify-content:flex-start}.wf-bar{grid-template-columns:48px minmax(110px,1fr)}.wf-bar>b{grid-column:2;text-align:left}.wf-date-decision-list>article{grid-template-columns:1fr}.wf-date-decision-list article>div{grid-template-columns:1fr}.wf-decision__fields{grid-template-columns:1fr}.followup-grid{grid-template-columns:1fr}}
@media(max-width:900px){.staff-followup-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-followup-facts>div:nth-child(2){border-right:0}.staff-followup-facts>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.staff-followup-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-followup-actions>.is-email{grid-column:1/-1}}
@media(max-width:650px){.staff-followups-head,.staff-followup-priority__head{align-items:stretch;flex-direction:column}.staff-followups-total{width:100%}.staff-followup-deadline{text-align:left}.staff-followup-facts{grid-template-columns:1fr}.staff-followup-facts>div,.staff-followup-facts>div:nth-child(2){border-right:0;border-bottom:1px solid var(--border)}.staff-followup-facts>div:last-child{border-bottom:0}.staff-followup-actions{grid-template-columns:1fr;padding:1rem}.staff-followup-actions>.is-email{grid-column:auto}.staff-followup-dialog footer{display:grid;grid-template-columns:1fr 1fr}.staff-followup-dialog footer .btn{justify-content:center}}
@media(max-width:1100px){.staff-followup-workitem{grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr)}.staff-followup-workitem .staff-followup-actions{grid-column:1/-1}}
@media(max-width:760px){.staff-followup-workitem{grid-template-columns:1fr}.staff-followup-workitem .staff-followup-actions{grid-column:1}.staff-followup-context-grid{grid-template-columns:1fr}}
@media(max-width:575px){.staff-followup-coordinator__head{grid-template-columns:40px minmax(0,1fr)}.staff-followup-coordinator__head>strong{grid-column:1/-1;display:flex;justify-content:center;gap:.3rem}.staff-followup-workitem__facts{grid-template-columns:1fr}.staff-followup-workitem .staff-followup-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-followup-workitem .staff-followup-actions>.is-email{grid-column:1/-1}.staff-followup-context__list>a{grid-template-columns:80px minmax(0,1fr)}}

/* Pedido activity timeline — immutable workflow, messages, emails and comments. */
.request-history-page{max-width:1080px;}
.request-history-head{align-items:flex-start;}
.request-history-head .badge{vertical-align:middle;}
.request-comment-card{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);gap:1.25rem;padding:1.1rem 1.2rem;border-top:3px solid var(--coral);}
.request-comment-card h2,.request-history-section-head h2{color:var(--deep-ink);font-family:var(--font-display);font-weight:700;}
.request-comment-form{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:.7rem;align-items:end;}
.request-comment-body{grid-row:span 2;}.request-comment-body textarea{min-height:108px;resize:vertical;}
.request-comment-submit{justify-content:center;}
.request-history-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1.6rem 0 .8rem;}
.request-history-count{display:inline-flex;padding:.25rem .55rem;border-radius:var(--r-pill);background:var(--blue-soft);color:var(--blue-ink);font-size:.72rem;font-weight:800;}
.request-timeline{position:relative;display:flex;flex-direction:column;gap:.85rem;list-style:none;margin:0;padding:0 0 0 52px;}
.request-timeline::before{content:"";position:absolute;top:9px;bottom:9px;left:20px;width:2px;background:var(--border-2);}
.request-timeline-item{position:relative;}
.request-timeline-marker{position:absolute;z-index:1;left:-52px;top:15px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:4px solid var(--paper);border-radius:50%;background:var(--blue-soft);color:var(--blue-ink);box-shadow:var(--sh-sm);}
.request-timeline-item--email .request-timeline-marker{background:var(--warning-soft);color:var(--warning-ink);}
.request-timeline-item--comment .request-timeline-marker{background:var(--success-soft);color:var(--success-ink);}
.request-timeline-item--internal .request-timeline-marker{background:var(--orange-soft);color:var(--orange-ink);}
.request-event-card{padding:1rem 1.1rem;overflow:hidden;}
.request-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);}
.request-event-head h3{margin:.12rem 0 0;color:var(--deep-ink);font-family:var(--font-display);font-size:1.05rem;font-weight:700;}
.request-event-channel{color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.request-event-time{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;color:var(--muted);font-size:.72rem;font-weight:650;text-align:right;}
.request-private-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.18rem .42rem;border-radius:var(--r-pill);background:var(--warning-soft);color:var(--warning-ink);font-size:.65rem;font-weight:800;}
.request-event-meta{display:flex;flex-wrap:wrap;gap:.55rem 1.3rem;margin:.75rem 0 0;}
.request-event-meta>div{min-width:150px;}.request-event-meta dt{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;}.request-event-meta dd{margin:.12rem 0 0;color:var(--ink-2);font-size:.9rem;font-weight:700;overflow-wrap:anywhere;}.request-event-meta dd span{color:var(--muted);font-weight:500;}
.request-status-change{display:flex;align-items:center;gap:.4rem;margin-top:.75rem;}.request-status-change>.ti{color:var(--muted);}
.request-event-body{margin-top:.75rem;padding:.75rem .85rem;border-left:3px solid var(--sky);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--gray-50);color:var(--ink);font-size:.9375rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;}
.request-event-source{margin-top:.7rem;}
.request-event-changes{margin-top:.75rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--paper-2);}
.request-event-changes summary{padding:.55rem .7rem;color:var(--blue-ink);cursor:pointer;font-size:.85rem;font-weight:800;}
.request-event-changes dl{margin:0;border-top:1px solid var(--border);}
.request-event-changes dl>div{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1.65fr);gap:.7rem;padding:.5rem .7rem;border-bottom:1px solid var(--border);}.request-event-changes dl>div:last-child{border-bottom:0;}
.request-event-changes dt{color:var(--muted);font-size:.78rem;font-weight:800;}.request-event-changes dd{display:flex;align-items:flex-start;gap:.4rem;min-width:0;margin:0;color:var(--ink-2);font-size:.9rem;overflow-wrap:anywhere;}.request-event-changes dd>.ti{flex:none;margin-top:.1rem;color:var(--muted);}
.request-change-before{color:var(--muted);text-decoration:line-through;}.request-change-after{font-weight:700;}
.request-history-empty{display:grid;place-items:center;min-height:180px;padding:2rem;color:var(--muted);text-align:center;}.request-history-empty .ti{font-size:2rem;color:var(--blue-on);}.request-history-empty p{margin:.4rem 0 0;}
@media(max-width:800px){.request-comment-card{grid-template-columns:1fr}.request-comment-form{grid-template-columns:minmax(0,1fr) 190px}}
@media(max-width:600px){.request-history-head{gap:.8rem}.request-history-head .btn{align-self:flex-start}.request-comment-form{grid-template-columns:1fr}.request-comment-body{grid-row:auto}.request-timeline{padding-left:39px}.request-timeline::before{left:15px}.request-timeline-marker{left:-39px;width:32px;height:32px;border-width:3px}.request-event-head{flex-direction:column}.request-event-time{justify-content:flex-start;text-align:left}.request-event-changes dl>div{grid-template-columns:1fr}.request-event-changes dd{flex-wrap:wrap}}

/* Request email archive, shared by inbox and the protected email viewer. */
.wf-emails{display:grid;gap:.45rem;margin-top:.8rem;padding-top:.75rem;border-top:2px solid var(--border)}.wf-emails>span{color:var(--deep);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.wf-emails>div{display:flex;gap:.45rem;flex-wrap:wrap}.wf-emails a{display:grid;grid-template-columns:22px auto 20px;align-items:center;gap:.4rem;min-width:190px;padding:.5rem .6rem;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);text-decoration:none}.wf-emails a>i{color:var(--blue-on)}.wf-emails a b,.wf-emails a small{grid-column:2;display:block}.wf-emails a b{font-size:.75rem}.wf-emails a small{overflow:hidden;max-width:260px;color:var(--muted);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.wf-emails a>i:last-child{grid-column:3;grid-row:1/3}
.email-view-card{padding:1rem}.email-view-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0}.email-view-meta>div{padding:.7rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--paper-2)}.email-view-meta dt{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.email-view-meta dd{margin:.25rem 0 0;color:var(--deep);font-size:.9375rem;overflow-wrap:anywhere}.email-view-body,.email-view-attachments{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--border)}.email-view-body h2,.email-view-attachments h2{margin:0 0 .65rem;color:var(--deep);font-size:1rem}.email-view-body pre{margin:0;max-height:65vh;overflow:auto;padding:1rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--paper-2);color:var(--ink);font:inherit;font-size:.9375rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.email-view-attachments>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.55rem}.email-view-attachments a{display:grid;grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:.5rem;padding:.65rem;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);text-decoration:none}.email-view-attachments a>i{color:var(--blue-on)}.email-view-attachments a span{display:grid}.email-view-attachments a b{overflow:hidden;color:var(--deep);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.email-view-attachments a small{color:var(--muted);font-size:.7rem}.email-view-unavailable{display:flex;align-items:center;gap:1rem;padding:1.2rem}.email-view-unavailable>i{display:grid;place-items:center;width:54px;height:54px;flex:none;border-radius:var(--r-md);background:var(--blue-soft);color:var(--blue-on);font-size:1.6rem}.email-view-unavailable h2{margin:0;color:var(--deep);font-size:1rem}.email-view-unavailable p{margin:.25rem 0 0;color:var(--muted);font-size:.9375rem}
@media(max-width:575px){.email-view-meta{grid-template-columns:1fr}.email-view-page .head-actions{width:100%}.email-view-page .head-actions .btn{flex:1}.wf-emails a{min-width:100%}}

/* Root-only mail reliability dashboard. External prerequisites are visually
   distinct from local warnings so operators never mistake them for actions the
   application can execute. */
.mail-health-page{max-width:1180px}.mail-health-notice{display:flex;align-items:center;gap:.45rem;margin:-.5rem 0 1rem;padding:.65rem .8rem;border:1px solid var(--success-border);border-radius:var(--r-sm);background:var(--success-soft);color:var(--success-ink);font-size:.82rem;font-weight:750}.mail-health-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.mail-health-stats article{display:grid;gap:.12rem;padding:.9rem 1rem;border:1px solid var(--border);border-top:3px solid var(--tryp-blue);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--sh-sm)}.mail-health-stats span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.mail-health-stats strong{color:var(--deep);font-family:var(--font-display);font-size:1.65rem;font-variant-numeric:tabular-nums}.mail-health-stats small{color:var(--muted);font-size:.7rem}.mail-health-card{overflow:hidden;margin-top:1rem}.mail-health-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--border);background:var(--paper-2)}.mail-health-card>header h2{margin:.12rem 0 0;color:var(--deep);font-family:var(--font-display);font-size:1.08rem}.mail-health-card>header>i{color:var(--blue-on);font-size:1.45rem}.mail-health-list{display:grid}.mail-health-check{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.mail-health-check:last-child{border-bottom:0}.mail-health-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gray-100);color:var(--muted)}.mail-health-check.is-ok .mail-health-icon{background:var(--success-soft);color:var(--success)}.mail-health-check.is-warning .mail-health-icon{background:var(--warning-soft);color:var(--warning-ink)}.mail-health-check.is-error .mail-health-icon{background:var(--danger-soft);color:var(--danger)}.mail-health-check.is-external .mail-health-icon{background:var(--blue-soft);color:var(--blue-on)}.mail-health-check h3,.mail-health-prereqs h3{margin:0;color:var(--deep);font-size:.82rem}.mail-health-check p,.mail-health-prereqs p{margin:.15rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.mail-health-check time{color:var(--muted);font-size:.67rem;white-space:nowrap}.mail-health-empty{display:grid;place-items:center;min-height:130px;padding:1.5rem;color:var(--muted);text-align:center}.mail-health-empty i{font-size:1.5rem}.mail-health-prereqs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem}.mail-health-prereqs article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.6rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--paper-2)}.mail-health-prereqs article>i{color:var(--blue-on);font-size:1.25rem}.mail-health-boundary{display:flex;align-items:center;gap:.4rem;margin:0;padding:.7rem 1rem;border-top:1px solid var(--border);background:var(--blue-tint);color:var(--blue-ink);font-size:.72rem;font-weight:750}
@media(max-width:900px){.mail-health-stats{grid-template-columns:repeat(2,1fr)}.mail-health-prereqs{grid-template-columns:1fr}}
@media(max-width:575px){.mail-health-page .page-head{align-items:flex-start;flex-direction:column}.mail-health-page .page-head form,.mail-health-page .page-head button{width:100%}.mail-health-stats{grid-template-columns:1fr}.mail-health-check{grid-template-columns:34px minmax(0,1fr)}.mail-health-check time{grid-column:2}.mail-health-prereqs{padding:.75rem}}
.mail-health-table-wrap{overflow:auto}.mail-health-table{width:100%;min-width:760px;border-collapse:collapse}.mail-health-table th{padding:.65rem .8rem;border-bottom:2px solid var(--border-2);background:var(--blue-tint);color:var(--blue-ink);font-size:.75rem;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.mail-health-table td{padding:.7rem .8rem;border-bottom:1px solid var(--border);color:var(--ink-2);font-size:.9375rem;vertical-align:top}.mail-health-table tbody tr:last-child td{border-bottom:0}.mail-health-table td strong,.mail-health-table td small{display:block}.mail-health-table td small{max-width:320px;overflow:hidden;color:var(--muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.mail-health-table td.is-success{color:var(--success-ink);font-weight:800}.mail-health-table td.is-failure{color:var(--danger);font-weight:800}.mail-health-table-empty{color:var(--muted)!important;text-align:center}
.mail-delivery-table{min-width:1080px}.mail-health-state{display:inline-flex;padding:.28rem .5rem;border-radius:var(--r-pill);font-size:.75rem;font-weight:800;white-space:nowrap}.mail-health-state.is-queued{background:var(--blue-soft);color:var(--blue-ink)}.mail-health-state.is-deferred{background:var(--warning-soft);color:var(--warning-ink)}.mail-health-state.is-accepted{background:var(--success-soft);color:var(--success-ink)}.mail-health-state.is-bounced,.mail-health-state.is-failed{background:var(--danger-soft);color:var(--danger)}

/* Root operations dashboard: two daily measures, with accessible native
   progress elements providing the coordinator comparison without JavaScript. */
/* ===== Operação → Dashboard (Atlântico Quente) =====
   KPI tiles, per-coordinator bar cards, follow-up stacks, monthly cancellations and the activity line chart. */
.operations-dashboard-page{max-width:1240px}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 1.25rem}
.dash-kpi{display:grid;align-content:start;gap:3px;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-card)}
.dash-kpi>span{color:var(--muted);font-size:.875rem;font-weight:700}
.dash-kpi>b{color:var(--ink);font:800 2.15rem/1.05 var(--font-display);font-variant-numeric:tabular-nums}
.dash-kpi>small{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;color:var(--muted);font-size:.8125rem;font-weight:600}
.dash-kpi>small .ti{font-size:.95rem}
.dash-kpi em{font-style:normal}.dash-kpi em+em::before{content:"·";margin-right:.3rem;color:var(--muted);font-weight:600}.dash-kpi em.is-overdue{color:var(--danger);font-weight:800}
.operations-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.operations-dashboard-card{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.operations-dashboard-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.1rem 1.25rem .9rem}
.operations-dashboard-card>header h2{margin:.15rem 0 0;color:var(--ink);font:750 1.05rem/1.3 var(--font-sans);letter-spacing:-.01em}
.operations-dashboard-card>header p{margin:.2rem 0 0;color:var(--muted);font-size:.8125rem}
.operations-dashboard-total{display:grid;place-items:center;min-width:58px;height:58px;padding:0 .6rem;border-radius:var(--r-lg);background:var(--blue-soft);color:var(--tryp-blue-700);font:800 1.6rem/1 var(--font-display);font-variant-numeric:tabular-nums}
.operations-dashboard-chart,.operations-dashboard-followup-chart{display:grid;gap:14px;padding:.4rem 1.25rem 1.1rem}
.operations-dashboard-row,.operations-dashboard-followup-row{display:grid;grid-template-columns:30px minmax(84px,130px) minmax(0,1fr) 30px;align-items:center;gap:10px}
.operations-dashboard-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tryp-blue-700);color:#fff;font-size:.68rem;font-weight:800}
.operations-dashboard-row:nth-child(3n+2) .operations-dashboard-avatar,.operations-dashboard-followup-row:nth-child(3n+2) .operations-dashboard-avatar{background:var(--coral-deep)}
.operations-dashboard-row:nth-child(3n+3) .operations-dashboard-avatar,.operations-dashboard-followup-row:nth-child(3n+3) .operations-dashboard-avatar{background:var(--gold-ink)}
.operations-dashboard-name{overflow:hidden;color:var(--ink-2);font-size:.9375rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.operations-dashboard-row>strong,.operations-dashboard-followup-row>strong{color:var(--ink);font-size:.9375rem;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
.dash-track{height:12px;overflow:hidden;border-radius:var(--r-pill);background:var(--sand)}
.dash-track i{display:block;width:var(--w,0%);height:100%;border-radius:inherit;background:var(--tryp-blue-500,var(--tryp-blue))}
.operations-dashboard-card--stored .dash-track i{background:var(--gold-ink)}
.operations-dashboard-empty{margin:0;color:var(--muted);font-size:.875rem}
.operations-dashboard-breakdown{padding:.8rem 1.25rem 1rem;border-top:1px solid var(--border);background:var(--surface-2)}
.operations-dashboard-breakdown>div{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}
.operations-dashboard-breakdown article{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:var(--r-pill);background:var(--gray-100);color:var(--ink-2);font-size:.8125rem;font-weight:700}
.operations-dashboard-breakdown article i{width:8px;height:8px;border-radius:50%;background:var(--st,var(--muted))}
.operations-dashboard-breakdown article strong{font-variant-numeric:tabular-nums}
.operations-dashboard-breakdown article.is-quotation,.operations-dashboard-breakdown article.is-waitlist{--st:var(--warning);background:var(--warning-soft);color:var(--warning-ink)}
.operations-dashboard-breakdown article.is-pre{--st:var(--orange);background:var(--orange-soft);color:var(--orange-ink)}
.operations-dashboard-breakdown article.is-confirmed{--st:var(--success);background:var(--success-soft);color:var(--success-ink)}
.operations-dashboard-breakdown article.is-cancelled{--st:var(--cancel);background:var(--cancel-soft);color:var(--cancel-ink)}
.operations-dashboard-breakdown p{margin:0;color:var(--muted);font-size:.8125rem}
.operations-dashboard-card>footer{display:flex;align-items:flex-start;gap:.4rem;margin-top:auto;padding:.7rem 1.25rem;border-top:1px solid var(--border);color:var(--muted);font-size:.78rem}
.operations-dashboard-card>footer .ti{margin-top:.1rem}
.operations-dashboard-followup-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 1.25rem .9rem}
.operations-dashboard-followup-kpis article{display:flex;align-items:center;gap:.55rem;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}
.operations-dashboard-followup-kpis article>.ti{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--r-sm);background:var(--blue-soft);color:var(--tryp-blue-700);font-size:1.05rem}
.operations-dashboard-followup-kpis article.is-overdue>.ti{background:var(--danger-soft);color:var(--danger)}
.operations-dashboard-followup-kpis article.is-made>.ti{background:var(--success-soft);color:var(--success)}
.operations-dashboard-followup-kpis span{display:grid;line-height:1.15}
.operations-dashboard-followup-kpis small{color:var(--muted);font-size:.75rem;font-weight:700}
.operations-dashboard-followup-kpis strong{color:var(--ink);font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums}
.operations-dashboard-followup-legend{display:flex;align-items:center;gap:.4rem .9rem;flex-wrap:wrap;padding:.1rem 1.25rem .8rem}
.operations-dashboard-followup-legend span{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.6875rem;font-weight:750}
.operations-dashboard-followup-legend i{width:9px;height:9px;border-radius:50%;background:var(--fu)}
.operations-dashboard-followup-track{height:14px;overflow:hidden;border-radius:var(--r-pill);background:var(--sand)}
.operations-dashboard-followup-track>div{display:flex;gap:2px;width:var(--followup-width,0%);height:100%}
.operations-dashboard-followup-track i{flex:var(--followup-count,1) 1 0;min-width:4px;background:var(--fu)}
.operations-dashboard-page .is-confirmed{--fu:var(--success)}.operations-dashboard-page .is-pre-reserved{--fu:var(--orange)}.operations-dashboard-page .is-cancelled{--fu:var(--danger)}.operations-dashboard-page .is-extended{--fu:var(--orange-2)}.operations-dashboard-page .is-email{--fu:#EDB9CF}
.operations-dashboard-month-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:6px;height:190px;padding:.6rem 1.25rem 1rem}
.operations-dashboard-month-chart article{display:grid;grid-template-rows:auto 1fr auto;justify-items:center;height:100%;min-width:0}
.operations-dashboard-month-chart strong{color:var(--ink-2);font-size:.75rem;font-weight:800;font-variant-numeric:tabular-nums}
.operations-dashboard-month-chart i{align-self:end;width:70%;max-width:26px;height:var(--bar-height,0%);min-height:3px;border-radius:5px 5px 2px 2px;background:var(--cancel)}
.operations-dashboard-month-chart span{margin-top:.3rem;color:var(--muted);font-size:.6875rem;font-weight:750;text-transform:uppercase}
@media(max-width:900px){.operations-dashboard-grid{grid-template-columns:1fr}.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.operations-dashboard-card>header{padding:1rem}.operations-dashboard-total{min-width:50px;height:50px;font-size:1.35rem}.operations-dashboard-chart,.operations-dashboard-followup-chart{padding:.3rem 1rem 1rem}.operations-dashboard-row,.operations-dashboard-followup-row{grid-template-columns:28px minmax(0,1fr) 28px}.operations-dashboard-row .dash-track,.operations-dashboard-followup-row .operations-dashboard-followup-track{grid-column:1/-1;grid-row:2}.operations-dashboard-followup-kpis{grid-template-columns:1fr;padding:0 1rem .8rem}.operations-dashboard-card>footer{padding:.7rem 1rem}.operations-dashboard-breakdown{padding:.8rem 1rem}.dash-kpi>b{font-size:1.75rem}.operations-dashboard-month-chart{gap:3px;padding:.5rem .75rem .9rem}}

/* Revenue forecasting workbench: the three models share one visual grammar so
   their outputs can be compared without presentation bias. */
.revenue-page{max-width:1320px}.revenue-model-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.revenue-model-tab{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink-2);text-decoration:none}.revenue-model-tab>i{flex:none;color:var(--blue-on);font-size:1.45rem}.revenue-model-tab span{display:grid;min-width:0}.revenue-model-tab strong{color:var(--deep);font-size:.88rem}.revenue-model-tab small{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.revenue-model-tab:hover{border-color:var(--tryp-blue);background:var(--blue-tint)}.revenue-model-tab.is-on{border-color:var(--tryp-blue);background:var(--blue-soft);box-shadow:inset 0 3px 0 var(--tryp-blue)}.revenue-method-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.8rem;margin-bottom:1rem;padding:1rem}.revenue-method-card>i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--blue-soft);color:var(--tryp-blue-700);font-size:1.35rem}.revenue-method-card p{margin:.2rem 0 0;color:var(--ink-2);font-size:.875rem;line-height:1.5}.revenue-status-grid,.revenue-learning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.revenue-status-grid article{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:.65rem;padding:.85rem}.revenue-status-grid article>i{color:var(--blue-on);font-size:1.25rem}.revenue-status-grid article div,.revenue-learning-grid article{min-width:0}.revenue-status-grid span,.revenue-learning-grid .section-kicker{display:block}.revenue-status-grid span{color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.revenue-status-grid strong{display:block;margin:.1rem 0;color:var(--deep);font-size:.95rem}.revenue-status-grid small{display:block;color:var(--muted);font-size:.68rem;line-height:1.35}.revenue-evaluation-note{display:flex;align-items:flex-start;gap:.45rem;margin-bottom:1rem;padding:.7rem .85rem;border:1px solid var(--warning);border-radius:var(--r-sm);background:var(--warning-soft);color:var(--warning-ink);font-size:.75rem;line-height:1.45}.revenue-learning-grid article{display:grid;gap:.12rem;padding:.9rem 1rem}.revenue-learning-grid article>strong{color:var(--deep);font-family:var(--font-display);font-size:1.45rem;font-variant-numeric:tabular-nums}.revenue-learning-grid article>strong.is-positive{color:var(--success-ink)}.revenue-learning-grid article>strong.is-negative{color:var(--danger)}.revenue-learning-grid article>small{color:var(--muted);font-size:.7rem;line-height:1.35}.revenue-revenue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.revenue-predicted-revenue{display:grid;gap:.18rem;padding:1rem;border-top:3px solid var(--success);background:linear-gradient(145deg,var(--surface),var(--success-soft))}.revenue-predicted-revenue>strong{color:var(--success-ink);font:800 1.45rem var(--font-display);font-variant-numeric:tabular-nums}.revenue-predicted-revenue>small{color:var(--muted);font-size:.7rem}.revenue-predicted-revenue--next{border-top-color:var(--tryp-blue);background:linear-gradient(145deg,var(--surface),var(--blue-soft))}.revenue-predicted-revenue--next>strong{color:var(--tryp-blue-700)}.revenue-month-card{overflow:hidden;margin-top:1rem}.revenue-month-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--border);background:var(--paper-2)}.revenue-month-card h2{margin:.14rem 0 0;color:var(--deep);font-family:var(--font-display);font-size:1.25rem}.revenue-month-card header p{margin:.16rem 0 0;color:var(--muted);font-size:.72rem}.revenue-month-kpis{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:.65rem}.revenue-month-kpis>div{padding:.55rem .65rem;border-left:2px solid var(--border-2)}.revenue-month-kpis span,.revenue-month-kpis small{display:block;color:var(--muted);font-size:.65rem}.revenue-month-kpis strong{display:block;color:var(--deep);font-size:1.05rem;font-variant-numeric:tabular-nums}.revenue-bar-legend{display:flex;align-items:center;justify-content:flex-end;gap:.85rem;flex-wrap:wrap;padding:.48rem 1.15rem;border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.7rem;font-weight:700}.revenue-bar-legend span{display:inline-flex;align-items:center;gap:.3rem}.revenue-bar-legend i{width:11px;height:11px;border-radius:3px}.revenue-bar-legend .is-individual,.revenue-stacked-bar .is-individual{background:var(--revenue-individual);fill:var(--revenue-individual)}.revenue-bar-legend .is-group,.revenue-stacked-bar .is-group{background:var(--revenue-group);fill:var(--revenue-group)}.revenue-bar-legend .is-forecast,.revenue-stacked-bar .is-forecast{background:var(--revenue-forecast);fill:var(--revenue-forecast)}.revenue-table-wrap{overflow:auto}.revenue-table{width:100%;min-width:920px;margin:0}.revenue-table th{padding:.55rem .65rem;background:var(--blue-tint);color:var(--blue-ink);font-size:.67rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.revenue-table td{padding:.58rem .65rem;border-color:var(--border);color:var(--ink-2);font-size:.78rem;vertical-align:middle}.revenue-table td>strong,.revenue-table td>span,.revenue-table td>small{display:block}.revenue-table td>small{color:var(--muted);font-size:.65rem}.revenue-table tr.is-actual{background:var(--gray-50)}.revenue-table tr.is-actual td{color:var(--muted)}.revenue-forecast-value{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.revenue-forecast-value strong{color:var(--deep);font-size:.9rem}.revenue-forecast-value small{color:var(--muted);font-size:.65rem}.revenue-stacked-bar{display:block;width:150px;height:9px;margin-top:.28rem;overflow:hidden;border-radius:var(--r-pill);background:var(--gray-100);cursor:help}.revenue-table progress{display:block;width:150px;height:7px;margin-top:.28rem;overflow:hidden;border:0;border-radius:var(--r-pill);background:var(--gray-100);accent-color:var(--tryp-blue)}.revenue-table progress::-webkit-progress-bar{border-radius:var(--r-pill);background:var(--gray-100)}.revenue-table progress::-webkit-progress-value{border-radius:var(--r-pill);background:var(--tryp-blue)}.revenue-table progress::-moz-progress-bar{border-radius:var(--r-pill);background:var(--tryp-blue)}.revenue-signals{max-width:290px}.revenue-signal{display:inline-flex!important;align-items:center;gap:.25rem;margin:.1rem .12rem .1rem 0;padding:.25rem .4rem;border-radius:var(--r-pill);background:var(--gray-100);color:var(--muted);font-size:.65rem;line-height:1.25}.revenue-signal.is-positive{background:var(--success-soft);color:var(--success-ink)}.revenue-signal.is-negative{background:var(--danger-soft);color:var(--danger)}.revenue-signal.is-holiday{background:var(--warning-soft);color:var(--warning-ink)}.revenue-source-note{display:flex;align-items:flex-start;gap:.45rem;margin:1rem 0;padding:.8rem;border-top:1px solid var(--border);color:var(--muted);font-size:.7rem;line-height:1.45}.revenue-source-note i{flex:none;color:var(--blue-on);font-size:1rem}
.revenue-bar-legend .is-closed-met{background:var(--success)}
.revenue-bar-legend .is-closed-missed{background:var(--danger)}
.revenue-closed-forecast-bar{display:block;width:150px;height:5px;margin-top:3px;overflow:hidden;border-radius:var(--r-pill);background:var(--gray-100);cursor:help}
.revenue-closed-forecast-bar.is-met rect{fill:var(--success)}
.revenue-closed-forecast-bar.is-missed rect{fill:var(--danger)}
@media(max-width:1100px){.revenue-status-grid,.revenue-learning-grid{grid-template-columns:repeat(2,1fr)}.revenue-month-card>header{align-items:flex-start;flex-direction:column}.revenue-month-kpis{width:100%}}
@media(max-width:700px){.revenue-model-tabs{grid-template-columns:1fr}.revenue-status-grid,.revenue-learning-grid,.revenue-revenue-grid{grid-template-columns:1fr}.revenue-month-kpis{grid-template-columns:repeat(2,1fr)}.revenue-month-kpis>div{border-left:0;border-top:2px solid var(--border-2)}.revenue-table{min-width:0}.revenue-table thead{display:none}.revenue-table,.revenue-table tbody,.revenue-table tr,.revenue-table td{display:block;width:100%}.revenue-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.8rem;border-bottom:1px solid var(--border)}.revenue-table td{min-width:0;padding:0;border:0}.revenue-table td::before{content:attr(data-label);display:block;margin-bottom:.12rem;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.revenue-table td.revenue-signals{grid-column:1/-1;max-width:none}.revenue-table progress,.revenue-stacked-bar,.revenue-closed-forecast-bar{width:100%}}

/* Gestão de Coordenadoras & Grupos. */
.cg-page{--cg-circle:40px}.cg-total{display:grid;min-width:126px;padding:.7rem 1rem;border:1px solid var(--sky);border-radius:var(--r-md);background:var(--surface);color:var(--deep);text-align:center}.cg-total b{font-size:1.35rem;font-variant-numeric:tabular-nums}.cg-total small{color:var(--muted);font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.cg-filters{display:grid;gap:.8rem;padding:1rem}.cg-filter-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.cg-filter-head h2{margin:.12rem 0 0;color:var(--deep);font-size:1rem}.cg-filter-head p{margin:.25rem 0 0;color:var(--muted);font-size:.75rem}.cg-filter-rule{height:2px;background:var(--border)}
.cg-coordinator-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.55rem}.cg-coordinator-filter{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:.55rem;min-height:58px;padding:.48rem .55rem;border:1.5px solid var(--border-2);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.cg-coordinator-filter>span{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-pill);background:var(--gray-100);color:var(--muted);font-size:.78rem;font-weight:900}.cg-coordinator-filter>b{overflow:hidden;color:var(--deep);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.cg-coordinator-filter>small{display:grid;place-items:center;min-width:25px;height:25px;border-radius:var(--r-pill);background:var(--paper);color:var(--muted);font-size:.67rem;font-weight:850}.cg-coordinator-filter.is-on{border-color:var(--blue-on);background:var(--blue-tint)}.cg-coordinator-filter.is-on>span{background:var(--tryp-blue);color:var(--surface)}.cg-coordinator-filter.is-inactive>b::after{content:" · inativa";color:var(--muted);font-weight:500}.cg-coordinator-filter.is-unassigned.is-on>span{background:var(--muted)}
.cg-phase-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.cg-phase-filter{display:flex;align-items:center;gap:.55rem;min-height:58px;padding:.55rem .65rem;border:1.5px solid var(--border-2);border-radius:var(--r-md);background:var(--surface);color:var(--muted);font:inherit;text-align:left;cursor:pointer}.cg-phase-filter>i{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:var(--r-sm);background:var(--gray-100);font-size:1.05rem}.cg-phase-filter>span{display:grid}.cg-phase-filter b{font-size:.78rem}.cg-phase-filter small{font-size:.67rem}.cg-phase-filter.is-on{border-color:var(--blue-on);background:var(--blue-tint);color:var(--deep)}.cg-phase-filter.is-on>i{background:var(--tryp-blue);color:var(--surface)}.cg-phase-filter[data-cg-phase="confirmed"].is-on{border-color:var(--success);background:var(--success-soft)}.cg-phase-filter[data-cg-phase="confirmed"].is-on>i{background:var(--success)}.cg-phase-filter[data-cg-phase="cancelled"].is-on{border-color:var(--danger);background:var(--danger-soft)}.cg-phase-filter[data-cg-phase="cancelled"].is-on>i{background:var(--danger)}
.cg-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.cg-search-grid label{display:grid;gap:.3rem}.cg-search-grid label>span{color:var(--deep);font-size:.72rem;font-weight:800}.cg-search-grid label>div{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;border:1.5px solid var(--border-2);border-radius:var(--r-md);background:var(--surface)}.cg-search-grid label>div:focus-within{border-color:var(--blue-on);box-shadow:0 0 0 3px var(--ring)}.cg-search-grid i{color:var(--blue-on);text-align:center}.cg-search-grid input{min-width:0;height:44px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.875rem}.cg-search-grid input:focus{outline:0}
.cg-month-filters{display:grid;grid-template-columns:repeat(12,minmax(54px,1fr));gap:.35rem}.cg-month-filter{display:grid;gap:1px;place-items:center;min-height:48px;padding:.35rem;border:1.5px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer}.cg-month-filter b{font-size:.68rem;text-transform:capitalize}.cg-month-filter small{font-size:.61rem;font-variant-numeric:tabular-nums}.cg-month-filter.is-on{border-color:var(--tryp-blue);background:var(--tryp-blue);color:var(--surface)}
.cg-year-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.45rem}.cg-year-filter{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:48px;padding:.5rem .7rem;border:1.5px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer}.cg-year-filter b{font-size:.86rem;font-variant-numeric:tabular-nums}.cg-year-filter small{font-size:.65rem}.cg-year-filter.is-on{border-color:var(--tryp-blue);background:var(--blue-tint);color:var(--deep)}.cg-year-filter.is-on b{color:var(--tryp-blue)}
.cg-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1.2rem 0 .7rem}.cg-list-head h2{margin:.1rem 0 0;color:var(--deep);font-size:1.05rem}.cg-years{display:grid;gap:1.3rem}.cg-year{display:grid;gap:.7rem}.cg-year>header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem}.cg-year>header span{color:var(--deep);font-size:1.35rem;font-weight:850}.cg-year>header i{height:2px;background:var(--sky)}.cg-month{overflow:hidden}.cg-month>header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem .85rem;background:var(--deep);color:var(--surface)}.cg-month>header>div{display:flex;align-items:baseline;gap:.4rem}.cg-month>header span{font-size:.92rem;font-weight:850;text-transform:capitalize}.cg-month>header b{font-variant-numeric:tabular-nums}.cg-month>header>div b{color:var(--sky);font-size:.7rem}.cg-month>header small{font-size:.68rem}.cg-group-list{display:grid}.cg-group-row{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(150px,1.1fr) minmax(190px,1fr) 82px minmax(230px,1.35fr);align-items:center;gap:.75rem;min-height:76px;padding:.65rem .8rem;border-bottom:1px solid var(--border);background:var(--surface)}.cg-group-row:last-child{border-bottom:0}.cg-group-row:hover{background:var(--blue-tint)}.cg-group-row>div,.cg-group-main{display:grid;gap:.15rem;min-width:0}.cg-group-row span{color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.cg-group-row b{overflow:hidden;color:var(--deep);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.cg-group-row small{color:var(--muted);font-size:.65rem}.cg-group-main{color:inherit;text-decoration:none}.cg-group-main:hover b{color:var(--blue-on);text-decoration:underline}.cg-group-rooms{text-align:center}.cg-group-rooms>b{font-size:1.05rem;font-variant-numeric:tabular-nums}.cg-group-coordinators>div{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.cg-initial{display:grid;place-items:center;width:var(--cg-circle);height:var(--cg-circle);flex:none;border:2px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font:inherit;font-size:.67rem;font-weight:900;cursor:pointer;transition:transform .12s,border-color .12s,background .12s}.cg-initial:hover:not(:disabled){transform:translateY(-1px);border-color:var(--blue-on);color:var(--blue-on)}.cg-initial.is-active{border-color:var(--tryp-blue);background:var(--tryp-blue);color:var(--surface);box-shadow:0 0 0 3px var(--ring)}.cg-initial.is-none.is-active{border-color:var(--muted);background:var(--muted)}.cg-initial:disabled{opacity:.38;cursor:not-allowed}.cg-initial.is-saving{color:transparent;pointer-events:none}.cg-initial.is-saving::after{content:"";width:15px;height:15px;border:2px solid var(--sky);border-top-color:var(--surface);border-radius:50%;animation:spin .7s linear infinite}.cg-empty{padding:2rem;text-align:center}.cg-empty>i{color:var(--blue-on);font-size:2rem}.cg-empty h2{margin:.4rem 0 .2rem;color:var(--deep);font-size:1rem}.cg-empty p{margin:0;color:var(--muted);font-size:.82rem}.cg-toast{position:fixed;right:22px;bottom:22px;z-index:1200;max-width:360px;padding:.75rem 1rem;border:1px solid var(--success-border);border-radius:var(--r-md);background:var(--success-soft);color:var(--success-ink);font-size:.82rem;font-weight:750}.cg-toast.is-error{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}
@media(max-width:1100px){.cg-month-filters{grid-template-columns:repeat(6,1fr)}.cg-group-row{grid-template-columns:minmax(170px,1.3fr) minmax(140px,1fr) minmax(180px,1fr) 75px}.cg-group-coordinators{grid-column:1/-1;padding-top:.45rem;border-top:1px solid var(--border)}}
@media(max-width:760px){.cg-phase-filters{grid-template-columns:repeat(2,1fr)}.cg-search-grid{grid-template-columns:1fr}.cg-group-row{grid-template-columns:1fr 1fr}.cg-group-main,.cg-group-coordinators{grid-column:1/-1}.cg-group-dates{grid-column:1}.cg-group-rooms{grid-column:2;text-align:left}.cg-filter-head,.cg-list-head{align-items:flex-start;flex-direction:column}.cg-filter-head .btn,.cg-list-head .btn{width:100%;justify-content:center}}
@media(max-width:575px){.cg-page{--cg-circle:38px}.cg-total{width:100%}.cg-coordinator-filters{grid-template-columns:1fr}.cg-month-filters{grid-template-columns:repeat(3,1fr)}.cg-phase-filters{grid-template-columns:1fr}.cg-group-row{grid-template-columns:1fr}.cg-group-main,.cg-group-agency,.cg-group-dates,.cg-group-rooms,.cg-group-coordinators{grid-column:1}.cg-group-rooms{text-align:left}.cg-toast{left:12px;right:12px;bottom:12px}}

/* Group identifiers and staff cancellation controls. */
.request-kind-tag{display:inline-block;border:1px solid var(--border-2);border-radius:var(--r-pill);padding:0 6px;font-size:.6875rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--surface);margin:2px 4px 2px 0;white-space:nowrap}
.request-arrival-label{display:block;color:var(--muted);font-size:.9375rem;overflow-wrap:anywhere}
.request-row-actions{flex-wrap:wrap;gap:5px}
.group-cancel-dialog{max-width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
.group-cancel-dialog fieldset{border:0;margin:0;padding:0}
.group-cancel-reason{display:flex!important;align-items:center;gap:12px;padding:10px 0;font-size:.9375rem}
.group-cancel-reason input{width:20px!important;height:20px;flex:0 0 20px}
.group-action-message{font-size:.9375rem;color:var(--muted);margin:8px 0;overflow-wrap:anywhere}
@media(max-width:900px){
 .staff-request-table td[data-label="Grupo"]{display:grid;grid-template-columns:minmax(0,1fr);text-align:left;gap:5px}
 .staff-request-table td[data-label="Grupo"]::before{display:none}
 .staff-request-table .request-alternative-list{min-width:0;max-width:100%}
 .staff-request-table .request-alternative-date{width:auto;min-width:0;flex-wrap:wrap;font-size:.9375rem}
 .staff-request-table .request-alternative-date b{white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:575px){
 .requests-board .stat-band{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .requests-board .stat-band>div{min-width:0;padding:12px}
 .requests-board .request-filter-toggle{min-width:0;gap:6px}
}
.revenue-table strong.revenue-closed-confidence{font-weight:800}
.revenue-table strong.revenue-closed-confidence.is-good{color:var(--success-ink)}
.revenue-table strong.revenue-closed-confidence.is-warning{color:var(--warning-ink);background:var(--warning-soft);border-radius:var(--r-sm);padding:.1rem .3rem}
.revenue-table strong.revenue-closed-confidence.is-poor{color:var(--danger-deep)}
/* Pedidos: coordinator filter without the unassigned avatar, Cancelados tri-state and Actividade Mensal */
:root{--chart-series-1:var(--coral-deep);--chart-series-2:var(--ocean-500);--chart-series-3:var(--gold-ink);--chart-series-4:var(--gray-700);--chart-series-5:var(--blue-on);--chart-series-6:#0F7C86}
.request-coordinator-filter.is-unassigned{padding-left:.8rem}
.request-cancelled-filter{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--sand)}
.request-cancelled-filter>span{display:inline-flex;align-items:center;gap:.3rem;padding:0 .45rem;color:var(--ink-2);font-size:.875rem;font-weight:800}
.request-cancelled-filter button{min-height:34px;padding:.3rem .7rem;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:.875rem;font-weight:800;cursor:pointer}
.request-cancelled-filter button:hover{color:var(--ink)}
.request-cancelled-filter button.is-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(10,40,60,.12)}
.request-cancelled-filter button:focus-visible{outline:2px solid var(--blue-on);outline-offset:2px}
.coordinator-activity{margin:1.25rem 0 0;overflow:hidden}
.coordinator-activity__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.2rem;border-bottom:1px solid var(--border);background:var(--paper-2)}
.coordinator-activity__head h2{margin:.1rem 0 0;color:var(--deep);font-size:1.1rem;font-weight:700}
.coordinator-activity__head p{margin:.25rem 0 0;color:var(--muted);font-size:.875rem}
.coordinator-activity__toggles{display:flex;gap:.45rem;flex-wrap:wrap}
.coordinator-activity__toggle{display:inline-flex;align-items:center;gap:.35rem;min-height:40px;padding:.4rem .8rem;border:2px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font:inherit;font-size:.875rem;font-weight:800;cursor:pointer}
.coordinator-activity__toggle:hover{border-color:var(--tryp-blue);color:var(--deep)}
.coordinator-activity__toggle.is-on{border-color:var(--tryp-blue);background:var(--tryp-blue);color:var(--surface)}
.coordinator-activity__toggle:focus-visible{outline:2px solid var(--blue-on);outline-offset:2px}
.coordinator-activity__chart{padding:1rem 1.2rem .25rem;overflow-x:auto}
.coordinator-activity__svg{display:block;width:100%;min-width:520px;height:auto}
.coordinator-activity__grid{stroke:var(--border);stroke-width:1}
.coordinator-activity__axis{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.coordinator-activity__today{stroke:var(--coral);stroke-width:1.5;stroke-dasharray:4 4}
.coordinator-activity__series{color:var(--series)}
.coordinator-activity__line{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.coordinator-activity__dot{fill:var(--surface);stroke:currentColor;stroke-width:2}
.coordinator-activity__hover{fill:transparent}
.coordinator-activity__hover:hover{fill:var(--blue-tint);fill-opacity:.55}
.coordinator-activity .series-0{--series:var(--chart-series-1)}.coordinator-activity .series-1{--series:var(--chart-series-2)}.coordinator-activity .series-2{--series:var(--chart-series-3)}.coordinator-activity .series-3{--series:var(--chart-series-4)}.coordinator-activity .series-4{--series:var(--chart-series-5)}.coordinator-activity .series-5{--series:var(--chart-series-6)}
.coordinator-activity__legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin:0;padding:.75rem 1.2rem 1rem;list-style:none}
.coordinator-activity__legend li{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.5rem .65rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);font-size:.9375rem}
.coordinator-activity__legend li>i{width:14px;height:4px;border-radius:2px;background:var(--series)}
.coordinator-activity__legend li>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coordinator-activity__legend li>strong{color:var(--deep);font-variant-numeric:tabular-nums}
.coordinator-activity__empty{margin:0;padding:2rem 1.2rem;color:var(--muted);text-align:center}
.coordinator-activity__foot{display:flex;gap:.4rem;padding:.7rem 1.2rem;border-top:1px solid var(--border);background:var(--blue-tint);color:var(--muted);font-size:.8125rem}
.coordinator-activity__foot i{color:var(--blue-on);font-size:1rem}
.analysis-records{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;margin:.75rem 0 0}
.analysis-records article{display:grid;gap:.15rem;padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}
.analysis-records article>span{color:var(--muted);font-size:.8125rem;font-weight:800}
.analysis-records article>strong{color:var(--deep);font-size:1.25rem;font-variant-numeric:tabular-nums}
.analysis-records article>small{color:var(--muted);font-size:.8125rem;font-variant-numeric:tabular-nums}
.analysis-records article.is-total{background:var(--blue-tint);border-color:var(--blue-soft-2)}
@media(max-width:768px){.request-cancelled-filter{margin-left:0;width:100%;justify-content:space-between}.coordinator-activity__head{align-items:flex-start;flex-direction:column}}
/* Follow-ups shortcut: overdue in red, due in the next 3 days on pale yellow */
.sb-cta__counts { display:inline-flex; align-items:center; gap:4px; margin-left:auto; }
.sb-cta__counts .sb-cta__count { margin-left:0; }
.sb-cta__count.is-overdue { background:var(--danger); color:var(--surface); }
.sb-cta__count.is-soon { background:var(--warning-soft); color:var(--warning-ink); box-shadow:inset 0 0 0 1px var(--warning); }
/* Follow-ups: all-coordinator "Próximos 3 dias" list (root, Revenue, Comercial) */
.staff-followup-upcoming-all { margin-top:1.25rem; }
.staff-followup-upcoming-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1rem; padding:1rem; }
.staff-followup-upcoming-coordinator { min-width:0; }
.staff-followup-upcoming-coordinator h3 { display:flex; align-items:center; gap:.5rem; margin:0 0 .5rem; color:var(--deep); font-size:.9375rem; font-weight:800; }
.staff-followup-upcoming-coordinator h3 .staff-followup-avatar { width:30px; height:30px; font-size:.7rem; }
.staff-followup-upcoming-coordinator h3 small { margin-left:auto; min-width:24px; padding:.1rem .45rem; border-radius:var(--r-pill); background:var(--warning-soft); color:var(--warning-ink); font-size:.75rem; font-weight:800; text-align:center; }
/* Agency Pedidos board: same Atlântico cell language as the staff board */
.agency-request-table .req-actions{text-align:right;}
.agency-request-table .req-actions .btn{margin:2px 0 2px 4px;}
.agency-request-table .rq-meta .chip{font-size:.6875rem;}
