.dashboard_tabs { display: flex; gap: var(--space-6); border-bottom: 1px solid var(--color-border); margin-bottom: var(--space-6); color: var(--color-muted); font-size: var(--font-sm); }
.dashboard_tabs > a, .dashboard_tabs > span { padding: 0 0 var(--space-3); }
.dashboard_tabs .is_active { color: var(--color-brand); border-bottom: 2px solid var(--color-brand); font-weight: 600; }
.dashboard_tabs .period_note { display: inline-flex; align-items: center; gap: var(--space-2); margin-left: auto; font-size: 12px; }
.period_note .icon { --icon-size: 13px; }
.metric_grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-bottom: var(--space-6); }
.metric_card { padding: var(--space-4) var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-card); min-width: 0; }
.metric_top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); font-size: 13px; color: #6e7e87; }
.metric_icon { width: 32px; height: 32px; display: inline-grid; place-items: center; border-radius: var(--radius-md); flex-shrink: 0; }
.metric_icon .icon { --icon-size: 16px; }
.metric_value { display: block; font-size: var(--font-metric); letter-spacing: -.9px; margin: var(--space-1) 0 var(--space-2); font-weight: 600; line-height: 1.3; font-variant-numeric: tabular-nums; }
.metric_value--currency { font-size: clamp(20px, 1.9vw, 28px); margin-top: var(--space-2); margin-bottom: 10px; white-space: nowrap; }
.metric_unit { font-size: 23px; margin-left: 2px; }
.metric_bottom { display: flex; align-items: center; justify-content: flex-end; min-height: 18px; margin-top: var(--space-1); }
.metric_bottom a { color: #90a2a9; }
.metric_bottom .icon { --icon-size: 13px; }

/* Sprint 11 -- hierarquia visual do dashboard em 3 blocos (KPIs
   principais grandes, KPIs de gestão discretos, Operação compacta).
   Nenhuma dessas classes existe fora do dashboard, então não afeta outra
   tela. Explicação de cada indicador (metric.hint) não aparece mais como
   texto visível -- vira `title` no card/pill (tooltip nativo do
   navegador), reduzindo o texto sem perder a informação. */
.metric_grid--secondary { margin-top: calc(-1 * var(--space-3)); }
.metric_card--secondary { padding: var(--space-3) var(--space-4); box-shadow: none; }
.metric_card--secondary .metric_top { font-size: 12px; }
.metric_card--secondary .metric_icon { width: 26px; height: 26px; }
.metric_card--secondary .metric_icon .icon { --icon-size: 14px; }
.metric_card--secondary .metric_value { font-size: 22px; margin: var(--space-1) 0 0; }
.metric_card--secondary .metric_value--currency { font-size: 20px; margin-top: var(--space-1); margin-bottom: 0; }
.metric_card--secondary .metric_unit { font-size: 17px; }

.operacao_section { margin: var(--space-7) 0 var(--space-6); }
.operacao_title { font-size: var(--font-sm); font-weight: 650; color: var(--color-muted); text-transform: uppercase; letter-spacing: .8px; margin: 0 0 var(--space-3); }
.operacao_row { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.operacao_pill { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); border-radius: var(--radius-full); border: 1px solid var(--color-border); background: var(--color-surface); font-size: var(--font-sm); color: var(--color-muted); white-space: nowrap; }
.operacao_dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.operacao_dot.tone_blue, .operacao_dot.tone_amber, .operacao_dot.tone_teal, .operacao_dot.tone_green, .operacao_dot.tone_violet, .operacao_dot.tone_red { background: currentColor; }
.operacao_value { color: var(--color-text); font-variant-numeric: tabular-nums; }
.dashboard_charts { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); gap: var(--space-6); margin-bottom: var(--space-6); }
.chart_summary { display: flex; align-items: center; gap: var(--space-3); padding: 0 var(--space-6); }
.chart_summary > strong { font-size: 24px; letter-spacing: -.7px; }
.sales_chart { position: relative; display: flex; height: 192px; margin: var(--space-5) var(--space-6) var(--space-3); gap: var(--space-3); }
.chart_grid { display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 25px; font-size: 11px; color: #8c9ba2; min-width: 55px; }
.chart_grid span::after { content: ""; height: 1px; border-top: 1px dashed #e9eef0; position: absolute; left: 67px; right: 0; margin-top: 8px; }
.chart_bars { flex: 1; display: flex; align-items: stretch; justify-content: space-around; gap: var(--space-5); min-width: 0; z-index: 1; }
.chart_column { display: flex; flex-direction: column; align-items: center; flex: 1; gap: var(--space-2); min-width: 0; }
.bar_track { height: 100%; width: 100%; max-width: 44px; display: flex; align-items: flex-end; position: relative; }
.chart_bar { width: 100%; height: 100%; position: relative; }
.chart_bar svg { display: block; width: 100%; height: 100%; overflow: visible; }
.chart_bar rect { fill: #9cc9c0; }
.chart_bar--current rect { fill: var(--color-accent-vivid); }
.chart_bar span { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); background: var(--color-sidebar); color: white; white-space: nowrap; font-size: 12px; padding: 4px 7px; border-radius: 4px; display: none; }
.chart_column:hover .chart_bar span { display: block; }
.chart_column > span { font-size: 12px; color: var(--color-muted); }
.has_charts .sales_meter { display: none; }
.sales_meter { width: 100%; }
.chart_data { font-size: 12px; color: var(--color-muted); margin: var(--space-2) var(--space-6); }
.chart_data summary { text-decoration: underline; text-underline-offset: 2px; }
.chart_data table { margin-top: var(--space-3); }
.chart_legend { border-top: 1px solid var(--color-border); padding: var(--space-3) var(--space-6); display: flex; align-items: center; gap: var(--space-2); font-size: 12px; color: var(--color-muted); }
.legend_dot--teal { background: var(--color-accent-vivid); }
.legend_dot--light { background: #dcebe6; }
.legend_note { margin-left: auto; color: #8a9aa3; font-size: 11px; }
.conversion_visual { display: grid; place-items: center; padding: var(--space-3) 0; }
.conversion_ring { width: 173px; height: 173px; position: relative; border: 15px solid #e8f1ee; border-radius: 50%; display: grid; place-items: center; }
.has_charts .conversion_ring { border: 0; }
.conversion_ring svg { position: absolute; width: 100%; height: 100%; inset: 0; transform: rotate(-90deg); }
.ring_track { fill: none; stroke: #e8f1ee; stroke-width: 14; }
.ring_value { fill: none; stroke: var(--color-accent-vivid); stroke-width: 14; stroke-linecap: round; }
.conversion_ring > div { text-align: center; }
.conversion_ring strong { display: block; font-size: 32px; font-weight: 600; letter-spacing: -1px; }
.conversion_ring strong span { font-size: 20px; }
.conversion_ring small { color: var(--color-muted); font-size: 12px; }
.conversion_legend { padding: var(--space-4) var(--space-6) var(--space-3); display: flex; gap: var(--space-5); justify-content: center; }
.conversion_legend > div { font-size: 12px; display: flex; align-items: center; gap: 6px; color: var(--color-muted); }
.conversion_legend strong { margin-left: var(--space-2); color: var(--color-text); font-size: var(--font-sm); }
.formula_note { font-size: 12px; color: var(--color-muted); padding: var(--space-3) 0; line-height: 1.6; }
.panel > .formula_note { text-align: center; padding: var(--space-2) var(--space-4) var(--space-5); }
.section_grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-bottom: var(--space-6); align-items: start; }
.section_grid--wide { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); }
.return_item { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-6); border-top: 1px solid #f0f3f4; }
.return_item .person { min-width: 175px; }
.return_item .person_name { font-size: 13px; }
.return_destination { color: var(--color-muted); font-size: 12px; min-width: 0; flex: 1; }
.return_destination .icon { --icon-size: 12px; margin-right: 3px; }
.return_time { margin-left: auto; font-size: 11px; white-space: nowrap; }
.return_time small { display: block; font-size: 11px; color: var(--color-muted); margin-top: 3px; }
.origin_list { padding: 0 var(--space-6) var(--space-6); }
.origin_item { margin-top: var(--space-4); }
.origin_item > div { display: flex; justify-content: space-between; margin-bottom: 7px; font-size: var(--font-xs); }
.origin_item small { font-size: 11px; font-weight: 400; color: var(--color-muted); margin-left: 3px; }
.compact_table td { padding-top: var(--space-4); padding-bottom: var(--space-4); }
.compact_table .person { gap: var(--space-2); }
.compact_table .person strong { font-size: var(--font-xs); }
.activity_list { list-style: none; padding: 0 var(--space-6) var(--space-5); margin: 0; }
.activity_list li { display: flex; align-items: flex-start; gap: var(--space-3); padding-top: var(--space-4); }
.activity_marker { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; }
.activity_marker .icon { --icon-size: 13px; }
.activity_list strong { font-size: var(--font-xs); }
.activity_list p { font-size: 12px; color: var(--color-muted); margin-top: 2px; }
.activity_list small { font-size: 11px; color: #91a0a8; }
.summary_strip { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); font-size: var(--font-sm); color: var(--color-muted); }
.summary_strip > span, .summary_strip > a { display: flex; align-items: center; gap: var(--space-2); }
.summary_strip strong { color: var(--color-text); }
.summary_strip a { color: #a2723d; font-size: var(--font-xs); }
.summary_strip .icon { --icon-size: 16px; }
.back_link { display: inline-flex; gap: var(--space-2); align-items: center; color: var(--color-muted); font-size: var(--font-sm); margin-bottom: var(--space-6); }
.back_link .icon { --icon-size: 15px; }
.detail_heading { display: flex; align-items: center; gap: var(--space-4); }
.detail_heading h1 { font-size: 25px; }
.client_detail_grid { display: grid; grid-template-columns: 285px minmax(0, 1fr); gap: var(--space-6); align-items: start; }
.detail_sidebar, .detail_main { display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; }
.detail_data { padding: 0 var(--space-6) var(--space-6); margin: 0; display: flex; flex-direction: column; gap: var(--space-5); }
.detail_data dt { font-size: 12px; color: var(--color-muted); margin-bottom: 5px; }
.detail_data dd { margin: 0; font-size: var(--font-sm); overflow-wrap: anywhere; }
.next_contact_panel { padding-bottom: var(--space-5); }
.next_contact_panel > strong, .next_contact_panel > p, .next_contact_panel > .badge, .next_contact_panel > .button { margin-left: var(--space-6); }
.next_contact_date { font-size: var(--font-lg); display: block; }
.next_contact_panel > p { color: var(--color-muted); font-size: var(--font-sm); margin-bottom: var(--space-3); }
.next_contact_panel > .button { display: flex; margin-top: var(--space-5); }
.trip_card { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-5); padding: var(--space-6); background: #e7f1ed; border: 1px solid #dbe8e2; border-radius: var(--radius-lg); }
.trip_icon { width: 52px; height: 52px; background: #d8e9e1; color: #447c6d; display: grid; place-items: center; border-radius: var(--radius-lg); }
.trip_icon .icon { --icon-size: 27px; }
.trip_card h2 { font-size: 22px; }
.trip_card p:not(.eyebrow) { font-size: 13px; color: #668376; margin-top: 5px; }
.trip_budget { margin-left: auto; }
.trip_budget small { font-size: 12px; color: #688a7f; }
.trip_budget strong { display: block; font-size: var(--font-lg); margin-top: 2px; }
.timeline { list-style: none; padding: var(--space-2) var(--space-6) var(--space-6); margin: 0; }
.timeline li { display: flex; gap: var(--space-4); position: relative; padding-bottom: var(--space-6); }
.timeline li:last-child { padding-bottom: 0; }
.timeline li:not(:last-child)::before { content: ""; position: absolute; left: 17px; top: 34px; bottom: 0; width: 1px; background: var(--color-border); }
.timeline_marker { display: inline-grid; place-items: center; width: 35px; height: 35px; flex-shrink: 0; border-radius: 50%; }
.timeline_marker .icon { --icon-size: 16px; }
.timeline li > div { flex: 1; min-width: 0; }
.timeline_heading { display: flex; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.timeline_heading time, .timeline_author { color: var(--color-muted); font-size: 12px; }
.timeline p { font-size: var(--font-sm); color: var(--color-muted); margin: var(--space-2) 0; }
.detail_section_body { padding: 0 var(--space-6) var(--space-6); font-size: var(--font-sm); }
.detail_section_body p { margin: var(--space-3) 0; color: var(--color-muted); }
.detail_section_body .money { font-size: var(--font-lg); }
.detail_main .section_grid { margin-bottom: 0; }
.pipeline_toolbar .filters { padding-top: var(--space-4); padding-bottom: var(--space-3); }
.kanban_hint { color: var(--color-muted); font-size: 12px; padding: 0 var(--space-6) var(--space-4); }
.kanban_hint .icon { --icon-size: 14px; margin-right: var(--space-1); }
.pipeline_heading { display: flex; justify-content: space-between; gap: var(--space-3); margin: var(--space-6) 0 var(--space-4); font-size: var(--font-sm); }
.pipeline_heading strong span { color: var(--color-muted); font-weight: 400; }
.pipeline_heading > span { font-size: 12px; }
.kanban_board { position: relative; display: flex; align-items: stretch; gap: var(--space-5); overflow-x: auto; padding-bottom: var(--space-5); min-height: 530px; scrollbar-color: #aac4c4 #e9eef0; scrollbar-width: thin; }
.kanban_column { flex: 0 0 275px; background: #edf1f3; border: 1px solid #e6ebee; border-radius: var(--radius-lg); padding: var(--space-4); }
.kanban_column_header { padding: 3px 3px var(--space-5); }
.kanban_column_header > div { display: flex; align-items: center; gap: 7px; }
.kanban_column_header h2 { font-size: var(--font-xs); letter-spacing: 0; }
.kanban_column_header .count_pill { margin-left: auto; background: #e0e7ea; font-size: 11px; }
.kanban_column_header > strong { display: block; color: var(--color-muted); margin: var(--space-2) 0 0 var(--space-3); font-size: 12px; font-weight: 400; }
.kanban_cards { min-height: 420px; max-height: 72vh; overflow-y: auto; display: flex; flex-direction: column; gap: var(--space-4); border-radius: var(--radius-md); }
.kanban_card { padding: var(--space-5); background: white; border: 1px solid var(--color-border); box-shadow: 0 2px 3px #18354204; border-radius: var(--radius-md); cursor: grab; }
.kanban_card.is_dragging { opacity: .45; }
.kanban_column.is_drag_over { background: #e0efea; border-color: #83b9ae; }
.kanban_card_top { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-4); }
.kanban_origin { font-size: 11px; color: var(--color-muted); }
.kanban_client_name { display: block; font-size: 13px; font-weight: 600; margin-bottom: var(--space-2); }
.kanban_client_name:hover { color: var(--color-brand); }
.kanban_destination { display: flex; gap: 5px; color: var(--color-muted); font-size: 12px; min-height: 30px; }
.kanban_destination .icon { --icon-size: 12px; margin-top: 2px; }
.kanban_travelers { display: flex; gap: 5px; color: var(--color-muted); font-size: 12px; margin: var(--space-2) 0 0; }
.kanban_travelers .icon { --icon-size: 12px; margin-top: 2px; }
.kanban_client_link { display: flex; align-items: center; gap: 5px; font-size: 11px; margin-top: var(--space-2); }
.kanban_client_link .icon { --icon-size: 12px; }
.kanban_budget { display: block; font-size: 17px; margin: var(--space-3) 0; letter-spacing: -.3px; }
.kanban_owner { display: flex; align-items: center; gap: var(--space-2); font-size: 12px; color: var(--color-muted); }
.kanban_dates { border-top: 1px solid var(--color-border); padding-top: var(--space-3); margin: var(--space-3) 0; display: flex; justify-content: space-between; gap: var(--space-2); }
.kanban_dates dt { font-size: 10px; color: var(--color-muted); }
.kanban_dates dd { font-size: 12px; margin: 3px 0 0; }
.kanban_move { width: 100%; min-height: 30px; font-size: 12px; padding: 6px; background: #fafbfc; }
.kanban_empty { text-align: center; padding: var(--space-6) var(--space-3); color: var(--color-muted); font-size: 13px; border: 1px dashed #ccd8dc; border-radius: var(--radius-sm); }
/* S05 -- cada coluna mostra a 1ª página de cards (12) e rola por dentro;
   "Carregar mais" traz a próxima página da etapa. Durante a busca ao vivo
   (.is_searching, ligado por kanban.js) só quem bate com o termo aparece. */
.kanban_board.is_searching .kanban_cards > .kanban_card { display: none; }
.kanban_board.is_searching .kanban_cards > .kanban_card.kanban_card--match { display: block; }
.kanban_more { font-size: 12px; min-height: 36px; }
.kanban_board.is_searching .kanban_more { display: none; }
.kanban_stage_stats { display: flex; justify-content: space-between; gap: var(--space-2); margin: 0 0 var(--space-3); padding: var(--space-2) var(--space-1); border-bottom: 1px solid var(--color-border); }
.kanban_stage_stats dt { font-size: 10px; color: var(--color-muted); }
.kanban_stage_stats dd { margin: 2px 0 0; font-size: 12px; font-weight: 600; }
.kanban_loss_pending { display: inline-block; margin-top: var(--space-2); text-decoration: none; }
.kanban_losses { margin-top: var(--space-6); }
.team_search { display: flex; align-items: center; gap: var(--space-3); max-width: 500px; margin-bottom: var(--space-6); }
.employee_grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.employee_card { padding: var(--space-6); }
.employee_card_top { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-4); }
.employee_card h2 { font-size: var(--font-lg); }
.employee_card > p { color: var(--color-muted); font-size: var(--font-sm); margin-top: var(--space-1); }
.employee_stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: var(--space-6) 0; gap: var(--space-3); border-top: 1px solid var(--color-border); padding-top: var(--space-6); }
.employee_stats strong { display: block; font-size: 22px; font-weight: 600; }
.employee_stats span { display: block; font-size: 11px; color: var(--color-muted); margin-top: 5px; }
.employee_revenue { display: flex; align-items: center; justify-content: space-between; padding: var(--space-4); background: var(--color-brand-soft); border-radius: var(--radius-sm); margin-bottom: var(--space-5); }
.employee_revenue span { font-size: var(--font-xs); color: #5b8378; }
.employee_revenue strong { font-size: 19px; color: #2c7064; }
.sales_summary_grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-bottom: var(--space-6); }
.sales_summary_grid--2col { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 0; }
.sales_summary_card { padding: var(--space-5) var(--space-6); display: flex; gap: var(--space-4); align-items: center; }
.sales_summary_card .metric_icon { width: 42px; height: 42px; }
.sales_summary_card p { color: var(--color-muted); font-size: 13px; }
.sales_summary_card strong { display: block; font-size: clamp(18px, 1.9vw, 26px); margin-top: var(--space-2); letter-spacing: -.5px; white-space: nowrap; }
.sales_summary_card strong small { font-size: var(--font-sm); color: var(--color-muted); }
.report_filters { display: flex; align-items: flex-end; gap: var(--space-3); margin-bottom: var(--space-6); }
.report_filters > span { margin-left: auto; color: var(--color-muted); font-size: var(--font-xs); padding-bottom: var(--space-3); }
.loss_report { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-5) var(--space-6); }
.loss_report strong { font-size: var(--font-sm); }
.loss_report p { color: var(--color-muted); font-size: 12px; margin-top: var(--space-1); }
.settings_layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: var(--space-6); }
.settings_nav a { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3); border-radius: var(--radius-sm); font-size: var(--font-sm); color: var(--color-muted); }
.settings_nav a:hover { background: var(--color-brand-soft); color: var(--color-brand); }
.settings_nav .icon { --icon-size: 16px; }
.settings_layout > div { display: flex; flex-direction: column; gap: var(--space-6); }
.settings_form > .form_grid { padding: var(--space-3) var(--space-6) var(--space-6); }
.settings_footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); border-top: 1px solid var(--color-border); padding: var(--space-4) var(--space-6); }
.settings_footer > span { color: var(--color-muted); font-size: 12px; }
.profile_preview { padding: 0 var(--space-6) var(--space-6); display: flex; align-items: center; gap: var(--space-5); }
.profile_preview > div { min-width: 0; }
.profile_preview p { color: var(--color-muted); font-size: var(--font-sm); margin: var(--space-1) 0 var(--space-3); overflow-wrap: break-word; }
@media (max-width: 1350px) { .return_destination { display: none; } .sales_summary_card { padding: var(--space-5); gap: var(--space-3); } .employee_stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 1100px) { .metric_grid { gap: var(--space-3); } .metric_card { padding: var(--space-4); } .metric_top { font-size: 12px; } .metric_top .metric_icon { width: 25px; height: 25px; } .section_grid--wide { grid-template-columns: 1fr; } .section_grid--wide .return_destination { display: block; } .client_detail_grid { grid-template-columns: 235px minmax(0, 1fr); } .detail_main .section_grid { grid-template-columns: 1fr; } .trip_budget { margin-left: 0; } .dashboard_charts { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: var(--space-4); } .chart_bars { gap: var(--space-3); } .sales_summary_card .metric_icon { display: none; } .settings_layout { grid-template-columns: 160px minmax(0, 1fr); } }
@media (max-width: 900px) { .metric_grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .metric_grid--secondary { margin-top: var(--space-3); } .metric_top { font-size: 13px; } .metric_value--currency { font-size: 24px; } .dashboard_charts, .section_grid { grid-template-columns: 1fr; } .dashboard_tabs .period_note { display: none; } .client_detail_grid { grid-template-columns: minmax(0, 1fr); } .detail_sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .settings_layout { grid-template-columns: minmax(0, 1fr); } .settings_nav { display: flex; flex-wrap: wrap; } .employee_grid { grid-template-columns: 1fr; } .report_filters { flex-wrap: wrap; } .report_filters > span { width: 100%; margin-left: 0; } }
@media (max-width: 760px) { .metric_grid { grid-template-columns: 1fr; gap: var(--space-3); margin-bottom: var(--space-4); } .metric_grid--secondary { grid-template-columns: 1fr; margin-top: var(--space-3); } .metric_card { padding: var(--space-3); } .metric_top { font-size: 12px; align-items: flex-start; min-height: 30px; } .metric_bottom { align-items: flex-start; } .metric_value { font-size: 28px; } .metric_value--currency { font-size: 20px; } .operacao_pill { flex: 1 1 100%; justify-content: space-between; } .dashboard_tabs { font-size: 13px; gap: var(--space-2) var(--space-5); flex-wrap: wrap; } .dashboard_tabs > a, .dashboard_tabs > span { flex-shrink: 0; } .section_grid, .dashboard_charts { gap: var(--space-4); margin-bottom: var(--space-4); } .chart_bars { gap: var(--space-4); } .sales_chart { margin-left: var(--space-4); margin-right: var(--space-4); } .chart_legend { padding-left: var(--space-4); padding-right: var(--space-4); } .legend_note { display: none; } .return_item { padding: var(--space-4); gap: var(--space-2); } .return_item .person { min-width: 0; flex: 1; gap: var(--space-2); } .section_grid--wide .return_destination { display: none; } .return_item .person_name { font-size: 12px; } .return_item .avatar { width: 29px; height: 29px; font-size: 11px; } .return_time { font-size: 10px; } .return_time small { font-size: 10px; } .return_item .icon_button { width: 27px; min-width: 27px; } .summary_strip { flex-wrap: wrap; font-size: 13px; } .detail_sidebar { grid-template-columns: 1fr; } .detail_heading h1 { font-size: 21px; } .detail_heading .avatar--large { width: 48px; height: 48px; font-size: 16px; } .trip_card { padding: var(--space-5); } .trip_card h2 { font-size: var(--font-lg); } .pipeline_heading { flex-direction: column; } .kanban_hint { padding-left: var(--space-4); padding-right: var(--space-4); } .kanban_column { flex-basis: 260px; } .team_search { flex-wrap: wrap; } .team_search .filter_search { min-width: 200px; } .sales_summary_grid { gap: var(--space-3); grid-template-columns: 1fr; } .sales_summary_card { padding: var(--space-4); } .sales_summary_card .metric_icon { display: inline-grid; } .sales_summary_card strong { font-size: 24px; } .sales_summary_card p { font-size: var(--font-xs); } .settings_footer { flex-direction: column; align-items: flex-start; } .settings_nav { gap: var(--space-1); } .settings_nav a { padding: var(--space-2); font-size: 12px; } .agenda_nav { flex-wrap: wrap; } .agenda_nav .button--primary { flex-basis: 100%; } }
.login_screen { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--color-sidebar); padding: var(--space-4); }
/* login_panel some com o "panel" branco de propósito: o navy do card da logo
   é o mesmo do fundo da tela, então a logo fica mascarada/sem borda visível. */
.login_panel { width: 100%; max-width: 340px; padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-4); background: transparent; border: none; box-shadow: none; color: #fff; }
.login_brand { display: flex; justify-content: center; }
.login_brand img { width: 190px; }
.login_panel h1 { font-size: var(--font-lg); margin: 0; color: #fff; }
.login_panel .field label { color: #fff; }
.login_panel .button { width: 100%; justify-content: center; }
.login_help { margin: 0; text-align: center; font-size: var(--font-sm); color: #cfe0ee; }
.login_help a { color: #fff; font-weight: 600; }
.field_error { color: var(--color-danger); font-size: var(--font-sm); margin: 0; }
.login_screen .field_error { color: #ffb4ac; }
.page_messages { list-style: none; margin: 0 0 var(--space-5); padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.page_message { padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); font-size: var(--font-sm); }
.action_buttons { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.action_buttons form { display: contents; }

/* Sprint 4 -- Agenda (mês/semana/dia). Grade só em CSS (grid/flex), sem
   biblioteca de calendário nova -- consistente com o resto do projeto
   (sem dependência externa nenhuma, ver docs/interface.md). */
.agenda_toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-6); margin-bottom: var(--space-4); }
.agenda_filters { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); flex: 1; }
.agenda_type_check { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-sm); color: var(--color-muted); white-space: nowrap; }
.agenda_type_check .icon { --icon-size: 15px; }
.agenda_view_switch { display: flex; gap: var(--space-2); }
.agenda_view_switch .is_active { background: var(--color-brand); color: white; border-color: var(--color-brand); }
.agenda_nav { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.agenda_reference { font-size: var(--font-lg); flex: 1; }
.agenda_today { margin-left: auto; }

.agenda_month_grid { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.agenda_month_weekdays { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); background: #edf1f3; font-size: var(--font-xs); font-weight: 600; color: var(--color-muted); text-transform: uppercase; letter-spacing: .4px; }
.agenda_month_weekdays span { padding: var(--space-3) var(--space-2); text-align: center; }
.agenda_month_week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--color-border); }
.agenda_month_day { min-height: 110px; padding: var(--space-2); border-right: 1px solid var(--color-border); display: flex; flex-direction: column; gap: 4px; }
.agenda_month_day:last-child { border-right: 0; }
.agenda_month_day.is_outside { background: #fafbfc; }
.agenda_month_day.is_outside .agenda_month_day_number { color: var(--color-subtle); }
.agenda_month_day.is_today { background: var(--color-brand-soft); }
.agenda_month_day_number { font-size: var(--font-sm); font-weight: 600; width: 24px; height: 24px; display: inline-grid; place-items: center; border-radius: var(--radius-full); }
.agenda_month_day.is_today .agenda_month_day_number { background: var(--color-brand); color: white; }
.agenda_month_day_events { display: flex; flex-direction: column; gap: 3px; }
.agenda_more { font-size: 11px; color: var(--color-muted); padding: 2px 4px; }

.agenda_event { display: flex; align-items: center; gap: 5px; padding: 3px 6px; border-radius: var(--radius-sm); font-size: 11px; font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.agenda_event .icon { --icon-size: 12px; flex-shrink: 0; }
.agenda_event span { overflow: hidden; text-overflow: ellipsis; }

.agenda_week_grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--space-3); align-items: start; }
.agenda_week_day { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); min-height: 280px; display: flex; flex-direction: column; }
.agenda_week_day.is_today { border-color: var(--color-brand); }
.agenda_week_day_header { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: var(--space-3); border-bottom: 1px solid var(--color-border); font-size: var(--font-xs); color: var(--color-muted); text-transform: capitalize; }
.agenda_week_day_header strong { font-size: var(--font-lg); color: var(--color-text); }
.agenda_week_day.is_today .agenda_week_day_header strong { color: var(--color-brand); }
.agenda_week_day_events { padding: var(--space-2); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.agenda_empty_day { font-size: 11px; padding: var(--space-2); text-align: center; }

.agenda_day_panel h2 { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); text-transform: capitalize; }
.agenda_day_list { display: flex; flex-direction: column; gap: var(--space-3); }
.agenda_day_item { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); border-radius: var(--radius-md); }
.agenda_day_item .icon { --icon-size: 20px; flex-shrink: 0; }
.agenda_day_item strong { display: block; }
.agenda_day_item small { color: var(--color-muted); }

.compromissos_list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.compromissos_list li { display: flex; flex-direction: column; gap: 2px; }
.compromissos_list small { color: var(--color-muted); font-size: var(--font-xs); }

/* Sprint 6 -- card "Próximos Acontecimentos" do Dashboard. */
.proximos_acontecimentos { margin-bottom: var(--space-6); }
.proximos_columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); padding: 0 var(--space-6) var(--space-5); }
.proximos_column h3 { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-sm); color: var(--color-muted); margin-bottom: var(--space-3); }
.proximos_column h3 .icon { --icon-size: 15px; }
.proximos_list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.proximos_list li { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); font-size: var(--font-sm); }
.proximos_list li small { color: var(--color-muted); flex-shrink: 0; }
.proximos_empty { font-size: var(--font-sm); }

@media (max-width: 900px) { .proximos_columns { grid-template-columns: 1fr; gap: var(--space-5); } }

@media (max-width: 900px) { .agenda_week_grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) {
  .agenda_toolbar { padding: var(--space-4); flex-direction: column; align-items: stretch; }
  .agenda_month_day { min-height: 56px; padding: 4px; }
  .agenda_month_weekdays span { font-size: 9px; padding: var(--space-2) 2px; }
  .agenda_week_grid { grid-template-columns: 1fr; }
  /* 7 colunas com texto não cabem num celular -- cada evento vira um
     ponto colorido (cor já indica o tipo, ver tone_amber/tone_blue); a
     lista com nome/destino continua completa ao abrir o dia (day.html),
     que é só um toque away (number do dia já linka pra lá). */
  .agenda_month_day_events { flex-direction: row; flex-wrap: wrap; gap: 3px; }
  .agenda_event { width: 8px; height: 8px; padding: 0; border-radius: var(--radius-full); background: currentColor; }
  .agenda_event.tone_amber { color: #c99a3a; }
  .agenda_event.tone_blue { color: var(--color-brand); }
  .agenda_event.tone_violet { color: #8164a5; }
  .agenda_event .icon, .agenda_event span { display: none; }
  .agenda_more { display: none; }
}

/* S02 -- Dados da agência (Configurações) */
.settings_form > form > .form_grid { padding: var(--space-3) var(--space-6) var(--space-6); }
.form_grid > .field--wide { grid-column: 1 / -1; }
.agency_logo_preview { padding: var(--space-4) var(--space-6) 0; }
.agency_logo_image { display: block; max-width: 220px; max-height: 80px; width: auto; height: auto; object-fit: contain; }
@media (max-width: 760px) { .settings_form > form > .form_grid { padding: var(--space-3) var(--space-4) var(--space-4); } .agency_logo_preview { padding: var(--space-4) var(--space-4) 0; } }

/* S06 -- Cliente 360° */
.client_segments { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0 0 var(--space-4); }
.client_segments .badge { text-decoration: none; }
.client_kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: var(--space-6); }
@media (max-width: 1100px) { .client_kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .client_kpis { grid-template-columns: 1fr; } }
.tag_list { display: flex; flex-wrap: wrap; gap: var(--space-1); margin-top: var(--space-1); }
.history_tabs { padding: var(--space-4) var(--space-6) 0; }
.row_actions { display: flex; gap: var(--space-2); align-items: center; }
@media (max-width: 760px) { .history_tabs { padding: var(--space-3) var(--space-4) 0; } }

/* S07 -- planejador de roteiros: dias à esquerda (largos), sugestões à direita */
.planner_grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); gap: var(--space-6); align-items: start; }
.planner_grid > .detail_main, .planner_grid > .detail_sidebar { display: grid; gap: var(--space-5); min-width: 0; }
.planner_notice { margin-bottom: var(--space-5); }
.planner_warning { margin: 0; color: #8a5a00; background: #fff7e6; border-top: 1px solid #f3e2bd; }
.planner_items { list-style: none; margin: 0; padding: 0 var(--space-6) var(--space-4); display: grid; gap: var(--space-3); counter-reset: item; }
.planner_item { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--space-2) var(--space-3); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.planner_item--sugerido { border-style: dashed; background: #fffcf5; }
.planner_item_order { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--color-brand-soft); color: var(--color-brand); font-size: 12px; font-weight: 700; }
.planner_item_main { display: grid; gap: 3px; min-width: 0; }
.planner_item_badges { display: flex; flex-wrap: wrap; gap: var(--space-1); }
.planner_item_title { font-size: 15px; line-height: 1.3; }
.planner_item_meta { display: flex; flex-wrap: wrap; gap: 2px var(--space-3); margin: 0; color: var(--color-muted); font-size: var(--font-xs); }
.planner_item_desc { margin: 2px 0 0; color: var(--color-text); font-size: var(--font-sm); }
.planner_item_bar { grid-column: 2; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-2); padding-top: var(--space-2); border-top: 1px dashed var(--color-border); }
.planner_item_group { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); }
.planner_item_group form { margin: 0; }
.planner_item_bar .button, .planner_item_bar select { min-height: 32px; font-size: 12px; padding: 0 var(--space-3); }
.planner_item_bar select { padding-right: var(--space-6); width: auto; }
.planner_item_bar .icon_button { min-width: 32px; min-height: 32px; }
.planner_item_bar .icon_button:disabled { opacity: .35; cursor: default; }
.planner_status { vertical-align: middle; font-size: 12px; margin-left: var(--space-2); }
.planner_catalog_filters { display: grid; gap: var(--space-2); }
.planner_catalog_filters input, .planner_catalog_filters select { width: 100%; }
.planner_catalog_actions { display: flex; align-items: center; gap: var(--space-3); }
.planner_empty { padding: var(--space-3) 0; }
.planner_add summary { cursor: pointer; color: var(--color-brand); font-weight: 600; font-size: var(--font-sm); }
.planner_add .form_grid { margin-top: var(--space-4); max-width: none; }
.planner_suggestions { display: grid; gap: var(--space-3); }
.planner_suggestion { display: grid; gap: 2px; padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-border); }
.planner_suggestion:last-child { border-bottom: 0; }
.planner_suggestion_add { display: flex; gap: var(--space-2); margin-top: var(--space-2); }
.planner_suggestion_add select { flex: 1; min-width: 0; }
.inline_form { display: inline; }
@media (max-width: 1100px) { .planner_grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .planner_items { padding: 0 var(--space-4) var(--space-4); }
  .planner_item { grid-template-columns: 1fr; }
  .planner_item_order { display: none; }
  .planner_item_bar { grid-column: 1; }
}

/* Recall WhatsApp */
.whatsapp_recall { display: grid; gap: var(--space-3); }
.whatsapp_form { display: grid; gap: var(--space-2); }
.whatsapp_form textarea { width: 100%; min-height: 160px; resize: vertical; }
.whatsapp_form .settings_footer { padding-left: 0; padding-right: 0; }
.whatsapp_numero { display: grid; gap: var(--space-2); }
.whatsapp_numero_atual { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-2); margin: 0; }
.whatsapp_corrigir[open] { padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.whatsapp_corrigir summary { cursor: pointer; color: var(--color-brand); font-weight: 600; }
.whatsapp_corrigir_corpo { display: grid; gap: var(--space-2); margin-top: var(--space-3); }
.whatsapp_corrigir_corpo .field_error, .whatsapp_sugestao { margin: 0; }
.whatsapp_corrigir_corpo .checkbox_label { display: flex; align-items: flex-start; gap: var(--space-2); }
.whatsapp_corrigir_corpo .checkbox_label input { flex: none; margin-top: 3px; }
.whatsapp_sugestao button { padding: 0; border: 0; background: none; cursor: pointer; }
.whatsapp_numero_linha { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.whatsapp_numero_linha input { flex: 1 1 12rem; min-width: 0; }
.whatsapp_mensagem { display: grid; gap: var(--space-2); }
.whatsapp_mensagem[hidden] { display: none; }
.button--whatsapp { color: #1f7a4d; border-color: #bfe3cf; background: #f1faf5; }
.button--whatsapp:hover { background: #e3f4ea; border-color: #1f7a4d; }
.icon_button--whatsapp { color: #1f7a4d; }
.request_actions { margin: calc(var(--space-2) * -1) 0 var(--space-5); justify-content: flex-start; }
.resgate_encerradas { margin-top: var(--space-6); }

/* Cotação -- passo a passo da proposta (sprint de estabilização) */
.proposal_steps { list-style: none; margin: 0; display: grid; gap: var(--space-4); counter-reset: passo; }
.proposal_steps > li { position: relative; display: grid; gap: var(--space-1); padding-left: 36px; counter-increment: passo; font-size: var(--font-sm); }
.proposal_steps > li::before { content: counter(passo); position: absolute; left: 0; top: -1px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--color-bg); border: 1px solid var(--color-border); color: var(--color-muted); font-size: 12px; font-weight: 700; }
.proposal_steps > li.is_done::before { content: "✓"; background: #e6f4ec; border-color: #b9e0c8; color: #1f7a4d; }
.proposal_steps > li > .button { justify-self: start; margin-top: var(--space-1); }
.proposal_steps form { margin: 0; }
.proposal_steps_form { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-1); }
.proposal_steps_form select { flex: 1 1 160px; min-width: 0; }
.proposal_steps_link { padding: 0; border: 0; background: none; cursor: pointer; font-size: 12px; }

/* Meu Dia (agenda/meu_dia.py) -- tarefas + compromissos + anotações */
.myday_nav { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-end; }
.myday_nav .button { gap: var(--space-1); }
.myday_jump { margin: 0; }
.myday_jump input { min-height: 40px; }
.myday_grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); gap: var(--space-5); align-items: start; }
.myday_side { display: grid; gap: var(--space-5); min-width: 0; }
.myday_tasks { min-width: 0; }
.myday_add { display: grid; gap: var(--space-2); padding-bottom: var(--space-3); }
.myday_add_main { display: flex; gap: var(--space-2); }
.myday_add_main input { flex: 1; min-width: 0; }
.myday_add_more summary { cursor: pointer; color: var(--color-brand); font-size: var(--font-sm); font-weight: 600; }
.myday_add_more .form_grid { margin-top: var(--space-3); max-width: none; }
.myday_filters { display: flex; gap: var(--space-5); padding-top: 0; padding-bottom: 0; border-bottom: 1px solid var(--color-border); font-size: var(--font-sm); }
.myday_filters a { padding: var(--space-2) 0; color: var(--color-muted); border-bottom: 2px solid transparent; }
.myday_filters a.is_active { color: var(--color-brand); border-color: var(--color-brand); font-weight: 600; }
.myday_lists { display: grid; gap: var(--space-2); }
.myday_group { margin: var(--space-3) 0 0; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--color-muted); }
.myday_group--late { color: var(--color-danger); }
.myday_list, .myday_events, .myday_note_list { list-style: none; margin: 0; display: grid; gap: var(--space-2); }
.myday_list { padding: 0; }
.myday_empty { color: var(--color-muted); font-size: var(--font-sm); padding: var(--space-2) 0; }
.myday_task { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-3); align-items: start; padding: var(--space-3); border: 1px solid var(--color-border); border-left: 3px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.myday_task--alta { border-left-color: var(--color-danger); }
.myday_task--media { border-left-color: var(--color-accent-gold); }
.myday_task.is_done { background: var(--color-bg); border-left-color: var(--color-border); }
.myday_task.is_done .myday_task_title { text-decoration: line-through; color: var(--color-muted); }
.myday_check { margin: 0; }
.myday_check_button { display: grid; place-items: center; width: 22px; height: 22px; margin-top: 1px; padding: 0; border: 2px solid #b8c4cb; border-radius: 50%; background: var(--color-surface); cursor: pointer; }
.myday_check_button:hover { border-color: var(--color-brand); }
.myday_check_button:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 2px; }
.myday_check_button[aria-pressed="true"] { border-color: #1f7a4d; background: #1f7a4d; }
.myday_check_button[aria-pressed="true"]::after { content: "✓"; color: #fff; font-size: 12px; font-weight: 700; }
.myday_task_body { display: grid; gap: 3px; min-width: 0; }
.myday_task_title { font-weight: 600; overflow-wrap: anywhere; }
.myday_task_meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-2); font-size: 12px; color: var(--color-muted); }
.myday_task_meta .text_link { font-size: 12px; }
.myday_task_desc { font-size: var(--font-sm); color: var(--color-muted); }
.myday_task_actions { display: flex; gap: var(--space-3); align-items: center; }
.myday_task_actions form, .myday_note_actions form { margin: 0; }
.myday_link_button { padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: var(--font-sm); }
.myday_link_button--danger { color: var(--color-danger); }
.myday_event { display: grid; gap: 2px; padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); background: var(--color-bg); border-left: 3px solid currentColor; }
.myday_event_time { font-size: 12px; font-weight: 600; }
.myday_event_title { color: var(--color-text); font-size: var(--font-sm); font-weight: 600; }
.myday_event small { color: var(--color-muted); }
.myday_more { padding-top: 0; }
.myday_note_form { display: grid; gap: var(--space-2); }
.myday_note_form textarea { width: 100%; min-height: 110px; background: #fffdf6; border-color: #eadfc0; line-height: 1.6; }
.myday_note_form input { width: 100%; }
.myday_note_form .button { justify-self: end; }
.myday_note { padding: var(--space-3) var(--space-4); border: 1px solid #eadfc0; border-radius: var(--radius-md); background: #fffdf6; }
.myday_note_head { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: baseline; }
.myday_note_text { font-size: var(--font-sm); overflow-wrap: anywhere; }
.myday_note_text p { margin: var(--space-1) 0; }
.myday_note_actions { display: flex; gap: var(--space-3); align-items: center; font-size: 12px; color: var(--color-muted); }
@media (max-width: 1100px) { .myday_grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .myday_nav_label { display: none; }
  .myday_add_main { flex-direction: column; }
  .myday_task { grid-template-columns: auto minmax(0, 1fr); }
  .myday_task_actions { grid-column: 2; }
}

/* Venda -- documentos (reserva, pagamento, vouchers) */
.doc_checklist { display: flex; flex-wrap: wrap; gap: var(--space-2); padding-top: 0; }
.venda_docs { list-style: none; margin: 0; padding: 0 var(--space-6); display: grid; gap: var(--space-2); }
.venda_doc { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.venda_doc > .icon { color: var(--color-brand); }
.venda_doc--vazio { display: block; border-style: dashed; }
.venda_doc_info { display: grid; gap: 2px; min-width: 0; }
.venda_doc_info strong { overflow-wrap: anywhere; font-size: var(--font-sm); }
.venda_doc_info .badge { justify-self: start; }
.venda_doc_actions { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; justify-content: flex-end; }
.venda_doc_actions form { margin: 0; }
.venda_doc_delete { padding: 0; border: 0; background: none; color: var(--color-danger); cursor: pointer; font: inherit; font-size: var(--font-sm); }
.venda_doc_form { padding-top: var(--space-4); }
.venda_doc_form .form_grid { max-width: none; }
.venda_docs_cell { display: flex; flex-wrap: wrap; gap: 4px; }
@media (max-width: 760px) {
  .venda_docs { padding: 0 var(--space-4); }
  .venda_doc { grid-template-columns: auto minmax(0, 1fr); }
  .venda_doc_actions { grid-column: 1 / -1; justify-content: flex-start; }
}
.pos_viagem_form { display: grid; gap: var(--space-2); }
.pos_viagem_form input { width: 100%; }
.page_actions_inline { margin: calc(var(--space-3) * -1) 0 var(--space-5); font-size: var(--font-sm); color: var(--color-muted); }
.etapa_form { margin-top: var(--space-2); }
