/* R21.5.2 — formulários operacionais: grade previsível e sem estouro lateral. */
body.record-page-open{
  overflow:hidden;
}

.record-page,
.record-page form,
#record-form[data-kind="orders"],
#record-form[data-kind="orders"] > .form-grid{
  min-width:0;
  max-width:100%;
}

.record-page{
  position:fixed;
  z-index:850;
  inset:0 0 0 225px;
  padding:18px 26px;
  background:var(--bg,#f2f6fa);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.record-page-head{
  position:sticky;
  z-index:2;
  top:-18px;
  margin:-18px -26px 14px;
  padding:13px 26px;
  background:#fff;
  border-bottom:1px solid var(--line,#dfe7ee);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.record-page-head h2{
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
}

.record-page form{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:16px;
  background:#fff;
  border:1px solid var(--line,#dfe7ee);
  border-radius:8px;
}

#record-form[data-kind="orders"] > .form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
}

#record-form[data-kind="orders"] > .form-grid > *,
#record-form[data-kind="orders"] label,
#record-form[data-kind="orders"] .smart-select{
  min-width:0;
  max-width:100%;
}

#record-form[data-kind="orders"] .wide{
  grid-column:1 / -1;
}

#record-form[data-kind="orders"] .smart-options{
  max-width:100%;
}

@media screen and (max-width:1200px){
  #record-form[data-kind="orders"] > .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media screen and (max-width:700px){
  .record-page{
    inset:0;
    padding:12px;
  }
  .record-page-head{
    top:-12px;
    margin:-12px -12px 12px;
    padding:10px 12px;
  }
  #record-form[data-kind="orders"] > .form-grid{
    grid-template-columns:minmax(0,1fr);
  }
  #record-form[data-kind="orders"] .wide{
    grid-column:auto;
  }
}

/* R22 HF2 — formulários densos por tamanho real do dado. */
.form-grid{align-items:start}
.form-grid .compact-field{min-width:0}
.field-inline{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:5px;align-items:end}
.inline-add{width:34px;min-width:34px;padding:6px 0;font-size:17px;line-height:1}
#record-form[data-kind="advertisers"]>.form-grid,
#record-form[data-kind="contracts"]>.form-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 12px}
#record-form[data-kind="advertisers"]>.form-grid>label,
#record-form[data-kind="contracts"]>.form-grid>label{grid-column:span 4}
#record-form[data-kind="advertisers"]>.form-grid>label:has([name="name"]),#record-form[data-kind="advertisers"]>.form-grid>label:has([name="legal_name"]),
#record-form[data-kind="contracts"]>.form-grid>label:has([name="name"]),#record-form[data-kind="contracts"]>.form-grid>label:has([name="advertiser_id"]){grid-column:span 6}
#record-form[data-kind="advertisers"]>.form-grid>label:has([name="person"]){grid-column:span 2}
#record-form[data-kind="advertisers"]>.form-grid>label:has([name="document"]){grid-column:span 4}
#record-form[data-kind="advertisers"]>.form-grid>label:has([name="branch_id"]){grid-column:span 4}
#record-form[data-kind="advertisers"]>.form-grid>label:has([name="postal_code"]){grid-column:span 3}
#record-form[data-kind="advertisers"]>.form-grid>label:has([name="state"]),#record-form[data-kind="advertisers"]>.form-grid>label:has([name="number"]){grid-column:span 2}
#record-form[data-kind="advertisers"]>.form-grid>label:has([name="city"]){grid-column:span 4}
#record-form[data-kind="advertisers"]>.form-grid>label:has([name="street"]){grid-column:span 5}
#record-form[data-kind="contracts"]>.form-grid>label:has(input[type="date"]){grid-column:span 3}
#record-form[data-kind="contracts"]>.form-grid>label:has(input[type="time"]){grid-column:span 2}
#record-form[data-kind="contracts"]>.form-grid>.boolean-control{grid-column:span 2;align-self:end}
.form-actions{position:sticky;bottom:-16px;background:#fff;border-top:1px solid var(--line,#dfe7ee);padding:12px 0 2px;margin-top:8px;justify-content:flex-end;z-index:2}
.campaign-actions{justify-content:flex-end;gap:6px;flex-wrap:wrap}
.campaign-actions .success{order:99}
.conditional-toggle{grid-column:span 3;display:flex;align-items:end;min-height:52px;margin:0}
.conditional-toggle label{display:flex;align-items:center;gap:7px;margin:0}
.contract-linked-list{display:grid;gap:6px}.contract-linked-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line,#dfe7ee);border-radius:7px}.contract-linked-row span{display:grid;min-width:0}.contract-linked-row small{color:var(--muted,#64748b)}
.manual-block-picker{border:1px solid var(--line,#dfe7ee);border-radius:8px;padding:10px;background:#f8fafc}.manual-picker-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.manual-block-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.manual-block-grid label{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#fff;border:1px solid var(--line,#dfe7ee);border-radius:6px;cursor:pointer}.manual-block-grid input{width:auto;margin:0}
.lookup-button{margin-left:5px}.lookup-status{display:block;margin-top:3px}
@media(max-width:900px){#record-form[data-kind="advertisers"]>.form-grid,#record-form[data-kind="contracts"]>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#record-form[data-kind="advertisers"]>.form-grid>* ,#record-form[data-kind="contracts"]>.form-grid>*{grid-column:auto!important}.field-inline{grid-template-columns:minmax(0,1fr) 38px}}

.lookup-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:end}.lookup-inline .lookup-button{margin:0;white-space:nowrap}

/* R22 HF2.1 — pedido/contrato em grade proporcional; campos curtos não quebram linha. */
#record-form[data-kind="orders"]>.form-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 12px;align-items:start}
#record-form[data-kind="orders"]>.form-grid>label{grid-column:span 4}
#record-form[data-kind="orders"]>.form-grid>label:has([name="name"]),
#record-form[data-kind="orders"]>.form-grid>label:has([name="contract_id"]){grid-column:span 6}
#record-form[data-kind="orders"]>.form-grid>label:has([name="quantity"]){grid-column:span 2}
#record-form[data-kind="orders"]>.form-grid>label:has([name="category_id"]){grid-column:span 4}
#record-form[data-kind="orders"]>.form-grid>label:has([name="block_type"]),
#record-form[data-kind="orders"]>.form-grid>label:has([name="priority"]),
#record-form[data-kind="orders"]>.form-grid>label:has([name="mode"]){grid-column:span 3}
#record-form[data-kind="orders"]>.form-grid>label:has(input[type="date"]){grid-column:span 3}
#record-form[data-kind="orders"]>.form-grid>label:has(input[type="time"]){grid-column:span 2}
#record-form[data-kind="orders"]>.form-grid>.boolean-control{grid-column:span 2;align-self:end;min-height:46px}
#record-form[data-kind="orders"]>.form-grid>.wide{grid-column:1/-1}
#record-form[data-kind="contracts"]>.form-grid>.conditional-toggle,
#record-form[data-kind="advertisers"]>.form-grid>.conditional-toggle{grid-column:span 2;min-height:50px}
#record-form[data-kind="contracts"]>.form-grid>.conditional-toggle+label,
#record-form[data-kind="advertisers"]>.form-grid>.conditional-toggle+label{grid-column:span 4}
#record-form[data-kind="contracts"]>.form-grid>label:has([name="active"]){grid-column:span 2;align-self:end}
#record-form label{gap:4px}
#record-form input[type="date"],#record-form input[type="time"]{min-width:0}
.form-actions .success,.campaign-actions .success{font-weight:700}
@media screen and (max-width:1200px){
  #record-form[data-kind="orders"]>.form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  #record-form[data-kind="orders"]>.form-grid>label{grid-column:span 3}
  #record-form[data-kind="orders"]>.form-grid>label:has([name="name"]),#record-form[data-kind="orders"]>.form-grid>label:has([name="contract_id"]){grid-column:span 6}
  #record-form[data-kind="orders"]>.form-grid>label:has([name="quantity"]),#record-form[data-kind="orders"]>.form-grid>label:has(input[type="time"]){grid-column:span 2}
  #record-form[data-kind="orders"]>.form-grid>label:has(input[type="date"]){grid-column:span 3}
}
@media screen and (max-width:700px){
  #record-form[data-kind="orders"]>.form-grid{grid-template-columns:minmax(0,1fr)}
  #record-form[data-kind="orders"]>.form-grid>*{grid-column:auto!important}
}


/* R22 HF3 — recuperação das regressões observadas em produção em 30/09. */
#record-form .field{min-width:0}
#record-form[data-kind="advertisers"]>.form-grid>.field-name,
#record-form[data-kind="advertisers"]>.form-grid>.field-legal_name{grid-column:span 6}
#record-form[data-kind="advertisers"]>.form-grid>.field-person{grid-column:span 2}
#record-form[data-kind="advertisers"]>.form-grid>.field-document{grid-column:span 4}
#record-form[data-kind="advertisers"]>.form-grid>.field-branch_id{grid-column:span 6}
#record-form[data-kind="advertisers"]>.form-grid>.field-postal_code{grid-column:span 3}
#record-form[data-kind="advertisers"]>.form-grid>.field-street{grid-column:span 6}
#record-form[data-kind="advertisers"]>.form-grid>.field-number{grid-column:span 2}
#record-form[data-kind="advertisers"]>.form-grid>.field-city{grid-column:span 4}
#record-form[data-kind="advertisers"]>.form-grid>.field-state{grid-column:span 2}
#record-form[data-kind="advertisers"]>.form-grid>.field-notes{grid-column:1/-1}
#record-form[data-kind="contracts"]>.form-grid>.field-name,
#record-form[data-kind="contracts"]>.form-grid>.field-advertiser_id{grid-column:span 6}
#record-form[data-kind="contracts"]>.form-grid>.field-authorization{grid-column:span 3}
#record-form[data-kind="contracts"]>.form-grid>.field-issue_date,
#record-form[data-kind="contracts"]>.form-grid>.field-authorization_date,
#record-form[data-kind="contracts"]>.form-grid>.field-start_date,
#record-form[data-kind="contracts"]>.form-grid>.field-end_date{grid-column:span 3}
#record-form[data-kind="contracts"]>.form-grid>.field-start_time,
#record-form[data-kind="contracts"]>.form-grid>.field-end_time{grid-column:span 2}
#record-form[data-kind="contracts"]>.form-grid>.field-branch_id,
#record-form[data-kind="contracts"]>.form-grid>.field-program_id,
#record-form[data-kind="contracts"]>.form-grid>.field-payment_id{grid-column:span 4}
#record-form[data-kind="contracts"]>.form-grid>.field-conditions,
#record-form[data-kind="contracts"]>.form-grid>.field-notes{grid-column:1/-1}
#record-form[data-kind="contracts"]>.form-grid>.field-active{grid-column:1/-1;justify-self:start;margin-top:4px}
#record-form[data-kind="orders"]>.form-grid>.field-name,
#record-form[data-kind="orders"]>.form-grid>.field-contract_id{grid-column:span 6}
#record-form[data-kind="orders"]>.form-grid>.field-quantity{grid-column:span 2}
#record-form[data-kind="orders"]>.form-grid>.field-category_id{grid-column:span 4}
#record-form[data-kind="orders"]>.form-grid>.field-block_type,
#record-form[data-kind="orders"]>.form-grid>.field-priority,
#record-form[data-kind="orders"]>.form-grid>.field-mode{grid-column:span 3}
#record-form[data-kind="orders"]>.form-grid>.field-start_date,
#record-form[data-kind="orders"]>.form-grid>.field-end_date{grid-column:span 3}
#record-form[data-kind="orders"]>.form-grid>.field-start_time,
#record-form[data-kind="orders"]>.form-grid>.field-end_time{grid-column:span 2}
#record-form[data-kind="orders"]>.form-grid>.field-program_id,
#record-form[data-kind="orders"]>.form-grid>.field-rotation{grid-column:span 4}
#record-form[data-kind="orders"]>.form-grid>.field-times{display:none!important}
.coala-confirm{width:min(520px,calc(100vw - 32px))!important;max-height:min(420px,90vh)!important}
.coala-confirm form{padding:16px 18px;display:grid;gap:10px}
.coala-confirm h2,.coala-confirm p{margin:0}.coala-confirm .actions{margin-top:2px}
.campaign-actions{position:sticky;bottom:-24px;background:#fff;padding:10px 0 4px;z-index:4;border-top:1px solid var(--line,#dfe7ee)}
.campaign-actions .success{margin-left:auto;order:100}
#campaign-program-form .form-grid{grid-template-columns:180px 180px minmax(260px,1fr);align-items:start}
#campaign-program-form .form-grid>label{margin:0}
#campaign-program-form .form-grid>p{margin:0;line-height:1.45}
#campaign-program-form>button{margin-top:12px}
#record-form[data-kind="advertisers"] .conditional-toggle,
#record-form[data-kind="contracts"] .conditional-toggle{grid-column:span 2}
#record-form[data-kind="advertisers"] .conditional-toggle+label,
#record-form[data-kind="contracts"] .conditional-toggle+label{grid-column:span 4}
.lookup-inline{grid-template-columns:minmax(0,1fr) auto}
.lookup-inline .lookup-button{height:var(--field-h,36px);align-self:end}
@media(max-width:900px){
 #campaign-program-form .form-grid{grid-template-columns:1fr 1fr}
 #campaign-program-form .form-grid>p{grid-column:1/-1}
}
@media(max-width:700px){
 #campaign-program-form .form-grid{grid-template-columns:1fr}
 #campaign-program-form .form-grid>*{grid-column:auto!important}
}


/* R22 HF4 — fechamento da regressão do assistente e ajustes operacionais 30/09. */
#record-form[data-kind="orders"] .rotation-control{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-top:2px}
.rotation-control .rotation-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.rotation-control .rotation-head h3{margin:0;font-size:1rem}
.rotation-control .rotation-head small{margin:0;color:var(--muted,#60717b);line-height:1.25}
.rotation-control .rotation-toolbar{display:grid;grid-template-columns:minmax(180px,360px) auto;gap:6px;align-items:center;margin:0}
.rotation-control .rotation-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.rotation-control .rotation-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:4px 6px;border:1px solid var(--line,#dfe7ee);border-radius:5px}
.rotation-control .rotation-item-actions{display:flex;gap:3px;flex:0 0 auto}
#record-form[data-kind="orders"] .field-quantity.required-attention input{border-color:#c93b3b;background:#fff7f7;box-shadow:0 0 0 1px rgba(201,59,59,.08)}
#record-form[data-kind="orders"] .field-quantity .quantity-required-note{display:block;color:#b42318;font-weight:600;margin-top:3px}
.audio-duration-note{margin:0;padding:7px 9px;border-radius:5px;background:#f5f8fa}
#order-weekdays-bulk-form{display:grid;gap:12px}
#order-weekdays-bulk-form fieldset{margin:0}
.program-calendar{margin:12px 0 4px}
.program-calendar>h3{margin:0 0 8px;text-transform:capitalize}
.program-calendar-weekdays,.program-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));gap:4px}
.program-calendar-weekdays span{text-align:center;font-size:.8rem;font-weight:700;color:var(--muted,#60717b);padding:4px}
.program-calendar-day{min-height:104px;border:1px solid var(--line,#dfe7ee);border-radius:6px;padding:7px;display:flex;flex-direction:column;gap:3px;background:#fff}
.program-calendar-day.blank{border-color:transparent;background:transparent;min-height:0}
.program-calendar-day.has-result{background:#f7fbfa}
.program-calendar-day.has-pending{background:#fff9ef;border-color:#efcf90}
.program-calendar-day.has-error{background:#fff4f4;border-color:#e1a2a2}
.program-calendar-day>strong{font-size:1rem}
.program-calendar-day>span{font-weight:700}
.program-calendar-day>small{line-height:1.2}
.program-calendar-day>em{font-size:.72rem;color:#b42318;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:normal}
.program-calendar-day button{margin-top:auto;align-self:flex-start}
@media(max-width:850px){.program-calendar-weekdays,.program-calendar-grid{grid-template-columns:repeat(7,minmax(58px,1fr))}.program-calendar-day{min-height:90px;padding:5px}.program-calendar-day>span{font-size:.78rem}.program-calendar-day>small{font-size:.7rem}.program-calendar-day button{font-size:.7rem;padding:4px}}


/* R22 HF5 — densidade, ações por ícone, regras por áudio e restrições */
.icon-action{width:34px;min-width:34px;height:32px;padding:0;display:inline-grid;place-items:center;font-size:1rem}
.responsive-table td .actions{gap:4px;flex-wrap:nowrap}
.play-restrictions,.media-rules-box{border:1px solid var(--line,#dfe7ee);border-radius:6px;padding:8px 10px;background:#fbfcfd}
.play-restrictions>summary,.media-rules-box>summary{cursor:pointer;font-weight:700}
.restriction-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);gap:10px;margin-top:9px}
.restriction-programs{display:flex;gap:6px 12px;flex-wrap:wrap}.restriction-programs label{display:flex;align-items:center;gap:5px}
.media-rule-list{display:grid;gap:6px;margin-top:8px}.media-rule-row{border-top:1px solid var(--line,#e4eaee);padding-top:6px}.media-rule-toggle{display:flex!important;align-items:center;gap:6px}.media-rule-fields{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:7px;margin-top:6px}.media-rule-fields[hidden]{display:none}
#record-form[data-kind="orders"] .field-fill_all{grid-column:span 4!important;display:flex;align-items:flex-start;gap:7px;min-height:0;padding:8px 10px}.field-fill_all .control-label{line-height:1.25}.field-fill_all small{display:block;max-width:300px}
.program-calendar-sparse{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.program-calendar.sparse .program-calendar-day{min-height:118px}
#record-form[data-kind="blocks"] .field-exact_duration{grid-column:span 3}.field-exact_tolerance{grid-column:span 3}
@media(max-width:800px){.restriction-grid,.media-rule-fields{grid-template-columns:1fr}.program-calendar-sparse{grid-template-columns:1fr 1fr}}


/* R22 HF5 final — acabamento dos controles confirmados em homologação */
#record-form[data-kind="orders"] .order-fill-all{grid-column:span 6!important;display:grid!important;grid-template-columns:auto minmax(180px,1fr);align-items:start;column-gap:8px;row-gap:3px;padding:9px 10px;min-height:0;border:1px solid var(--line,#dfe7ee);border-radius:7px;background:#f8fafc}
#record-form[data-kind="orders"] .order-fill-all input{margin-top:2px}
#record-form[data-kind="orders"] .order-fill-all .control-label{line-height:1.25;font-weight:600}
#record-form[data-kind="orders"] .order-fill-all small{grid-column:1/-1;max-width:none;margin:0;color:var(--muted,#64748b)}
.media-rule-fields{grid-template-columns:repeat(3,minmax(150px,1fr))!important}
.media-specific-dates{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,280px) auto;gap:6px;align-items:end;border-top:1px solid var(--line,#e4eaee);padding-top:7px}
.media-specific-dates .date-chips,.media-specific-dates>small{grid-column:1/-1}
.date-chips{display:flex;flex-wrap:wrap;gap:5px}.date-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 5px 3px 8px;border:1px solid var(--line,#dfe7ee);border-radius:999px;background:#fff}.date-chip .icon-action{width:23px;min-width:23px;height:22px;border-radius:999px;padding:0}
.default-category-mark{white-space:nowrap}
@media(max-width:900px){#record-form[data-kind="orders"] .order-fill-all{grid-column:1/-1!important}.media-rule-fields{grid-template-columns:1fr!important}.media-specific-dates{grid-template-columns:1fr auto}}
