/* Identity from https://vagareturismo.com.br/.
   Cormorant Garamond / Jost and the original website logo are served locally. */
:root {
  --sage: #7a8c6e;
  --sage-light: #a3b396;
  --sage-dark: #5d6e52;
  --sage-pale: #c8d4be;
  --sage-bg: #eef1eb;
  --cream: #f5f2ed;
  --cream-warm: #ede9e2;
  --dark: #2a2a27;
  --brand-ink: #4a4a45;
  --warm-gray: #6b6860;
  --gold: #d4a84b;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --olive: var(--sage-dark);
  --green: var(--sage);
  --bg: var(--cream);
  --beige: var(--cream-warm);
  --ink: var(--dark);
  --muted: var(--warm-gray);
  --border: rgba(122, 140, 110, .25);
  --white: #fff;
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}

::selection { color: #fff; background: var(--sage-dark); }
h1 { font-family: var(--serif); font-size: clamp(36px, 3.2vw, 48px); letter-spacing: -.6px; font-weight: 500; }
h1 em { color: var(--sage-dark); font-weight: 400; }
h2 { font-family: var(--serif); font-size: 27px; line-height: 1.15; font-weight: 500; letter-spacing: 0; }
h3 { font-weight: 500; }
.eyebrow { color: var(--sage-dark); font-weight: 500; letter-spacing: 1.5px; }
button, .button { background: var(--sage-dark); border-color: var(--sage-dark); border-radius: 2px; font-weight: 500; }
button:hover, .button:hover { background: var(--dark); border-color: var(--dark); }
.secondary { color: var(--sage-dark); background: transparent; border-color: var(--border); }
.secondary:hover { background: var(--sage-bg); border-color: var(--sage); }
.text-button, .text-button:hover { border: 0; background: transparent; }
input, select, textarea { border-radius: 3px; }
input:focus, select:focus, textarea:focus, a:focus-visible, button:focus-visible, summary:focus-visible { outline-color: var(--sage); }
article, .panel { border-radius: 5px; }
.sidebar { background: #fff; }
.sidebar .brand { margin: 0; align-self: center; }
.brand { display: flex; align-items: center; justify-content: center; text-decoration: none; width: fit-content; }
.brand img { display: block; width: 94px; height: 96px; object-fit: contain; }
.nav-caption { color: var(--warm-gray); margin-top: 30px; text-align: center; font-size: 9px; letter-spacing: 1.6px; }
.sidebar nav a { border-radius: 3px; }
.sidebar nav a:hover { background: var(--cream); }
.sidebar nav a.active { color: var(--sage-dark); background: var(--sage-bg); font-weight: 500; }
.sidebar-bottom .avatar { color: var(--sage-dark); background: var(--sage-bg); }
.topbar { background: #fff; color: var(--brand-ink); }
.stats strong { font-family: var(--serif); color: var(--sage-dark); font-size: 48px; font-weight: 500; }
.stats a { color: var(--sage-dark); }
.stats small { font-size: 12px; }
.badge { color: var(--sage-dark); background: var(--sage-bg); }
.badge.overdue { color: #995547; background: #f7eae3; }
.badge.warning { color: #806a37; background: #f4eedb; }
.travel-panel { background: var(--sage-bg); }
.trip-mini h3, .empty h3, .countdown { font-family: var(--serif); }
.countdown small { font-family: var(--sans); }
.empty h3 { font-size: 28px; }
.empty-mark { border-color: var(--sage-pale); color: var(--sage); }
.linked:hover { background: var(--cream); }
.list-row { border-color: var(--border); }
th { background: var(--sage-bg); }
th, td { border-color: var(--border); }
.kanban-column { background: var(--cream-warm); border-color: var(--border); border-radius: 5px; }
.kanban-column h2 { font-family: var(--sans); font-size: 13px; font-weight: 500; }
.deal-card { border-radius: 4px; }
.card-next { border-color: var(--border); }
.kanban { min-height: 0; align-items: flex-start; }
.kanban-column { display: flex; flex-direction: column; min-width: 250px; max-height: min(620px, 65dvh); }
.kanban-column > .section-heading { flex: 0 0 auto; margin-bottom: 10px; }
.kanban-drop { min-height: 140px; overflow-y: auto; scrollbar-gutter: stable; padding: 0 3px 0 0; }
.kanban .deal-card { padding: 12px; margin-bottom: 8px; }
.kanban .deal-card:last-child { margin-bottom: 0; }
.kanban .deal-card p { margin: 4px 0 8px; }
.kanban .card-next { margin: 8px 0 6px; padding-top: 7px; }
.kanban .card-next small:empty { display: none; }
.kanban .column-empty { margin-bottom: 0; padding: 18px 6px; }
/* Operational screens: readable text and a compact, consistent hierarchy. */
:root { --muted: #595d53; }
small, .small, .muted.small, .deal-card p, .column-empty { font-size: 13px; }
label, dt, .sidebar nav a, .section-heading > a, .tabs a, .tabs button { font-size: 13px; }
.topbar { min-height: 48px; padding-top: 12px; padding-bottom: 12px; }
.heading { margin-bottom: 20px; }
.stats { margin: 18px 0; }
.stats article { padding: 17px 20px; }
.stats small { min-height: 0; font-size: 13px; }
.stats strong { font-size: 38px; margin: 5px 0 9px; }
.stats a { font-size: 13px; }
.priority-group { margin-top: 20px; }
.priority-group > h3 { color: var(--sage-dark); font-size: 15px; margin: 0; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.priority-group .list-row { padding: 13px 0; }
.priority-group .badge.overdue { color: #823f30; }
.contract-summary p { margin: 12px 0; max-width: 70ch; }
.finance-primary article { border-top: 3px solid var(--sage); }
.finance-breakdown > summary { cursor: pointer; font-weight: 500; }
.finance-breakdown[open] > summary { margin-bottom: 24px; }
.funnel-view-switch { display: flex; gap: 6px; margin-bottom: 12px; }
.funnel-view-switch button { min-height: 40px; padding: 7px 18px; }
.funnel-view-switch [aria-pressed=true] { color: white; background: var(--sage-dark); }
.stage-total { margin-top: 5px; color: var(--sage-dark); font-variant-numeric: tabular-nums; }
.kanban .card-next small { font-size: 12px; font-weight: 500; }
.kanban .deal-card strong { font-size: 14px; }
.kanban.funnel-list { display: grid; grid-template-columns: 1fr; overflow: visible; }
.funnel-list .kanban-column { max-height: none; min-width: 0; }
.funnel-list .kanban-drop { min-height: 0; overflow: visible; padding: 0; }
.funnel-list .deal-card .card-link { display: grid; grid-template-columns: 1.5fr 1fr; column-gap: 20px; align-items: center; }
.funnel-list .card-next { grid-column: 1 / -1; }
.funnel-list .column-empty { padding: 8px 0; }
@media(max-width:700px) {
  .sidebar nav a { font-size: 12px; min-height: 48px; }
  .sidebar-bottom, .sidebar-bottom small, .sidebar-bottom button { font-size: 12px; }
  .heading h1 { font-size: 34px; overflow-wrap: anywhere; }
  .stats strong { font-size: 32px; }
  .stats article { padding: 14px; }
  .stats a, .stats small { font-size: 12px; }
  .funnel-list .deal-card .card-link { display: block; }
  .funnel-list .kanban-column { padding: 12px; }
  .funnel-list .deal-card { cursor: auto; }
  .calendar-day-head > a { min-width: 32px; min-height: 32px; }
  .actions .button, .actions button { min-height: 44px; }
}
.calendar-event { color: var(--sage-dark); background: var(--sage-bg); border-radius: 3px; }
.notice { background: var(--sage-bg); border-color: var(--sage-pale); border-radius: 3px; }
.notice.error { border-color: #ddc1b7; background: #faeee8; }
.timeline-item { border-color: var(--sage-pale); }
.timeline-item::before { background: var(--sage); }
.quick > div { border-radius: 3px; }
.public header { display: flex; align-items: center; justify-content: center; background: #fff; padding: 18px; }
.public .brand img { width: 78px; height: 80px; }
.login h1 { font-family: var(--serif); font-size: clamp(42px, 5vw, 64px); font-weight: 400; }
.login h1 em { font-weight: 400; }
.login article { border-top: 2px solid var(--sage); }
.login .button { min-height: 48px; }
footer { color: var(--warm-gray); }

@media (max-width: 850px) {
  .section-heading h2 { font-size: 25px; }
}
@media (max-width: 600px) {
  .sidebar { background: #fff; }
  .sidebar .brand { margin: 0 auto; }
  .brand img { width: 66px; height: 68px; }
  .sidebar nav { margin-top: 12px; }
  .sidebar nav a.active { background: var(--sage-bg); }
  .stats strong { font-size: 40px; }
  .stats small { font-size: 11px; }
  h1 { font-size: 38px; }
  .section-heading h2 { font-size: 25px; }
}
.field-full{grid-column:1 / -1}
html:has([data-revenue-form]){overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:var(--sage) var(--cream-warm)}
html:has([data-revenue-form])::-webkit-scrollbar{width:12px}
html:has([data-revenue-form])::-webkit-scrollbar-track{background:var(--cream-warm)}
html:has([data-revenue-form])::-webkit-scrollbar-thumb{background:var(--sage);border:3px solid var(--cream-warm);border-radius:10px}
.revenue-editor{overflow:visible}
.revenue-save-actions{position:sticky;bottom:0;padding:14px 0;background:var(--white);border-top:1px solid var(--border);z-index:2}
.finance-extra{margin:20px 0}.finance-extra>summary{padding:14px 0}.finance-extra>article{margin-top:10px}
.finance-stats.stats strong{font-size:clamp(25px,2.2vw,36px);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.context-summary{padding:16px 20px;background:var(--sage-bg);border-left:3px solid var(--sage);margin:20px 0 25px;border-radius:5px}.context-summary small,.context-summary strong,.context-summary span{display:block}.context-summary small{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.context-summary strong{font-size:16px;margin:4px 0}.context-summary span{font-size:12px;color:var(--muted)}
.task-options{padding:16px 0;border-top:1px solid var(--border);margin:20px 0}.task-options>summary{font-size:13px}.task-options .field{margin-top:18px}
.opportunity-path{display:flex;gap:4px;overflow-x:auto;margin:0 0 24px;padding:4px 0}.opportunity-path form{display:flex;flex:1;min-width:130px}.opportunity-path button{width:100%;background:#e9ede4;color:#5d6e52;border:0;border-radius:4px;font-size:12px;min-height:44px}.opportunity-path button.current{opacity:1;background:var(--sage-dark);color:white;cursor:default}
.activity-event{display:flex;gap:14px;padding:20px 0;border-bottom:1px solid var(--border)}.activity-icon{border-radius:50%;background:var(--sage-bg);color:var(--sage-dark);width:33px;height:33px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-body{flex:1;min-width:0}.activity-body .section-heading{margin:0 0 5px}.activity-body small{color:var(--muted);font-size:12px}.activity-relation{margin:8px 0 0;font-size:12px;color:var(--muted)}
.pipeline-config-row{display:grid;grid-template-columns:minmax(180px,1fr) 100px minmax(160px,.6fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--border);align-items:center}.pipeline-config-row small{display:block;color:var(--muted);margin-top:5px}.pipeline-config-row .checkbox{display:flex;flex-wrap:wrap;gap:10px}.pipeline-config-row input[type=checkbox]{width:18px;height:18px}.pipeline-config-row .errorlist{flex-basis:100%}
@media(max-width:700px){.pipeline-config-row{grid-template-columns:1fr 80px}.pipeline-config-row .checkbox{grid-column:1/-1}.activity-event .section-heading{flex-wrap:wrap}.opportunity-path form{min-width:115px}}
.customer-followup>summary{cursor:pointer;color:var(--olive);margin-bottom:20px}

/* Public entrance: the brand's cream, sage and editorial typography. */
.public:has(.signin-scene) header{display:none}
.public:has(.signin-scene) main{max-width:none;padding:0}
.public:has(.signin-scene) footer{background:#f5f2ed;margin:0;padding:18px}
.signin-scene{display:grid;grid-template-columns:1.1fr 1fr;min-height:calc(100dvh - 55px);background:#f5f2ed}
.signin-story{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;background:#e8eddf;padding:70px clamp(35px,6vw,110px);color:#35422e}
.signin-kicker{font-size:10px;letter-spacing:2.6px;font-weight:500}
.signin-story h1{font:400 clamp(45px,5vw,76px)/1.05 var(--serif);letter-spacing:-1.5px;margin:38px 0 24px}
.signin-story h1 em{color:#6e805f;font-weight:400}
.signin-story>p{font-size:15px;line-height:1.9;color:#58634f}
.journey-art{height:180px;position:relative;margin:24px 0 30px;max-width:400px}
.journey-orbit{display:block;position:absolute;inset:25px 15px 10px 0;border:1px dashed #91a17d;border-radius:50%;transform:rotate(-16deg)}
.journey-orbit::before{content:'';position:absolute;inset:20px -35px -20px 28px;border:1px solid #bac8aa;border-radius:50%}
.journey-plane{position:absolute;right:12px;top:6px;transform:rotate(-18deg);font-size:47px;color:#5d6e52;background:#e8eddf;padding:0 8px}
.journey-dot{position:absolute;left:12px;bottom:33px;width:9px;height:9px;border-radius:50%;background:#7a8c6e;box-shadow:0 0 0 7px #e8eddf}
.journey-note{position:absolute;left:36px;bottom:25px;font:italic 22px var(--serif);background:#e8eddf;padding:8px}
.signin-points{display:flex;gap:30px;border-top:1px solid #c8d4be;padding-top:22px;color:#829173;font-size:11px}
.signin-points b{display:block;font-size:12px;letter-spacing:.4px;color:#4d5b43;margin-top:5px;font-weight:400}
.signin-welcome{padding:46px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.signin-card{width:100%;max-width:410px;text-align:center;background:#fff;border:1px solid #e6e5dc;border-radius:16px;padding:34px 34px 26px;box-shadow:0 18px 65px #4a4a4510}
.signin-logo{width:78px;height:80px;object-fit:contain;margin-bottom:25px}
.signin-card .eyebrow{font-size:9px;letter-spacing:2px}
.signin-card h2{font:400 44px/1.05 var(--serif);margin:16px 0 20px;color:#343a2e}
.signin-card>.muted{font-size:13px;line-height:1.8;margin-bottom:28px}
.google-signin{width:100%;gap:13px;border-radius:7px;min-height:52px;font-size:14px;font-weight:500}
.google-signin>span:last-child{margin-left:auto}.google-letter{background:white;color:#4285f4;border-radius:50%;width:24px;height:24px;font:bold 18px/24px Arial}
.signin-account{font-size:11px;color:var(--muted);line-height:1.9;margin:20px 0 25px}.signin-account strong{font-weight:500;color:#58634f}
.signin-security{border-top:1px solid #efeee8;padding-top:20px;font-size:10px;color:#7b8074}.signin-security span{margin-right:5px;color:#718361}
.signin-signature{font:italic 19px var(--serif);color:#7c8073;margin-top:25px}
.calendar-connection{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#eef1eb;border:1px solid var(--border);border-radius:9px;padding:16px 22px;margin-bottom:25px}
.calendar-connection strong{font-weight:500}.calendar-connection small{display:block;color:var(--muted);margin-top:3px}.calendar-connection .actions,.calendar-connection form{margin:0}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:20px 0}
.calendar-nav{margin:0;gap:7px}.calendar-nav h2{margin:0 0 0 16px;font-size:32px;text-transform:capitalize}.calendar-nav .button{padding:7px 13px}
.calendar-switch{display:flex;border:1px solid var(--border);border-radius:6px;padding:3px;background:white}.calendar-switch a{padding:7px 17px;border-radius:3px;font-size:12px}.calendar-switch .active{background:var(--sage-dark);color:white}
.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fff;border:1px solid var(--border);border-radius:9px;overflow:hidden}
.calendar-weekday{font-size:10px;letter-spacing:1.3px;color:#7b8175;text-align:right;padding:13px 15px;background:#fafaf6;border-bottom:1px solid var(--border)}
.calendar-day{min-height:122px;padding:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#fafaf7;color:#a1a494}.calendar-day.is-today{background:#f7f9f3}
.calendar-day-head{display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse;margin:0 0 7px;padding:0 2px}.calendar-day-head time{display:flex;align-items:center;justify-content:center;width:27px;height:27px;font-size:12px}.is-today .calendar-day-head time{background:var(--sage-dark);color:white;border-radius:50%}.calendar-day-head>a{font-size:18px;line-height:25px;width:24px;text-align:center;color:#a1ad95;border-radius:4px}.calendar-day-head>a:hover{background:var(--sage-bg);color:var(--sage-dark)}
.calendar-day .calendar-event,.birthday-event{display:block;margin:5px 0;padding:6px 7px;border-left:2px solid #91a580;border-radius:3px;background:#eef1eb;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.calendar-day .calendar-event time{font-size:10px;margin-right:5px}.calendar-day .calendar-event strong{font-weight:500}.calendar-day .calendar-event small,.birthday-event small{display:block;font-size:10px;margin-top:3px;opacity:.8}.calendar-day .checkpoint-event{background:#e8efee;border-color:#66958b;color:#416c63}.birthday-event{background:#f8f0de;border-color:#c6a25b;color:#8b6e31}
.calendar-week .calendar-day{min-height:380px}.calendar-legend{display:flex;gap:24px;font-size:11px;color:var(--muted);padding:0 4px;margin:15px 0 28px}.calendar-legend span:nth-child(2){color:#416c63}.calendar-legend span:nth-child(3){color:#8b6e31}
.calendar-item{margin-bottom:8px}.meet-access{margin:7px 0 10px;min-width:0}.meet-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meet-buttons>a{font-size:12px}.meet-link{margin-top:5px}.meet-link input{margin-top:5px;font-size:12px;min-width:0}.meet-access [data-copy-status]{display:block;font-size:11px;margin-top:4px;color:var(--sage-dark)}.meet-pending{display:block;font-size:10px;margin:3px 0 8px;color:var(--muted)}.calendar-day .meet-buttons{gap:5px}.calendar-day .meet-buttons>a,.calendar-day .meet-buttons button{font-size:10px}.calendar-day .meet-buttons button{padding:4px 6px}.calendar-day .meet-link summary{font-size:10px}.calendar-list-item{padding-bottom:12px;border-bottom:1px solid var(--border)}.calendar-list-item .list-row{border-bottom:0;padding-bottom:5px}
.calendar-settings{padding:16px 0;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.calendar-settings>summary{font-size:13px}.calendar-settings p{max-width:800px}.calendar-settings form small{display:block;margin-top:10px}
@media(max-width:1050px){.signin-story{padding:50px 35px}.calendar-toolbar{flex-wrap:wrap}.calendar-connection{align-items:flex-start;flex-wrap:wrap}.calendar-scroll{overflow-x:auto}.month-calendar{min-width:700px}.calendar-nav h2{font-size:28px}}
@media(max-width:700px){.signin-scene{grid-template-columns:1fr}.signin-story{padding:35px 26px 28px}.signin-story h1{font-size:46px;margin:20px 0 15px}.signin-story>p{font-size:13px;margin-bottom:0}.journey-art,.signin-points{display:none}.signin-welcome{padding:28px 20px}.signin-card{padding:28px}.signin-card h2{font-size:39px}.signin-signature{font-size:17px}.signin-logo{margin-bottom:16px}.calendar-nav{flex-wrap:wrap}.calendar-nav h2{font-size:26px;margin-left:7px}.calendar-legend{gap:12px;flex-wrap:wrap}.calendar-connection{padding:15px}.calendar-connection button{font-size:12px}}
