.drawer{position:fixed; inset:0; z-index:80; display:none}
.drawer.is-open{display:block}
.drawer-backdrop{position:absolute; inset:0; background:rgba(15,23,42,.28)}
.drawer-panel{position:absolute; top:0; right:0; height:100%; width:min(520px, 100%); background:var(--panel); border-left:1px solid var(--border); box-shadow:var(--shadow); display:flex; flex-direction:column}
.drawer-head{padding:14px 14px; border-bottom:1px solid var(--border); display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
.drawer-title{font-weight:900}
.drawer-sub{font-size:12px; color:var(--muted); margin-top:2px}
.drawer-body{padding:14px 14px 18px; overflow:auto}

.modal{position:fixed; inset:0; z-index:85; display:flex; align-items:center; justify-content:center; padding:16px}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute; inset:0; background:rgba(15,23,42,.28)}
.modal-panel{position:relative; width:min(560px, 100%); background:var(--panel); border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow); overflow:hidden}
.modal-backdrop-blur{backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px)}
.modal-panel-lg{width:min(900px, 100%); border:2px solid rgba(15,23,42,.18); border-radius:10px}
.modal-head{padding:14px 14px; border-bottom:1px solid var(--border); display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
.modal-title{font-weight:900}
.modal-sub{font-size:12px; color:var(--muted); margin-top:2px}
.modal-body{padding:14px}

#orderModal .modal-backdrop{background:rgba(15,23,42,.48)}
#orderModal .modal-panel{
  border:3px solid rgba(15,23,42,.32);
  border-radius:6px;
  box-shadow:0 24px 60px rgba(15,23,42,.24), 0 0 0 1px rgba(255,255,255,.75);
  background:#ffffff;
  overflow:hidden;
}
#orderModal .modal-head{background:#ffffff}
#orderModal .modal-body{background:#f1f5f9; padding:0}

#orderModal .modal-pedido{
  max-width:980px;
  margin:0 auto;
  padding:24px;
}

#orderModal .section-pedido{margin-top:18px}
#orderModal .section-pedido:first-child{margin-top:0}

#orderModal .grid-pedido{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
@media (max-width: 980px){#orderModal .grid-pedido{grid-template-columns:1fr}}

#driverModal .modal-panel{
  width:min(980px, 96vw);
  max-height:90vh;
  border-radius:6px;
  background:#ffffff;
}
#driverModal .modal-body{
  max-height:calc(90vh - 70px);
  overflow:auto;
  background:#f1f5f9;
}
#driverModal .grid-pedido{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
@media (max-width: 980px){#driverModal .grid-pedido{grid-template-columns:1fr}}
#driverModal .card-pedido{
  background:#ffffff;
  border:1px solid #E5E7EB;
  border-radius:10px;
  padding:18px;
}
#driverModal .range-input{
  width:100%;
  box-sizing:border-box;
}

#orderModal .card-pedido{
  background:#ffffff;
  border:1px solid #E5E7EB;
  border-radius:10px;
  padding:18px;
}

#orderModal .status-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:16px;
}
@media (max-width: 980px){#orderModal .status-grid{grid-template-columns:repeat(2, 1fr)}}
@media (max-width: 520px){#orderModal .status-grid{grid-template-columns:1fr}}

#orderModal .status-card{
  border:1px solid #E5E7EB;
  border-radius:8px;
  padding:12px;
  background:#ffffff;
}

#orderModal .itens-card{padding:16px}
#orderModal .item-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #E5E7EB;
}
#orderModal .item-row:last-child{border-bottom:0}

.badge{display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:800; padding:6px 10px; border-radius:999px; border:1px solid var(--border); background:var(--chip); color:var(--chipText)}
.badge.is-new{background:rgba(217,119,6,.10); border-color:rgba(217,119,6,.18); color:#92400e}
.badge.is-accepted{background:rgba(59,130,246,.10); border-color:rgba(59,130,246,.18); color:#1d4ed8}
.badge.is-prep{background:rgba(37,99,235,.10); border-color:rgba(37,99,235,.18); color:#1d4ed8}
.badge.is-out{background:rgba(234,88,12,.10); border-color:rgba(234,88,12,.18); color:#c2410c}
.badge.is-done{background:rgba(22,163,74,.10); border-color:rgba(22,163,74,.18); color:#15803d}
.badge.is-cancel{background:rgba(220,38,38,.10); border-color:rgba(220,38,38,.18); color:#b91c1c}

.grid-2-eq{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}
@media (max-width: 980px){.grid-2-eq{grid-template-columns:1fr}}

.input-default{width:100%; border:1px solid #d1d5db; border-radius:.5rem; padding:.5rem .75rem}
.input-default:disabled{background:#f3f4f6; color:#64748b}
.input-default[readonly]{background:#f3f4f6}

.sidebar{display:flex; flex-direction:column}
.brand{position:relative}
.sidebar-toggle{margin-left:auto}

.sidebar-block{margin:10px 12px 6px; padding:14px 12px; border:1px solid var(--border); border-radius:14px; background:var(--panel); box-shadow:var(--shadow); cursor:pointer}
.sidebar-block-head{display:flex; align-items:center; justify-content:space-between; gap:10px}
.sidebar-block-title{font-size:12px; font-weight:900; color:var(--muted); letter-spacing:.2px}
.sidebar-block-main{margin-top:8px; font-weight:900; font-size:14px}
.sidebar-block-sub{margin-top:4px; font-size:12px; color:var(--muted)}
.sidebar-dot{width:10px; height:10px; border-radius:999px; background:var(--muted); box-shadow:0 0 0 3px rgba(15,23,42,.06)}

.nav{padding-top:6px}
.nav-item{padding-top:14px; padding-bottom:14px; margin-bottom:4px}
.nav-ic{width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center}
.nav-ic svg{width:20px; height:20px}
.nav-text{display:inline-block}

.nav-badge{margin-left:auto; min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:#ef4444; color:#fff; font-size:12px; font-weight:900; display:inline-flex; align-items:center; justify-content:center}
.nav-badge.is-pulse{position:relative}
.nav-badge.is-pulse::after{content:''; position:absolute; inset:-6px; border-radius:999px; background:rgba(239,68,68,.22); animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%{transform:scale(.9); opacity:.35} 50%{transform:scale(1.25); opacity:.15} 100%{transform:scale(.9); opacity:.35}}

.app.is-collapsed .sidebar{width:84px}
.app.is-collapsed .brand-text{display:none}
.app.is-collapsed .sidebar-block{padding:12px 10px}
.app.is-collapsed .sidebar-block-title{display:none}
.app.is-collapsed .sidebar-block-main{display:none}
.app.is-collapsed .sidebar-block-sub{display:none}
.app.is-collapsed .nav-text{display:none}
.app.is-collapsed .nav-item{justify-content:center}
.app.is-collapsed .nav-badge{position:absolute; right:10px; top:10px}

.reports-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px}
@media (max-width: 1100px){.reports-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 680px){.reports-grid{grid-template-columns:1fr}}
.report-card{cursor:pointer; text-align:left}
.report-card:hover{transform:translateY(-1px)}

.ops-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap}
.ops-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center}

.period-filter{display:flex; flex-direction:column; gap:4px; min-width:180px}
.period-filter label{font-size:12px; font-weight:900; color:var(--muted)}
.period-filter select{border:1px solid var(--border); border-radius:12px; padding:10px 12px; background:#fff; font-weight:800}

body{overflow-x:hidden}

body.chat-mode .app.is-collapsed .sidebar{width:70px}
body.chat-mode .content{padding:0}
body.chat-mode,
body.chat-mode .app,
body.chat-mode .main,
body.chat-mode .content{height:100vh}

.chat-layout{display:grid; grid-template-columns:300px 1fr 350px; height:calc(100vh - 80px); min-height:0}
.chat-coluna-sessoes{border-right:1px solid var(--border); overflow-y:auto; background:var(--panel); min-height:0}
.chat-coluna-conversa{display:flex; flex-direction:column; height:100%; min-height:0; background:var(--panel); overflow:hidden}
#chat-mensagens,.chat-messages{flex:1; min-height:0; overflow-y:auto; padding:14px; scroll-behavior:smooth; scrollbar-width:thin}
.chat-input-area{display:flex; border-top:1px solid var(--border); padding:10px; gap:10px}
.chat-input-area input{flex:1; padding:10px; border:1px solid var(--border); border-radius:12px; background:#fff}
.chat-input-area button{padding:10px 12px; border-radius:12px; background:#111827; color:#fff; font-weight:800}
.chat-coluna-dados{border-left:1px solid var(--border); padding:14px; background:var(--panel); overflow-y:auto; min-height:0}
.chat-sessao-item{padding:12px; border-bottom:1px solid var(--border); cursor:pointer}
.chat-sessao-item:hover{background:rgba(15,23,42,.04)}
.chat-sessao-item.is-active{background:rgba(59,130,246,.08)}
.chat-sessao-item.is-unread{background:rgba(249,115,22,.10)}
.chat-sessao-item.is-unread strong{color:#111827}
.chat-msg{padding:10px 12px; border:1px solid var(--border); border-radius:12px; margin-bottom:10px; background:#fff}
.chat-placeholder{padding:14px; color:var(--muted); font-weight:800}

.pulse-menu{
  animation:pulseMenu 1s infinite;
  background-color:rgba(255,0,0,.08);
}

@keyframes pulseMenu{
  0%{box-shadow:0 0 0 0 rgba(255,0,0,.45)}
  70%{box-shadow:0 0 0 10px rgba(255,0,0,0)}
  100%{box-shadow:0 0 0 0 rgba(255,0,0,0)}
}

.btn-mini{padding:6px 10px; border-radius:10px; font-size:12px}

.orders-pager{display:flex; flex-direction:row; align-items:center; gap:8px; flex-wrap:nowrap}
.orders-pager #ordersPagination{display:flex; flex-direction:row; align-items:center; gap:6px; flex-wrap:nowrap}
.orders-pager #ordersPrev,.orders-pager #ordersNext{white-space:nowrap}

.drivers-tabs{display:flex; gap:8px; flex-wrap:wrap; border-bottom:1px solid var(--border); padding-bottom:10px}
.drivers-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px}
@media (max-width: 1100px){.drivers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 820px){.drivers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 520px){.drivers-grid{grid-template-columns:1fr}}
.driver-card{position:relative; padding:14px; border-radius:12px; background:#ffffff; border:1px solid var(--border); cursor:pointer; box-shadow:var(--shadow)}
.driver-card:hover{transform:translateY(-1px)}
.driver-top{display:flex; align-items:center; gap:10px}
.driver-photo{width:44px; height:44px; border-radius:12px; object-fit:cover; background:#f3f4f6; flex:none}
.driver-name{font-weight:900}
.driver-sub{font-size:12px; color:var(--muted); margin-top:2px}
.driver-status{position:absolute; right:12px; top:12px; width:12px; height:12px; border-radius:999px}
.driver-status.is-online{background:#16a34a}
.driver-status.is-busy{background:#ef4444}
.driver-status.is-offline{background:#9ca3af}
.driver-badges{display:flex; gap:6px; flex-wrap:wrap; margin-top:10px}
.driver-pill{font-size:12px; font-weight:800; padding:6px 10px; border-radius:999px; border:1px solid var(--border); background:var(--chip); color:var(--chipText)}

.bf-section{
  background:white;
  padding:25px;
  border-radius:16px;
  margin-bottom:30px;
  box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

.bf-section h2{
  font-weight:900;
  font-size:18px;
  margin:0 0 12px;
}

.bf-grid-2{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:20px;
}

.bf-link-box{
  display:flex;
  gap:10px;
}

.bf-link-box input{
  flex:1;
  background:#f3f4f6;
}

.bf-link-box button{
  background:#16a34a;
  color:white;
  border:none;
  padding:8px 14px;
  border-radius:8px;
  cursor:pointer;
  font-weight:900;
}

.bf-personalizacao{
  display:grid;
  gap:25px;
}

.bf-personalizacao-preview{
  position:relative;
  width:100%;
  max-width:500px;
  margin:30px auto 0 auto;
  overflow:hidden;
  border-radius:20px;
  border:1px solid var(--border);
  background:#f8fafc;
}

.bf-upload-area label{
  display:block;
  font-weight:800;
  margin-bottom:8px;
}

.bf-preview h3{
  margin:0 0 12px;
  font-weight:900;
}

.bf-preview-card{
  position:relative;
  background:#f8fafc;
  border-radius:20px;
  overflow:hidden;
  padding-bottom:20px;
}

.bf-preview-banner{
  height:140px;
  background:linear-gradient(90deg, #1e3a8a, #2563eb);
}

.bf-preview-logo{
  width:90px;
  height:90px;
  background:white;
  border-radius:20px;
  position:absolute;
  top:120px;
  left:50%;
  transform:translateX(-50%);
  box-shadow:0 10px 20px rgba(0,0,0,0.2);
  z-index:2;
}

.bf-preview-nome{
  margin-top:60px;
  text-align:center;
  font-weight:bold;
}

#orderModal .modal-panel{
  padding:24px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

#orderModal .modal-pedido{
  max-width:980px !important;
  margin:0 auto !important;
  padding:24px !important;
  box-sizing:border-box !important;
}

#orderModal .modal-pedido .grid-pedido{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:20px !important;
}

#orderModal .modal-pedido .card-pedido{
  background:#ffffff !important;
  border:1px solid #E5E7EB !important;
  border-radius:10px !important;
  padding:18px !important;
  box-sizing:border-box !important;
}

#orderModal .modal-pedido .status-grid{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:16px !important;
}

#orderModal .modal-pedido .status-card{
  border:1px solid #E5E7EB !important;
  border-radius:8px !important;
  padding:12px !important;
  box-sizing:border-box !important;
}

#orderModal .modal-pedido .item-row{
  display:flex !important;
  justify-content:space-between !important;
  padding:10px 0 !important;
}

@media (max-width:980px){
  #orderModal .modal-pedido .grid-pedido{
    grid-template-columns:1fr !important;
  }
}

#orderModal.modal{
  align-items:flex-start !important;
  justify-content:center !important;
  overflow-y:auto !important;
}

#orderModal .modal-panel{
  max-height:calc(100vh - 32px) !important;
  height:calc(100vh - 32px) !important;
  display:flex !important;
  flex-direction:column !important;
}

#orderModal .modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  display:flex !important;
}

#orderModal .modal-panel{
  width:94vw !important;
  max-width:1600px !important;
}

#orderModal .modal-pedido{
  max-width:none !important;
  width:100% !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100% !important;
  box-sizing:border-box !important;
}

#orderModal .order-layout{
  display:grid !important;
  grid-template-columns:1fr 20px 360px !important;
  align-items:start !important;
  height:100% !important;
  min-height:0 !important;
}

#orderModal .order-left{
  padding-right:10px !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
  scrollbar-gutter:stable both-edges;
}

#orderModal .order-divider{
  width:20px !important;
  height:100% !important;
  border-left:1px solid rgba(0,0,0,0.15) !important;
}

#orderModal .order-right{
  width:360px !important;
  flex:0 0 360px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  padding-bottom:18px !important;
  padding-right:6px !important;
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
  scrollbar-gutter:stable both-edges;
}

@media (max-width: 980px){
  #orderModal .modal-panel{width:96vw !important}
  #orderModal .order-layout{display:block !important; height:auto !important; min-height:0 !important}
  #orderModal .order-left{padding-right:0 !important}
  #orderModal .order-divider{display:none !important}
  #orderModal .order-right{width:auto !important; flex:0 0 auto !important; overflow:visible !important; padding-right:0 !important; padding-left:0 !important; border-left:0 !important; margin-top:18px !important}
  #orderModal .modal-body{overflow:auto !important}
}

#orderModal .actions-card{display:flex; flex-direction:column; gap:10px}
#orderModal .actions-card button{width:100%; height:46px; font-size:15px; font-weight:600}

#orderModal .acao{padding:10px; border-radius:8px; margin-bottom:8px; display:block; width:100%}
#orderModal .acao.ok{background:#d1fae5; color:#065f46}
#orderModal .acao.fail{background:#fee2e2; color:#7f1d1d}
#orderModal .acao.disabled{pointer-events:none; opacity:0.6}

#orderModal .motoboy-list{margin-top:10px}
#orderModal .motoboy-item{border-radius:6px}

#orderModal #orderMap{height:220px}
#orderModal #orderMap{background:#e5e7eb}
#orderModal .card-entregue{background:#f6f8fa; border-radius:12px; padding:16px; margin-top:12px}
#orderModal .card-entregue h3{margin:0; font-size:18px}
#orderModal .cliente-box{margin-top:10px}
#orderModal .cliente-box small{display:block; margin-top:4px; color:#64748b}
#orderModal .avaliacao-box{margin-top:12px; font-size:14px}
#orderModal .avaliacao-box p{margin:6px 0 0}
#orderModal .stars{color:#f5a623; font-size:16px}

.bf-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  gap: 14px;
}

.bf-header h1 {
  font-size: 22px;
  font-weight: 600;
}

.bf-header > div {
  padding-right: 24px;
}

.bf-header p {
  font-size: 13px;
  color: #666;
}

.bf-switch {
  display: flex;
  align-items: center;
  gap: 10px;
}

.bf-switch input {
  display: none;
}

.bf-slider {
  width: 42px;
  height: 22px;
  background: #ccc;
  border-radius: 20px;
  position: relative;
  cursor: pointer;
}

.bf-slider::after {
  content: '';
  width: 18px;
  height: 18px;
  background: white;
  position: absolute;
  top: 2px;
  left: 2px;
  border-radius: 50%;
  transition: .3s;
}

.bf-switch input:checked + .bf-slider {
  background: #22c55e;
}

.bf-switch input:checked + .bf-slider::after {
  transform: translateX(20px);
}

.bf-label {
  font-size: 13px;
}

.dia-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px;
}

.dia-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  font-weight: 800;
}

.periodo {
  font-size: 13px;
  color: #334155;
  padding: 4px 0;
}

.dia-card.desativado {
  opacity: 0.4;
  filter: grayscale(1);
}

.bf-desempenho {
  margin-top: 40px;
}

.bf-metricas {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.bf-metricas .card {
  background: #fff;
  border-radius: 10px;
  padding: 16px;
  flex: 1;
  min-width: 220px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.bf-metricas span {
  font-size: 13px;
  color: #666;
}

.bf-metricas strong {
  display: block;
  font-size: 20px;
  margin-top: 5px;
}

.bf-warning-box {
  margin-bottom: 10px;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid rgba(234, 88, 12, 0.2);
  background: rgba(255, 237, 213, 0.6);
}

.bf-warning-title {
  font-weight: 900;
  color: #9a3412;
}

.bf-warning-text {
  margin-top: 6px;
  font-size: 13px;
  color: #7c2d12;
}

.bf-info-box {
  margin-bottom: 10px;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid rgba(59, 130, 246, 0.2);
  background: rgba(219, 234, 254, 0.55);
}

.bf-info-title {
  font-weight: 900;
  color: #1d4ed8;
}

.bf-info-text {
  margin-top: 6px;
  font-size: 13px;
  color: #1e3a8a;
}

.dia-periodos {
  display: grid;
  gap: 8px;
}

.periodo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.periodo .hora-inicio,
.periodo .hora-fim {
  height: 34px;
  border-radius: 8px;
  border: 1px solid var(--border);
  padding: 0 8px;
  background: #fff;
}

.btn-copy {
  margin-left: auto;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #fff;
  cursor: pointer;
}

.bf-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(2, 6, 23, 0.45);
}

.bf-modal.hidden {
  display: none;
}

.bf-modal-panel {
  width: min(420px, 92vw);
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--border);
  padding: 16px;
}

.dias-lista {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}

#confirmCopy {
  margin-top: 12px;
  height: 40px;
  width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(15,23,42,.15);
  background: #111827;
  color: #fff;
  font-weight: 900;
}

.bf-tabs-header {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.bf-tab {
  padding: 10px 16px;
  border-radius: 8px;
  background: #eee;
  border: none;
  cursor: pointer;
}

.bf-tab.active {
  background: #2563eb;
  color: white;
}

.bf-tab-content {
  display: none;
}

.bf-tab-content.active {
  display: block;
}

.pausa-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) minmax(160px, 1.2fr) auto;
  gap: 10px;
  margin-bottom: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 0;
  background: #fff;
}

.pausa-item input {
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
}

#addPausa {
  margin-top: 8px;
  height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(15,23,42,.14);
  border-radius: 8px;
  background: #fff;
  font-weight: 800;
  cursor: pointer;
}

.pausas-container h3 {
  margin: 0 0 10px 0;
  font-size: 15px;
}

.pausas-container hr {
  border: 0;
  border-top: 1px solid var(--border);
  margin: 14px 0;
}

.feriado-item {
  display: block;
  padding: 12px;
  background: #f8fafc;
  border: 1px solid var(--border);
  border-radius: 0;
  margin-bottom: 8px;
}

.feriado-top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 10px;
}

.feriado-config {
  display: grid;
  grid-template-columns: auto 1fr 1fr auto;
  gap: 8px;
  align-items: center;
}

.feriado-hini,
.feriado-hfim {
  height: 34px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0 8px;
}

.feriado-save {
  height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(15,23,42,.14);
  border-radius: 8px;
  background: #111827;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.empty {
  color: #999;
}

#orderModal .status-titulo{font-weight:900; margin-bottom:10px}
#orderModal .status-titulo.status-aguardando{text-align:center; font-weight:600; animation:fadePulse 2s infinite}
@keyframes fadePulse{0%,100%{opacity:1}50%{opacity:.6}}

#orderModal .status-timeline{display:flex; align-items:center; justify-content:space-between; gap:10px}
#orderModal .status-step{min-width:44px; min-height:34px; padding:8px 10px; border-radius:999px; border:1px solid #e5e7eb; background:#fff; color:#334155; font-weight:900; display:flex; flex-direction:column; align-items:center; justify-content:center; white-space:nowrap; text-align:center}
#orderModal .status-step.ok{background:#d1fae5; border-color:rgba(22,163,74,.25); color:#065f46}
#orderModal .status-step.active{position:relative; background:#3b82f6; color:#fff; box-shadow:0 0 0 rgba(59,130,246,.7); animation:pulseStatus 1.8s infinite}
#orderModal .status-step small{display:block; font-size:11px; opacity:.7; margin-top:2px; font-weight:600}
@keyframes pulseStatus{0%{box-shadow:0 0 0 0 rgba(59,130,246,.7)}70%{box-shadow:0 0 0 12px rgba(59,130,246,0)}100%{box-shadow:0 0 0 0 rgba(59,130,246,0)}}

#orderModal .status-line{position:relative; height:4px; flex:1; background:#e5e7eb; overflow:hidden; border-radius:999px}
#orderModal .status-line::after{content:""; position:absolute; top:0; left:-30%; width:30%; height:100%; background:linear-gradient(90deg, transparent, #9ca3af, transparent); animation:flowLine 2s linear infinite}
@keyframes flowLine{0%{left:-30%}100%{left:100%}}

#orderModal #horarioEntrega{margin-top:10px; text-align:center; font-weight:900}

.promo-container{padding:20px}
.promo-header h1{font-size:22px;font-weight:700}
.promo-header p{color:#6b7280;margin-top:4px}
.promo-cards{display:flex;gap:16px;margin-top:20px}
.promo-card{flex:1;height:140px;border-radius:14px;padding:16px;background:linear-gradient(135deg,#ffffff,#f9fafb);border:1px solid #e5e7eb;cursor:pointer;transition:.2s}
.promo-card:hover{border-color:#6366f1;transform:translateY(-2px)}
.promo-card .icon{font-size:22px}
.promo-card h3{margin-top:10px;font-size:16px}
.promo-card p{font-size:13px;color:#6b7280}
.top-bar{margin-bottom:12px}
.card-box{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;box-shadow:0 4px 12px rgba(0,0,0,.06);max-width:860px}
.card-box h2{margin:0 0 14px 0;font-size:20px}
.card-box label{display:block;margin-top:10px;margin-bottom:6px;font-weight:700;color:#334155}
.card-box select,.card-box textarea,.card-box input{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px;background:#fff}
.promo-actions{display:flex;gap:10px;margin-top:12px}
.promo-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.promo-head h2{margin:0;font-size:20px}
.card-form{background:#fff}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid label{display:block;margin-bottom:6px;font-weight:700;color:#334155}
.form-grid input,.form-grid select{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px}
.form-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.hidden{display:none!important}
@media (max-width:980px){.promo-cards{flex-direction:column}.form-grid{grid-template-columns:1fr}}
