[hidden] { display: none !important; }
button:disabled { opacity: .55; cursor: not-allowed; }
button:focus-visible, [tabindex]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
.brand-logo img { display: block; }
.menu-toggle { display: none; }
.table-card { overflow-x: auto; }
.table-card table { min-width: 720px; }
.orc-menu { z-index: 60; }
.orc-menu.orc-menu-floating {
  position: fixed; z-index: 1100; right: auto; bottom: auto;
  min-width: min(220px,calc(100vw - 16px)); max-width: calc(100vw - 16px);
  max-height: calc(100dvh - 16px); overflow-y: auto;
  box-sizing: border-box; background: #fff; color: #1e293b;
  box-shadow: 0 10px 32px #0f172a29;
}
.orc-menu-floating .orc-menu-item { font-size: .95rem; padding: 12px 16px; white-space: normal; }
#tbody-orc .orc-main-row .orc-icon-action {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; padding: 6px; margin: 0 2px;
  background: transparent; border: 0; border-radius: 5px;
  color: #174c8c !important; cursor: pointer;
  vertical-align: middle; transition: background-color .15s,color .15s;
}
#tbody-orc .orc-main-row .orc-icon-action:hover,
#tbody-orc .orc-main-row .orc-icon-action:focus-visible,
#tbody-orc .orc-main-row .orc-icon-action[aria-expanded="true"] {
  background: #073f8c; color: #fff !important;
}
.orc-icon-action svg { pointer-events: none; }
.orc-action-symbol { width: 19px; height: 19px; flex: 0 0 19px; color: #1687df; }
.orc-action-symbol.proposta { color: #dc8800; }
.orc-menu-item.danger .orc-action-symbol { color: #dc3545; }
.item-tabs { overflow-x: auto; }
.modal { max-width: calc(100vw - 24px); }
.modal-body { overscroll-behavior: contain; }
.modal-bg.open { padding: 12px; }
.backup-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.cfg-card p { font-size: .85rem; color: #64748b; line-height: 1.6; }
.hint { font-size: .76rem !important; }
.trash-row { display: flex; justify-content: space-between; gap: 14px; align-items: center; border-bottom: 1px solid #e2e8f0; padding: 12px 0; font-size: .83rem; }
.trash-row span { overflow-wrap: anywhere; }
.recovery-panel { position: fixed; inset: 0; z-index: 9999; background: #f8fafc; color: #0f172a; padding: clamp(24px,8vw,100px); display: flex; flex-direction: column; gap: 20px; align-items: flex-start; overflow: auto; }
.recovery-panel button,.recovery-panel input { padding: 12px; }
#storage-banner { position: fixed; bottom: 16px; left: 260px; right: 20px; padding: 16px; background: #fff7ed; border: 1px solid #fb923c; box-shadow: 0 4px 24px #0002; border-radius: 12px; z-index: 1000; font-size: .85rem; }
.modal-top [data-close] { background: transparent; border: 0; font-size: 1.2rem; cursor: pointer; padding: 8px; }
.k-drop { touch-action: pan-y; }
/* Ambiente claro. */
.grafica-app { background: #f1f5f9; }
.grafica-app .main { background: #f1f5f9; }
.grafica-app .topbar,
.grafica-app .stat,
.grafica-app .dash-card,
.grafica-app .table-card,
.grafica-app .cfg-card,
.grafica-app .modal { background: #ffffff; border-color: #cbd4e0; }
.grafica-app .modal-head,
.grafica-app .modal-foot { background: #f8fafc; border-color: #cbd4e0; }
.grafica-app .fg input,
.grafica-app .fg textarea,
.grafica-app .fg select { background: #f8fafc; border-color: #c8d2df; color: #25344a; }
.grafica-app .modal-bg { background: rgba(15,23,42,.62); }
/* Cabeçalho e ações sempre visíveis; somente listas longas rolam internamente. */
#modal-orc > .modal { width: min(1100px,calc(100vw - 32px)); max-width: 1100px; max-height: calc(100dvh - 32px); display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 20px 70px #0f172a40; }
#modal-orc .modal-head,
#modal-orc .modal-foot { flex: 0 0 auto; padding: 13px 20px; }
#modal-orc .modal-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px 20px; padding: 16px 20px; overflow-y: auto; min-height: 0; }
#modal-orc .modal-body > .frow { margin: 0 !important; }
#modal-orc .modal-body > .frow:first-child,
#modal-orc .orc-form-itens,
#modal-orc .modal-body > .frow:last-child { grid-column: 1 / -1; }
#modal-orc .modal-body > .frow:nth-child(3) { grid-template-columns: 1fr; }
#modal-orc .orc-form-itens { margin-top: 0 !important; min-width: 0; }
#modal-orc .orc-form-itens > div:first-child { flex-wrap: wrap; gap: 8px; }
#modal-orc .fg { min-width: 0; gap: 5px; }
#modal-orc .fg input,
#modal-orc .fg select { min-height: 36px; padding: 7px 10px; }
#modal-orc .prazo-btn { padding: 7px 10px; }
#modal-orc .prazo-combinar-tag { padding: 7px 10px; }
#modal-orc #morc-val,
#modal-orc #morc-prazo-data { background: #f8fafc !important; border-color: #c8d2df !important; }
#modal-orc #orc-itens-lista { max-height: clamp(88px,20dvh,200px); overflow-y: auto; padding-right: 4px; scrollbar-gutter: stable; }
#modal-orc .orc-item-card { padding: 8px 11px; margin-bottom: 5px; background: #f8fafc; border-color: #cbd4e0; }
#modal-orc .itens-empty { padding: 14px; border-color: #c1ccda; color: #65758b; }
#modal-orc #morc-obs { min-height: 54px; height: 54px; resize: vertical; }
#modal-orc #orc-itens-total-row { padding-top: 6px !important; }
@media (max-width: 760px) {
  #modal-orc .modal-body { grid-template-columns: minmax(0,1fr); gap: 12px; padding: 12px 14px; }
  #modal-orc .modal-head,#modal-orc .modal-foot { padding: 11px 14px; }
  #modal-orc > .modal { max-height: calc(100dvh - 16px); }
}
/* Lista de orçamentos: visual compacto e destaque do orçamento sob o mouse. */
#view-orcamentos .table-card { border-radius: 8px; border-color: #d9dfe8; }
#view-orcamentos .table-header { background: #f3f6fc; padding: 18px; gap: 14px; }
#view-orcamentos .search-input,
#view-orcamentos .filter-sel { border-radius: 5px; background: #ffffff; border-color: #dbe1ea; min-height: 39px; }
#view-orcamentos thead th { background: #ffffff; color: #3c4655; font-size: .74rem; text-transform: none; letter-spacing: 0; padding: 13px 12px; white-space: nowrap; }
#tbody-orc .orc-sep { display: none; }
#tbody-orc .orc-main-row td { background: #ffffff; border-top: 0; border-bottom: 1px solid #e1e5eb; padding: 11px 12px !important; transition: background-color .16s ease, box-shadow .16s ease; }
#tbody-orc .orc-main-row:nth-child(6n + 2) td { background: #f7f8fa; }
#tbody-orc .orc-main-row td.orc-accent-cell { width: 4px; padding: 0 !important; border-left: 0; }
#tbody-orc .orc-reference { display: flex; align-items: center; gap: 8px; }
#tbody-orc .orc-number { background: #e8eaee; color: #505a68; border-radius: 6px; padding: 5px 10px; font-size: .78rem; font-weight: 800; min-width: 62px; text-align: center; }
#tbody-orc .orc-status-sel { margin: 0; border-radius: 6px; padding: 6px 26px 6px 12px; min-width: 112px; font-size: .75rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 9px center; }
#tbody-orc .orc-status-sel.s-pendente { background-color: #686ccc; }
#tbody-orc .orc-status-sel.s-aprovado { background-color: #009c8c; }
#tbody-orc .orc-status-sel.s-recusado { background-color: #d65b6b; }
#tbody-orc .orc-tog { border: 1.5px solid #b8c0ca; border-radius: 50%; width: 22px; height: 22px; padding: 0; font-size: .62rem; color: #7c8796; }
#tbody-orc .td-bold { color: #343e4b; font-size: .8rem; }
#tbody-orc .td-val { color: #009c8c; font-size: .85rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
#tbody-orc .td-val::first-letter { color: inherit; }
#tbody-orc .orc-main-row td:last-child > button,
#tbody-orc .orc-main-row .act { color: #174c8c !important; font-size: .75rem !important; }
#tbody-orc .orc-exp-row > td { border-left: 0 !important; border-bottom: 1px solid #e1e5eb !important; background: #f8fafc !important; transition: background-color .16s ease; }
#tbody-orc .orc-exp-wrap { padding: 10px 18px 12px; }
#tbody-orc .orc-exp-item { border-radius: 6px; box-shadow: none; }
#tbody-orc .orc-main-row:hover > td,
#tbody-orc .orc-main-row:focus-within > td,
#tbody-orc .orc-main-row:has(+ .orc-exp-row:hover) > td,
#tbody-orc .orc-main-row:has(+ .orc-exp-row:focus-within) > td { background: #dfe2e6 !important; }
#tbody-orc .orc-main-row:hover > td:first-child,
#tbody-orc .orc-main-row:focus-within > td:first-child,
#tbody-orc .orc-main-row:has(+ .orc-exp-row:hover) > td:first-child,
#tbody-orc .orc-main-row:has(+ .orc-exp-row:focus-within) > td:first-child { box-shadow: inset 4px 0 #64748b; }
#tbody-orc .orc-main-row:hover + .orc-exp-row > td,
#tbody-orc .orc-main-row:focus-within + .orc-exp-row > td,
#tbody-orc .orc-exp-row:hover > td,
#tbody-orc .orc-exp-row:focus-within > td { background: #eceef1 !important; }
#tbody-orc .orc-exp-item:hover { border-color: #8cbbf0; background: #f3f8ff; }
@media (max-width: 1100px) {
  .stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dash-row { grid-template-columns: 1fr; }
  .content { padding: 20px 16px; }
  .topbar { padding: 12px 16px; }
}
@media (max-width: 760px) {
  .menu-toggle { display: inline-flex; flex-shrink: 0; }
  .sidebar { transform: translateX(-100%); transition: transform .2s; width: 240px; box-shadow: 8px 0 32px #0003; overflow-y: auto; }
  .menu-open .sidebar { transform: translateX(0); }
  .menu-open .main::before { content: ''; position: fixed; inset: 0; background: #0003; z-index: 49; pointer-events: none; }
  .main { margin-left: 0; width: 100%; min-width: 0; }
  .topbar { gap: 10px; flex-wrap: wrap; }
  .topbar-left { flex: 1; min-width: 120px; }
  .topbar-right { margin-left: auto; }
  .stat { padding: 16px; }
  .stat-val { font-size: 1.35rem; }
  .frow.c2,.frow.c3 { grid-template-columns: 1fr; }
  .modal-bg.open { align-items: center; padding: 8px; }
  .modal { width: 100% !important; max-width: 100% !important; max-height: 95dvh; }
  .modal-body { padding: 16px; }
  .modal-head,.modal-foot { padding: 14px 16px; }
  .modal-foot { flex-wrap: wrap; }
  .fin-summary { grid-template-columns: 1fr; }
  .fin-card { min-width: 140px; }
  .config-tabs { overflow-x: auto; }
  .ctab { white-space: nowrap; }
  .orc-item-card,.orc-item-right { flex-wrap: wrap; }
  #storage-banner { left: 12px; right: 12px; bottom: 12px; }
  .right { min-width: 0; width: 100%; padding: 16px; }
  .card { padding: 28px 22px; }
  .modal-card { width: 100%; max-height: 95dvh; }
  .modal-card .frow.c2 { grid-template-columns: 1fr; }
}
@media (max-width: 380px) { .stats-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { transition: none !important; animation: none !important; } }

/* Detalhes de orçamentos e pedidos alinhados em uma grade compacta. */
.doc-itens { min-width: 755px; border: 1px solid #d5dce4; border-radius: 5px 5px 0 0; background: #fff; overflow: hidden; }
.doc-item-row { display: grid; grid-template-columns: 145px minmax(220px,1fr) 78px 110px 110px 90px; align-items: stretch; }
.doc-item-row:first-child { border-top: 0; }
.doc-item-row { border-top: 1px solid #dce1e7; font-family: Arial, 'Segoe UI', sans-serif; font-size: 1rem; line-height: 1.45; color: #292f36; transition: background-color .15s; }
.doc-item-row:hover,.doc-item-row:focus-within { background: #eceef1; }
.doc-item-row > div { display: flex; align-items: center; padding: 8px 12px; min-width: 0; }
.doc-item-row > div:first-child { justify-content: center; border-right: 1px solid #e1e5eb; }
.doc-item-status { display: inline-flex; justify-content: center; align-items: center; gap: 8px; width: 100%; border: 1px solid #a7dcd5; color: #007f73; border-radius: 5px; padding: 5px 8px; font-size: .85rem; font-weight: 600; white-space: nowrap; }
.doc-item-status.status-pendente,.doc-item-status.status-arte { color: #686ccc; border-color: #c9cbed; }
.doc-item-status.status-recusado,.doc-item-status.status-cancelado { color: #c24d60; border-color: #ecc4cb; }
.doc-item-status.status-aguardando { color: #64748b; border-color: #cbd5e1; }
.doc-item-status.status-producao,.doc-item-status.status-expedicao { color: #2563a5; border-color: #abc8e6; }
.doc-item-descricao { gap: 9px; line-height: 1.4; overflow-wrap: anywhere; }
.doc-item-descricao svg { flex-shrink: 0; color: #174c8c; }
.doc-item-especificacao { color: #414b57; }
.doc-item-row .doc-item-quantidade { background: #f5f6f8; border-left: 1px solid #e1e5eb; justify-content: flex-start; gap: 4px; font-variant-numeric: tabular-nums; }
.doc-item-quantidade small { font-size: .8rem; color: #526071; }
.doc-item-row .doc-item-quantidade { font-weight: 600; }
.doc-item-row .doc-item-preco,.doc-item-row .doc-item-valor { color: #007f73; font-weight: 600; justify-content: flex-end; white-space: nowrap; font-variant-numeric: tabular-nums; }
.doc-item-valor { font-weight: 700; }
.doc-item-row .doc-item-acoes { justify-content: center; border-left: 1px solid #e1e5eb; }
.doc-item-editar { background: none; border: 0; border-radius: 4px; padding: 3px 7px; font-size: 1.1rem; color: #174c8c; cursor: pointer; }
.doc-item-editar:hover { background: #dcecff; }
.doc-item-editar { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; vertical-align: middle; }
.doc-item-editar svg { pointer-events: none; flex-shrink: 0; }
.doc-item-acoes,.ped-acoes { white-space: nowrap; }
.doc-item-acoes .orc-menu-wrap { flex-shrink: 0; }
.grafica-app .doc-item-editar[aria-expanded="true"] { background: #073f8c; color: #fff; }
.orc-menu-item > svg { flex-shrink: 0; }
.doc-itens-vazio { padding: 15px; color: #778292; font-size: .8rem; background: #fff; }
#tbody-orc .orc-exp-wrap,.ped-exp-row .orc-exp-wrap { padding: 8px 14px 12px; overflow-x: auto; }
.orc-exp-wrap:has(.doc-itens) > .orc-exp-footer { margin: 0; padding: 7px; border: 1px solid #d5dce4; border-top: 0; border-radius: 0 0 5px 5px; background: #fff; }
.orc-exp-wrap:has(.doc-itens) > .orc-exp-footer button { color: #17579d !important; font-size: .9rem; margin: auto; }
.ped-numero { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.ped-exp-row > td { padding: 0; background: #f0f4f8; }
.ped-main-row:hover > td,.ped-main-row:has(+ .ped-exp-row:hover) > td { background: #dfe2e6; }
.ped-exp-row:hover > td { background: #eceef1; }

/* Filtros independentes de cliente, pesquisa e status nas duas listas. */
#view-orcamentos .doc-filtro-cliente,#view-orcamentos .doc-filtro-pesquisa,
#view-pedidos .doc-filtro-cliente,#view-pedidos .doc-filtro-pesquisa { flex: 1 1 240px; min-width: 180px; border: 0; border-bottom: 1px solid #b8c4d3; border-radius: 0; background-color: #fff; min-height: 40px; padding-right: 34px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23174c8c' stroke-width='2'%3E%3Ccircle cx='7.5' cy='7.5' r='5'/%3E%3Cpath d='m11 11 5 5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; }
#view-orcamentos .doc-filtro-cliente::placeholder,#view-orcamentos .doc-filtro-pesquisa::placeholder,
#view-pedidos .doc-filtro-cliente::placeholder,#view-pedidos .doc-filtro-pesquisa::placeholder { font-style: italic; }
#view-pedidos .table-header { background: #f3f6fc; padding: 18px; gap: 14px; }
#flt-orc,#flt-ped { flex: 0 1 210px; min-height: 40px; }

/* Tipografia legível em todas as telas, mantendo a hierarquia dos títulos. */
body { font-family: Arial, 'Segoe UI', sans-serif; font-size: 1rem; line-height: 1.45; }
button,input,select,textarea { font-family: inherit; }
.grafica-app .sidebar { overflow-y: auto; }
.grafica-app .nav-item { font-size: .95rem !important; color: #cbd5e1; }
.grafica-app .nav-item.active { color: #fff; }
.grafica-app .nav-group-title { font-size: .73rem; color: #b2bfd0; letter-spacing: .6px; }
.grafica-app .brand-info h2 { font-size: 1rem; }
.grafica-app .brand-info p,.grafica-app .user-info .role { font-size: .8rem; color: #b8c5d6; }
.grafica-app .user-info .nome { font-size: .9rem; color: #f1f5f9; }
.grafica-app .nav-badge { font-size: .78rem; }
.grafica-app .topbar-left h2 { font-size: 1.3rem; }
.grafica-app .topbar-left p { font-size: .9rem; color: #526071; }
.grafica-app .table-card td { font-size: .95rem; line-height: 1.5; color: #344152; }
.grafica-app .table-card th,#view-orcamentos thead th { font-size: .85rem; color: #455265; }
.grafica-app .td-bold,#tbody-orc .td-bold,#tbody-ped .td-bold { font-size: .95rem; color: #293342; }
.grafica-app .td-sub { font-size: .83rem; color: #526071; }
#tbody-orc .td-val,.grafica-app .td-val { font-size: 1rem; font-weight: 700; }
.grafica-app .badge { font-size: .8rem; }
.grafica-app .btn { font-size: .95rem; }
.grafica-app .btn-sm,.grafica-app .btn-xs,.grafica-app .act { font-size: .85rem; }
#tbody-orc .orc-main-row td:last-child > button,#tbody-orc .orc-main-row .act { font-size: .85rem !important; }
#tbody-orc .orc-number { font-size: .9rem; }
#tbody-orc .orc-status-sel,.grafica-app .status-sel { font-size: .85rem; }
.grafica-app .search-input,.grafica-app .filter-sel,
.fg input,.fg select,.fg textarea,.form-group input { font-size: 1rem; line-height: 1.35; }
.fg label,.form-group label,#modal-orc .modal-body label { font-size: .82rem !important; color: #374151; letter-spacing: .3px; }
#modal-orc #morc-val,#modal-orc #morc-prazo-data { font-size: 1rem !important; }
.grafica-app .modal-head h3,.modal-top h3 { font-size: 1.1rem; }
.grafica-app .prazo-btn,.grafica-app .item-tab,.grafica-app .ctab { font-size: .9rem; }
#modal-orc #btn-sep { font-size: .85rem !important; }
.grafica-app .orc-item-nome { font-size: 1rem; }
.grafica-app .orc-item-det { font-size: .88rem; color: #526071; }
.grafica-app .orc-item-cat { font-size: .78rem; }
.grafica-app .orc-item-val { font-size: 1rem; }
.grafica-app .stat-lbl,.grafica-app .qa-sub { font-size: .88rem; color: #526071; }
.grafica-app .qa-text,.grafica-app .dash-card-title { font-size: 1rem; }
.grafica-app .cfg-card h4 { font-size: .9rem; }
.grafica-app .cfg-card p,.grafica-app .trash-row { font-size: .95rem; }
.grafica-app .hint { font-size: .85rem !important; }
.grafica-app .k-col-head { font-size: .9rem; }
.grafica-app .k-card [style*="font-size"],#dash-ultimos-orc [style*="font-size"],#usuarios-lista [style*="font-size"] { font-size: .9rem !important; }
.grafica-app .k-card [style*="color:#94a3b8"],#dash-ultimos-orc [style*="color:#94a3b8"],#usuarios-lista [style*="color:#94a3b8"] { color: #526071 !important; }
.grafica-app .empty { color: #526071; }
.grafica-app .empty p { font-size: 1rem; }
.card-header p,.modal-top p,.logo-upload-area p { font-size: .95rem; color: #526071; }
.btn-login,.btn-setup,.btn-next,.btn-back { font-size: 1rem; }
.msg-erro { font-size: .95rem; }
.step-title { font-size: .9rem; }
.left-logo p { font-size: .95rem; color: #cbd5e1; }
.badge-item { font-size: .85rem; color: #e2e8f0; }

/* Ações dos itens com maior destaque nos formulários. */
#modal-orc #btn-sep,#modal-orc #btn-sep + button,
#modal-ped #btn-sep-ped,#modal-ped #btn-sep-ped + button {
  min-height: 42px; padding: 10px 16px !important; font-size: 1rem !important;
  font-weight: 700; line-height: 1.25; border: 1px solid #2563eb;
  border-radius: 8px; background: #2563eb; color: #fff;
  box-shadow: 0 2px 5px #2563eb26; flex: 0 0 auto;
}
#modal-orc #btn-sep:hover,#modal-orc #btn-sep + button:hover,
#modal-ped #btn-sep-ped:hover,#modal-ped #btn-sep-ped + button:hover {
  background: #1d4ed8; border-color: #1d4ed8;
}
#modal-orc #btn-sep:not(.active),#modal-ped #btn-sep-ped:not(.active) {
  background: #dbeafe; border-color: #93c5fd; color: #174c8c; box-shadow: none;
}
#modal-orc #btn-sep:not(.active):hover,#modal-ped #btn-sep-ped:not(.active):hover {
  background: #bfdbfe; border-color: #60a5fa;
}
#modal-orc #btn-sep.active,#modal-ped #btn-sep-ped.active {
  background: #173e9f; border-color: #173e9f;
  box-shadow: inset 0 0 0 2px #bfdbfe;
}
#modal-orc .orc-form-itens > div:first-child > div,
#modal-ped div:has(> #btn-sep-ped) { flex-wrap: wrap; gap: 8px !important; }

/* Reducao proporcional de 5% na tipografia geral. */
html { font-size: 95%; }

/* Mantém a janela de item estável ao focar os campos numéricos. */
#modal-item > .modal {
  display: flex; flex-direction: column; min-width: 0;
  width: min(620px,calc(100vw - 24px));
  max-height: calc(100dvh - 24px); overflow: hidden;
}
#modal-item .modal-head,#modal-item .item-tabs,#modal-item .modal-foot { flex: 0 0 auto; min-width: 0; }
#modal-item .modal-head { position: relative; }
#modal-item .modal-body { min-width: 0; min-height: 0; overflow-y: auto; overflow-x: hidden; }
#modal-item .frow.c1 { grid-template-columns: minmax(0,1fr); }
#modal-item .frow.c2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
#modal-item .frow.c3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
#modal-item .fg { min-width: 0; }
#modal-item .fg input,#modal-item .fg select,#modal-item .fg textarea {
  width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box;
}
#modal-item .modal-foot,#modal-item .modal-foot > div { flex-wrap: wrap; gap: 8px; }
#modal-item .modal-foot > div { display: flex; min-width: 0; }

/* Destaque consistente das ações, incluindo pedidos, financeiro e cadastros. */
.grafica-app :is(.act,.btn,.doc-item-editar,.orc-exp-btn,.orc-tog,.orc-menu-item,.orc-exp-footer button) {
  transition: background-color .15s,color .15s,border-color .15s;
}
.grafica-app :is(.act,.btn,.doc-item-editar,.orc-exp-btn,.orc-tog,.orc-menu-item,.orc-exp-footer button):not(:disabled):is(:hover,:focus-visible) {
  background: #073f8c !important; border-color: #073f8c !important; color: #fff !important;
}
.grafica-app .orc-exp-wrap:has(.doc-itens) > .orc-exp-footer button:is(:hover,:focus-visible) {
  color: #fff !important;
}
.grafica-app .orc-menu-item:is(:hover,:focus-visible) .orc-action-symbol { color: #fff; }
@media (max-width: 540px) {
  #modal-item .frow.c2,#modal-item .frow.c3 { grid-template-columns: minmax(0,1fr); }
  #modal-item .modal-body { padding: 12px 14px; }
  #modal-item .modal-head,#modal-item .modal-foot { padding: 10px 14px; }
}

/* Quantidades alinhadas somente pelo numero nas listas expandidas. */

/* Cada título acompanha a sua própria coluna na lista de orçamentos. */
#view-orcamentos .orc-col-numero { width: 88px; text-align: center; }
#view-orcamentos .orc-col-status { width: 140px; text-align: center; }
#view-orcamentos .orc-col-cliente { min-width: 220px; }
#view-orcamentos .orc-col-data { width: 92px; white-space: nowrap; }
#view-orcamentos th.orc-col-data { padding-left: 8px; padding-right: 8px; }
#tbody-orc .orc-main-row > td.orc-col-data { padding-left: 8px !important; padding-right: 8px !important; }
#view-orcamentos .orc-col-total,#tbody-orc .orc-main-row .td-val { text-align: right; }
#view-orcamentos .orc-col-acoes,#tbody-orc .orc-main-row > td:last-child { text-align: center; }
#tbody-orc .orc-number { display: inline-block; }
#tbody-orc .orc-main-row > td:nth-child(6),#tbody-orc .orc-main-row > td:nth-child(7) { white-space: nowrap; }
#tbody-orc .orc-main-row:has(.orc-tog[aria-expanded="false"]) > td:not(.orc-accent-cell) { padding: 10px 12px !important; }

/* Alinhamento central uniforme nas duas listas e nos itens expandidos. */
#view-orcamentos thead th,#view-pedidos thead th,
#tbody-orc .orc-main-row > td,#tbody-ped .ped-main-row > td,
#view-orcamentos .orc-col-total,#tbody-orc .orc-main-row .td-val { text-align: center; }
#tbody-ped .ped-numero { justify-content: center; }
:is(#tbody-orc,#tbody-ped) .doc-item-row > div { justify-content: center; text-align: center; }
:is(#tbody-orc,#tbody-ped) .doc-item-row > .doc-item-descricao { justify-content: flex-start; text-align: left; }

/* Edicao de documento e de item em contextos independentes. */
.documento-cabecalho { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding: 14px 20px; background: #f2f6fc; border-bottom: 1px solid #dbe4ef; flex: 0 0 auto; }
.documento-cabecalho span { display: block; color: #63748c; font-size: .78rem; margin-bottom: 4px; }
.documento-cabecalho strong { font-size: 1rem; color: #263f60; }
.documento-cliente-resumo { padding: 12px 14px; border: 1px solid #dce4ee; border-radius: 8px; background: #f7f9fc; line-height: 1.65; color: #3b506a; font-size: .93rem; overflow-wrap: anywhere; }
.pedido-cliente-selecao { display: flex; align-items: center; gap: 10px; }
.pedido-cliente-selecao select { flex: 1; min-width: 0; width: 100%; }
.pedido-cliente-selecao .btn { flex: 0 0 auto; white-space: nowrap; }
#modal-ped .cli-sel-box { margin-bottom: 0; padding: 0; border: 0; background: transparent; }
:is(#modal-orc,#modal-ped) .pedido-cliente-selecao { align-items: stretch; }
:is(#modal-orc,#modal-ped) .pedido-cliente-selecao select { min-height: 42px; border: 1.5px solid #c8d2df; border-radius: 8px; padding: 8px 12px; background: #f8fafc; color: #25344a; font-size: 1rem; }
:is(#modal-orc,#modal-ped) .pedido-cliente-selecao .btn { min-height: 42px; border-radius: 8px; padding: 8px 16px; }
#modal-ped .documento-cliente-resumo:not([hidden]) { margin-top: 10px; }
#modal-cli.cadastro-no-documento { z-index: 420; }
@media(max-width: 540px) { .pedido-cliente-selecao { flex-wrap: wrap; }.pedido-cliente-selecao select { flex-basis: 100%; } }
.editando-documento .documento-cliente-campos,
.editando-documento #orc-itens-lista,.editando-documento #orc-itens-total-row,
.editando-documento #ped-itens-lista,.editando-documento #ped-itens-total-row,
.editando-documento .documento-adicionar-item { display: none !important; }
.editando-documento .documento-itens-secao { border: 1px solid #dce4ee; border-radius: 9px; padding: 12px !important; background: #f7f9fc; }
.editando-documento .documento-itens-secao > div:first-child { margin-bottom: 0 !important; }
#modal-ped > .modal { display: flex; flex-direction: column; width: min(1100px,calc(100vw - 32px)); max-width: 1100px !important; max-height: calc(100dvh - 32px); overflow: hidden; }
#modal-ped .modal-head,#modal-ped .modal-foot { flex: 0 0 auto; padding: 13px 20px; }
#modal-ped .modal-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px 20px; padding: 16px 20px; min-height: 0; overflow-y: auto; }
#modal-ped .modal-body > .frow { margin: 0 !important; }
#modal-ped .modal-body > .frow:first-child,#modal-ped .ped-form-itens,#modal-ped .modal-body > .frow:last-child { grid-column: 1 / -1; }
#modal-ped .modal-body > .frow:nth-child(3) { grid-template-columns: 1fr; }
#modal-ped .ped-form-itens { margin: 0 !important; min-width: 0; }
#modal-ped .ped-form-itens > div:first-child { flex-wrap: wrap; gap: 8px; }
#modal-ped .fg { min-width: 0; gap: 5px; }
#modal-ped .fg input,#modal-ped .fg select { min-height: 36px; padding: 7px 10px; }
#modal-ped .prazo-btn { padding: 7px 10px; }
#modal-ped #ped-itens-lista { max-height: clamp(88px,20dvh,200px); overflow-y: auto; padding-right: 4px; scrollbar-gutter: stable; }
#modal-ped .orc-item-card { padding: 8px 11px; margin-bottom: 5px; background: #f8fafc; border-color: #cbd4e0; }
#modal-ped .itens-empty { padding: 14px; border-color: #c1ccda; color: #65758b; }
#modal-ped #mped-obs { height: 54px; min-height: 54px; resize: vertical; }
#modal-ped #ped-itens-total-row { padding-top: 6px !important; }
#modal-ped .ped-status-edicao { display: none; }
#modal-ped.editando-documento .ped-status-edicao { display: flex; padding: 10px 20px; flex: 0 0 auto; border-bottom: 1px solid #dbe4ef; background: #f8fafc; }
#modal-ped .ped-status-edicao select { max-width: 260px; }
#modal-ped .ped-resumo-valores { margin-top: 8px; font-size: .84rem; color: #52647b; }
#modal-ped .ped-resumo-valores summary { cursor: pointer; padding: 4px 0; }
#modal-ped .ped-resumo-valores .total-box { margin-top: 8px; }
#modal-cli.cadastro-no-documento > .modal { display: flex; flex-direction: column; width: min(1000px,calc(100vw - 24px)); max-width: 1000px !important; max-height: calc(100dvh - 24px); overflow: hidden; }
#modal-cli.cadastro-no-documento .modal-head,#modal-cli.cadastro-no-documento .modal-foot { flex: 0 0 auto; }
#modal-cli.cadastro-no-documento .modal-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px 18px; min-height: 0; overflow-y: auto; }
#modal-cli.cadastro-no-documento .modal-body > div:first-child,#modal-cli.cadastro-no-documento .modal-body > .frow:last-child { grid-column: 1 / -1; }
#modal-cli.cadastro-no-documento .frow { margin: 0 !important; }
#modal-cli.cadastro-no-documento .fg { min-width: 0; }
#modal-cli.cadastro-no-documento input { width: 100%; min-width: 0; }
#modal-item .item-contexto { flex: 0 0 auto; padding: 12px 18px; background: #edf5fc; border-bottom: 1px solid #d9e5f1; color: #305477; font-size: .85rem; line-height: 1.5; overflow-wrap: anywhere; }
@media(max-width: 650px) {
  .documento-cabecalho { gap: 10px; padding: 12px 14px; }
  #modal-ped .modal-body { grid-template-columns: minmax(0,1fr); gap: 12px; padding: 12px 14px; }
  #modal-cli.cadastro-no-documento .modal-body { grid-template-columns: minmax(0,1fr); }
}

/* Painel de gestão da gráfica. */
#view-dashboard { max-width: 1560px; margin: 0 auto; }
.painel-topo { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 22px; }
.painel-eyebrow { font-size: .72rem; font-weight: 700; letter-spacing: 1.5px; color: #53708f; }
.painel-topo h3 { font-size: 1.85rem; letter-spacing: -.6px; margin: 5px 0; color: #182d48; }
.painel-topo p { color: #607087; font-size: .92rem; text-transform: capitalize; }
.painel-periodo { display: flex; flex-direction: column; gap: 5px; font-size: .8rem; color: #52637a; }
.painel-periodo select { padding: 10px 14px; border: 1px solid #d3deeb; border-radius: 9px; background: #fff; color: #243b58; min-width: 190px; font-size: .95rem; }
.painel-metricas { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.painel-metricas { align-items: start; }
.painel-retornos { margin-top: 13px; border-top: 1px solid #f0d3d8; padding-top: 10px; max-height: 155px; overflow-y: auto; }
.painel-retornos p { font-size: .8rem; font-weight: 700; color: #b42337; margin-bottom: 6px; }
.painel-retornos button { display: block; width: 100%; background: #fff5f5; border: 0; border-radius: 5px; padding: 8px; margin-top: 5px; text-align: left; color: #a52639; font-size: .8rem; cursor: pointer; overflow-wrap: anywhere; }
.painel-retornos button:hover,.painel-retornos button:focus-visible { background: #fce4e8; }
.painel-retornos small { display: block; margin-top: 3px; font-size: .74rem; }
.painel-lista-entregas { max-height: 350px; overflow-y: auto; }
.painel-linha.painel-entrega-hoje { background: #fff4f4; border-left: 3px solid #d14557; padding-left: 9px; }
.painel-entrega-hoje b,.painel-entrega-hoje .painel-prazo,.painel-entrega-hoje .painel-prazo small { color: #b42337; }
.painel-metrica { background: #fff; border: 1px solid #e0e7f0; border-radius: 15px; padding: 20px; box-shadow: 0 3px 10px #15365705; min-width: 0; }
.painel-metrica-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: #536982; font-size: .9rem; font-weight: 600; }
.painel-metrica-topo > span:last-child { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: #edf4ff; color: #3268b4; font-size: 1.2rem; }
.painel-metrica > strong { display: block; margin: 12px 0 5px; font-size: clamp(1.4rem,2vw,2rem); color: #172e4c; letter-spacing: -.5px; overflow-wrap: anywhere; }
.painel-metrica > small { color: #65758a; font-size: .78rem; }
.painel-metrica.destaque { background: linear-gradient(125deg,#123763,#1c5795); border-color: #174a80; }
.painel-metrica.destaque .painel-metrica-topo,.painel-metrica.destaque > small { color: #cddff4; }
.painel-metrica.destaque > strong { color: #fff; }
.painel-metrica.destaque .painel-metrica-topo > span:last-child { background: #ffffff20; color: #fff; }
.painel-alertas { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0 22px; }
.painel-alerta { display: flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid #e0e7ef; border-radius: 8px; background: #fff; color: #56677d; font-size: .85rem; }
.painel-alerta strong { font-size: 1rem; }
.painel-alerta.vermelho { background: #fff5f5; border-color: #f2d4d8; color: #a94051; }
.painel-alerta.azul { background: #eef5ff; border-color: #d3e2f7; color: #275b9e; }
.painel-alerta.amarelo { background: #fffaed; border-color: #f0e1b6; color: #876216; }
.painel-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 18px; }
.painel-card { min-width: 0; padding: 20px; border: 1px solid #e0e7ef; border-radius: 14px; background: #fff; }
.painel-card-topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.painel-card h4 { font-size: 1.03rem; color: #263d59; }
.painel-card p { color: #65758a; font-size: .8rem; margin-top: 4px; }
.painel-card-topo .btn { white-space: nowrap; }
.painel-tag { border-radius: 7px; padding: 5px 9px; background: #f0f5fb; color: #527196; font-size: .8rem; }
.painel-grafico { display: flex; gap: 14px; height: 245px; padding-top: 16px; border-bottom: 1px solid #e4eaf1; }
.painel-coluna { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: center; justify-content: flex-end; gap: 9px; font-size: .8rem; color: #677890; }
.painel-barra-valor { font-size: .73rem; text-align: center; color: #364f6d; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.painel-barra-base { width: 100%; max-width: 56px; height: 155px; display: flex; align-items: flex-end; border-radius: 7px 7px 0 0; background: #f3f7fc; }
.painel-barra { width: 100%; border-radius: 7px 7px 0 0; background: linear-gradient(#64a6ef,#2b70b8); }
.painel-etapas { display: grid; gap: 5px; }
.painel-etapa { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; border: 0; border-radius: 6px; padding: 6px 8px; text-align: left; background: transparent; color: #40536c; cursor: pointer; font-size: .9rem; }
.painel-etapa:hover,.painel-etapa:focus-visible { background: #edf2f7; }
.painel-trilho { grid-column: 1/-1; height: 4px; border-radius: 4px; background: #eff3f8; overflow: hidden; }
.painel-trilho i { display: block; height: 100%; border-radius: inherit; }
.painel-linha { display: flex; justify-content: space-between; align-items: center; gap: 14px; width: 100%; padding: 12px 4px; background: none; border: 0; border-bottom: 1px solid #edf1f6; text-align: left; cursor: pointer; color: #304965; font-size: .9rem; }
.painel-linha:hover,.painel-linha:focus-visible { background: #eef1f5; }
.painel-linha > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.painel-linha small { display: block; margin-top: 4px; font-size: .76rem; color: #66768a; }
.painel-linha > strong { white-space: nowrap; color: #008578; }
.painel-prazo { text-align: right; white-space: nowrap; font-weight: 600; }
.painel-prazo.atrasado,.painel-prazo.atrasado small { color: #b74859; }
.painel-vazio { display: grid; place-items: center; padding: 35px 16px; min-height: 100px; border: 1px dashed #dce4ee; border-radius: 9px; color: #697b91; font-size: .9rem; text-align: center; }
.painel-rodape-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.painel-financas { display: flex; flex-wrap: wrap; gap: 18px; justify-content: space-between; }
.painel-financas > div { display: flex; flex-direction: column; gap: 9px; }
.painel-financas span { color: #61748c; font-size: .8rem; }
.painel-financas strong { font-size: 1.25rem; color: #2f4c6e; }
.painel-financas .positivo { color: #008578; }.painel-financas .negativo { color: #b74859; }
.painel-card .painel-nota { margin-top: 16px; font-size: .76rem; }
.painel-atalhos { display: flex; flex-wrap: wrap; gap: 10px; padding: 20px 0 4px; }
@media(max-width: 1120px) { .painel-metricas { grid-template-columns: repeat(2,minmax(0,1fr)); }.painel-grid,.painel-rodape-grid { grid-template-columns: minmax(0,1fr); } }
@media(max-width: 540px) { .painel-metricas { gap: 10px; }.painel-metrica { padding: 14px; }.painel-metrica-topo { font-size: .8rem; }.painel-metrica-topo > span:last-child { display: none; }.painel-card { padding: 15px; }.painel-card-topo { flex-wrap: wrap; }.painel-grafico { gap: 7px; }.painel-periodo { width: 100%; }.painel-atalhos .btn { flex: 1 1 45%; } }

/* Kanban da produção: prioridades por prazo e produtos visíveis no cartão. */
.producao-toolbar { background: #fff; border: 1px solid #dce5f0; border-radius: 14px; padding: 20px; margin-bottom: 18px; }
.producao-eyebrow { font-size: .73rem; letter-spacing: 1.2px; font-weight: 700; color: #53718f; }
.producao-intro h3 { margin: 6px 0; font-size: 1.5rem; color: #203d60; letter-spacing: -.4px; }
.producao-intro p { color: #62748c; font-size: .9rem; }
.producao-filtros { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.producao-filtros .search-input { flex: 1 1 260px; min-width: 0; }
.producao-filtros .filter-sel { flex: 0 1 210px; }
.producao-resumo { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.producao-resumo > span { padding: 6px 10px; background: #f1f5f9; border: 1px solid #e1e7f0; border-radius: 7px; color: #526780; font-size: .8rem; }
.producao-resumo > .producao-critico { background: #fff4f4; color: #ae3548; border-color: #f3d4da; }
.producao-aviso { color: #285987; font-size: .85rem; margin-bottom: 8px; }
.producao-aviso:empty { display: none; }
#view-kanban .kanban-wrap { padding-bottom: 14px !important; overscroll-behavior-x: contain; }
#view-kanban .kanban-board { gap: 16px; align-items: stretch; min-height: 440px; }
#view-kanban .producao-coluna { flex: 0 0 278px; background: #eaf0f6; border: 1px solid #dbe3ed; border-radius: 12px; min-width: 0; }
#view-kanban .producao-coluna-topo { padding: 15px 13px; color: #36506c; border: 0; background: transparent; font-size: .94rem; }
.producao-coluna-titulo { display: flex; gap: 7px; align-items: center; font-weight: 700; }
.producao-coluna-titulo i { display: block; width: 7px; height: 7px; border-radius: 50%; }
#view-kanban .k-col-count { min-width: 25px; height: 25px; background: #fff; color: #52718f; font-size: .8rem; border: 1px solid #dce5f0; }
#view-kanban .k-drop { min-height: 330px; border: 2px solid transparent; padding: 0 9px 10px; display: flex; flex-direction: column; gap: 11px; border-radius: 0 0 12px 12px; }
#view-kanban .k-drop.drag-over { background: #dbeafb; border: 2px dashed #528dd1; }
#view-kanban .producao-card { background: #fff; border: 1px solid #dce4ed; border-left: 4px solid #8da9c6; border-radius: 10px; padding: 13px 12px; cursor: grab; box-shadow: 0 2px 5px #17324d08; }
#view-kanban .producao-card:hover { border-color: #a7bacf; box-shadow: 0 5px 14px #17324d13; transform: translateY(-1px); }
#view-kanban .producao-card.dragging { opacity: .35; transform: rotate(1deg); }
#view-kanban .producao-card.prioridade-atrasado { border-left-color: #c74459; }
#view-kanban .producao-card.prioridade-hoje { border-left-color: #e47a31; }
#view-kanban .producao-card.prioridade-proximo { border-left-color: #d3a126; }
#view-kanban .producao-card.prioridade-concluido { border-left-color: #109584; }
.producao-card-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.producao-numero { color: #507393; font-size: .78rem; font-weight: 700; }
.producao-arrastar { color: #9aabba; font-size: 1.15rem; line-height: 1; }
.producao-card h4 { color: #293e57; font-size: 1rem; line-height: 1.4; overflow-wrap: anywhere; }
.producao-prazo { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 10px 0 12px; font-size: .76rem; }
.producao-prazo time { color: #60748b; white-space: nowrap; }
.producao-prioridade { border-radius: 5px; padding: 4px 6px; background: #eff4fa; color: #4f6c8a; font-weight: 600; }
.prioridade-atrasado .producao-prioridade { background: #fff0f1; color: #b53248; }
.prioridade-hoje .producao-prioridade { background: #fff0e6; color: #b85614; }
.prioridade-proximo .producao-prioridade { background: #fff8df; color: #856214; }
.prioridade-concluido .producao-prioridade { background: #e8f8f3; color: #087a6b; }
.producao-produtos { border-top: 1px solid #e9eef4; }
.producao-produto { padding: 10px 0 6px; border-bottom: 1px solid #edf1f6; }
.producao-produto > div:first-child { display: flex; gap: 7px; align-items: baseline; }
.producao-quantidade { color: #1a639c; font-size: .84rem; font-weight: 700; white-space: nowrap; }
.producao-produto strong { color: #344b63; font-size: .9rem; font-weight: 600; overflow-wrap: anywhere; }
.producao-produto p { font-size: .82rem; color: #5e7086; margin-top: 5px; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
.producao-produto-meta { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin-top: 4px; color: #76869b; font-size: .72rem; }
.producao-produto-meta .doc-item-editar { width: 26px; height: 26px; padding: 4px; }
.producao-mais-itens summary,.producao-observacoes summary { color: #426b96; font-size: .78rem; padding: 8px 0; cursor: pointer; }
.producao-observacoes p { white-space: pre-line; overflow-wrap: anywhere; color: #5b7087; font-size: .82rem; padding-bottom: 8px; }
.producao-card-info { display: flex; justify-content: space-between; align-items: center; gap: 7px; padding: 10px 0; }
.producao-card-info > span { font-size: .76rem; color: #6b7f96; overflow-wrap: anywhere; }
.producao-card-info > strong { font-size: .87rem; color: #087e74; white-space: nowrap; }
.producao-card-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-top: 9px; border-top: 1px solid #e9eef4; }
.producao-card-acoes .btn { padding: 6px 9px; font-size: .78rem; }
.producao-mover { flex: 1; width: 100%; min-width: 105px; padding: 7px 5px; border: 1px solid #d7e1ec; border-radius: 6px; background: #f7fafd; color: #3e5975; font-size: .76rem; }
.producao-coluna-vazia { display: flex; flex: 1; align-items: center; justify-content: center; flex-direction: column; text-align: center; padding: 28px 12px; border: 1px dashed #cbd7e4; border-radius: 9px; color: #71849b; font-size: .85rem; line-height: 1.6; }
.producao-coluna-vazia span { font-size: 1.5rem; color: #9eafc2; }
.producao-sem-itens { font-size: .8rem; color: #76899f; padding: 12px 0; }
@media(max-width: 600px) { .producao-toolbar { padding: 15px; }.producao-intro h3 { font-size: 1.25rem; }.producao-filtros .filter-sel { flex: 1; }#view-kanban .producao-coluna { flex-basis: 265px; } }

.producao-contato { margin-top: 5px; font-size: .8rem; overflow-wrap: anywhere; }
.producao-datas { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; margin: 12px 0; padding: 9px 0; border-top: 1px solid #edf1f6; }
.producao-datas > div { min-width: 0; }
.producao-datas span { display: block; color: #718198; font-size: .73rem; margin-bottom: 4px; }
.producao-datas strong { color: #36516e; font-size: .84rem; font-weight: 600; overflow-wrap: anywhere; }
.producao-contato a { color: #087c62; text-decoration: none; font-weight: 600; }
.producao-contato a:hover { text-decoration: underline; color: #055d49; }
.producao-contato.sem-telefone { color: #77869a; }
.producao-contato { display: flex; align-items: center; gap: 6px; }
.producao-telefone { color: #365b7f; cursor: text; user-select: text; }
.producao-copiar-contato { display: inline-flex; align-items: center; gap: 7px; padding: 4px 6px; border: 0; border-radius: 5px; background: transparent; color: #365b7f; font-size: .85rem; font-weight: 600; cursor: pointer; transition: background-color .15s,color .15s; }
.producao-copiar-contato svg { flex-shrink: 0; pointer-events: none; }
.producao-copiar-contato:hover,.producao-copiar-contato:focus-visible { background: #e4edf8; color: #073f8c; }
.producao-produto .producao-ampliar { margin-top: 8px; padding: 6px 9px; font-size: .8rem; }
.documento-vinculo { display: block; margin: 4px auto 0; padding: 2px 4px; border: 0; border-radius: 4px; background: transparent; color: #27649c; font-size: .75rem; cursor: pointer; white-space: nowrap; }
.documento-vinculo:hover,.documento-vinculo:focus-visible { background: #e3eefb; color: #073f8c; }
#modal-destino-pedido { z-index: 460; }
#modal-destino-pedido > .modal { max-width: 580px; }
#destino-pedido-contexto { color: #5e7088; margin-bottom: 16px; font-size: .95rem; }
.destino-pedido-opcao { display: flex; gap: 13px; align-items: flex-start; padding: 16px; border: 1px solid #d5dfeb; border-radius: 10px; margin-top: 12px; cursor: pointer; }
.destino-pedido-opcao:has(input:checked) { border-color: #3b82f6; background: #eff6ff; }
.destino-pedido-opcao input { margin-top: 4px; accent-color: #2563eb; }
.destino-pedido-opcao strong { color: #24486e; font-size: 1rem; }
.destino-pedido-opcao small { display: block; color: #60738a; margin-top: 5px; line-height: 1.5; font-size: .85rem; }
.producao-abrir-item { display: flex; align-items: baseline; gap: 7px; width: 100%; border: 0; border-radius: 5px; padding: 3px 0; background: transparent; text-align: left; cursor: pointer; }
.producao-abrir-item:hover { background: #eef2f7; }
.producao-abrir-item > span:last-child { margin-left: auto; color: #6884a2; }
.producao-produto .producao-tamanho { color: #365677; font-weight: 600; }
#modal-producao-item { z-index: 450; }
#modal-producao-item > .modal { display: flex; flex-direction: column; width: min(960px,calc(100vw - 24px)); max-width: 960px !important; max-height: calc(100dvh - 24px); overflow: hidden; }
#modal-producao-item .modal-head,#modal-producao-item .modal-foot { flex: 0 0 auto; }
#modal-producao-item .modal-body { min-height: 0; overflow-y: auto; }
.producao-detalhe-resumo { background: #f1f6fc; border: 1px solid #dce6f2; border-radius: 9px; padding: 15px; margin-bottom: 18px; }
.producao-detalhe-resumo > span { color: #547292; font-size: .82rem; }
.producao-detalhe-resumo h4 { font-size: 1.2rem; color: #263f5c; margin: 6px 0; overflow-wrap: anywhere; }
.producao-detalhe-resumo p { color: #5a6e87; font-size: .9rem; margin-top: 5px; white-space: pre-line; overflow-wrap: anywhere; }
.producao-detalhe-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 22px; }
.producao-detalhe-grid .fg { min-width: 0; }
.producao-detalhe-grid input,.producao-detalhe-grid textarea { width: 100%; min-width: 0; }
.producao-detalhe-texto { margin-top: 16px; }
#producao-item-detalhes { min-height: 180px; line-height: 1.6; }
.producao-anexos { min-width: 0; }
.producao-anexos-topo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; }
.producao-anexos h4 { color: #354f6c; font-size: 1rem; }
.producao-anexos > p { font-size: .8rem; color: #677a92; margin: 10px 0; }
.producao-fotos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.producao-fotos figure { margin: 0; min-width: 0; border: 1px solid #dce4ee; border-radius: 8px; padding: 8px; background: #f8fafc; }
.producao-foto-abrir { width: 100%; padding: 0; border: 0; background: #fff; cursor: zoom-in; }
.producao-fotos img { display: block; width: 100%; height: 140px; object-fit: contain; }
.producao-fotos .foto-ampliada { grid-column: 1/-1; }
.producao-fotos .foto-ampliada img { height: auto; max-height: 420px; }
.producao-fotos figcaption { font-size: .75rem; color: #677a92; margin: 6px 0; overflow-wrap: anywhere; }
.producao-fotos-vazio { grid-column: 1/-1; padding: 35px 15px; border: 1px dashed #cbd7e5; border-radius: 8px; color: #7789a0; text-align: center; font-size: .85rem; }
@media(max-width: 680px) { .producao-detalhe-grid { grid-template-columns: minmax(0,1fr); } }
