:root{
  --bg:#101011;--soft:#f3f2ee;--text:#171719;--muted:#73737a;--line:#deddd7;
  --green:#175d3a;--yellow:#8d6812;--red:#8c2e2e;--container:min(1380px,calc(100% - 32px));--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#ecebe7;color:var(--text);line-height:1.45}
button,input,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}.producer-container{width:var(--container);margin-inline:auto}
.producer-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.producer-header-inner{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px}.producer-brand{display:flex;align-items:baseline;gap:10px}.producer-brand strong{letter-spacing:.16em}.producer-brand span{font-size:.65rem;letter-spacing:.2em;color:var(--muted)}
.producer-header-actions{display:flex;align-items:center;gap:12px;font-size:.82rem;font-weight:750}.internal-chip{padding:6px 9px;background:#171719;color:white;border-radius:999px;font-size:.65rem;letter-spacing:.12em}
.security-note{background:#fff3c9;border-bottom:1px solid #e4d18c;padding:9px 0;font-size:.74rem;color:#4a3d12}.producer-hero{background:var(--bg);color:#fff;padding:58px 0}.producer-hero .producer-container{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:850;color:var(--muted)}.producer-hero .eyebrow{color:#a7a7ad}.producer-hero h1{margin:0;font-size:clamp(2.5rem,5.4vw,5.2rem);line-height:.92;letter-spacing:-.05em;max-width:980px}
.hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.button,.small-button{border:1px solid transparent;border-radius:12px;font-weight:800;cursor:pointer}.button{min-height:46px;padding:0 16px}.button.primary{background:#f1efe7;color:#111}.button.ghost{background:transparent;color:white;border-color:#38383d}
.producer-section{padding:28px 0 80px}.producer-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.producer-main{display:grid;gap:16px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.panel h2{margin:0;font-size:clamp(1.45rem,2.6vw,2.35rem);letter-spacing:-.035em;line-height:1}.panel-copy{margin:-5px 0 20px;color:var(--muted);font-size:.84rem;max-width:850px}
.status-pill,.subtle-chip{font-size:.68rem;border-radius:999px;padding:7px 10px;white-space:nowrap;font-weight:850}.status-neutral,.subtle-chip{background:var(--soft);color:#555}.status-green{background:#e5f3eb;color:var(--green)}.status-yellow{background:#fff1c9;color:var(--yellow)}.status-red{background:#fae2e2;color:var(--red)}
.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}
.form-grid label>span,.client-price-field>span,.crew-row label>span{display:block;font-size:.72rem;color:var(--muted);font-weight:800;margin-bottom:6px}input,select{width:100%;min-height:46px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:0 11px;font-size:16px}
.service-fieldset{border:0;padding:0;margin:20px 0}.service-fieldset legend{font-size:.8rem;font-weight:850;margin-bottom:9px}.service-toggle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-toggle{min-height:70px;border:1px solid var(--line);border-radius:14px;padding:13px;display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;cursor:pointer}.service-toggle input{width:auto;min-height:auto}.service-toggle>span{font-size:1.1rem}.service-toggle strong{font-size:.86rem}
.check-inline{display:flex!important;align-items:center;gap:10px;min-height:46px;border:1px solid var(--line);border-radius:11px;padding:0 12px}.check-inline input{width:auto;min-height:auto}.check-inline span{margin:0!important}.is-hidden{display:none!important}
.crew-table{display:grid;gap:8px}.crew-row{display:grid;grid-template-columns:1.1fr 1fr 170px 150px;gap:10px;align-items:end;border:1px solid var(--line);background:#fafafa;border-radius:14px;padding:12px}.crew-row.is-warning{border-color:#d69b9b;background:#fff7f7}.crew-role strong,.crew-role span{display:block}.crew-role span{font-size:.7rem;color:var(--muted);margin-top:3px}.crew-check{min-height:46px;display:flex;align-items:center;justify-content:flex-end;text-align:right}.crew-check span{font-size:.68rem;color:var(--green);font-weight:850}.crew-check b{font-size:.68rem;color:var(--red)}
.price-strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.strategy-card{border:1px solid var(--line);background:white;border-radius:16px;padding:17px;text-align:left;cursor:pointer}.strategy-card.recommended{background:var(--bg);color:#fff;border-color:var(--bg)}.strategy-card span,.strategy-card strong,.strategy-card small{display:block}.strategy-card span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:850}.strategy-card.recommended span,.strategy-card.recommended small{color:#aaaab1}.strategy-card strong{font-size:1.8rem;margin:8px 0 3px}.strategy-card small{font-size:.72rem;color:var(--muted)}
.bundle-box{margin-top:14px;background:#f4f1e9;border:1px solid #ded6c5;border-radius:17px;padding:17px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.bundle-box h3{margin:0;font-size:1.25rem}.bundle-numbers{display:grid;gap:6px}.bundle-numbers span,.bundle-numbers strong{display:flex;justify-content:space-between;gap:12px;font-size:.8rem}.bundle-numbers strong{border-top:1px solid #d9d0bd;padding-top:8px}
.client-price-field{display:block;margin-top:16px;background:#111;color:#fff;border-radius:17px;padding:17px}.client-price-field>span{color:#aaa}.client-price-field input{font-size:1.45rem;font-weight:900;background:#202023;color:white;border-color:#303034}
.person-payouts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.person-card{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.person-card.is-owner{background:#171719;color:white;border-color:#171719}.person-card strong,.person-card span{display:block}.person-card span{font-size:.68rem;color:var(--muted);margin-top:3px}.person-card.is-owner span{color:#aaaab1}.person-card b{white-space:nowrap}
.monthly-controls{display:flex;align-items:center;gap:18px;background:var(--soft);border-radius:14px;padding:14px}.monthly-controls label{flex:1}.monthly-controls label span{display:block;font-size:.72rem;color:var(--muted);font-weight:800}.monthly-controls input{padding:0;border:0;background:transparent}.small-button{min-height:38px;padding:0 11px;border-color:var(--line);background:white}
.monthly-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.monthly-grid article{border:1px solid var(--line);border-radius:14px;padding:13px}.monthly-grid span,.monthly-grid strong{display:block}.monthly-grid span{font-size:.68rem;color:var(--muted)}.monthly-grid strong{margin-top:7px;font-size:1.05rem}.monthly-owner-total{background:#171719!important;color:white!important;border-color:#171719!important}.monthly-owner-total span{color:#aaaab1!important}
.monthly-table{margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.monthly-table-head,.monthly-table-row{display:grid;grid-template-columns:.7fr 1fr 1fr 1fr;gap:10px;padding:10px 12px;align-items:center}.monthly-table-head{background:#f3f2ee;font-size:.68rem;color:var(--muted);font-weight:850}.monthly-table-row{border-top:1px solid var(--line);font-size:.8rem}.monthly-table-row.highlight{background:#f6f2e7}
.summary-card{background:#101011;color:#fff;border-radius:var(--radius);padding:22px}.summary-card.sticky{position:sticky;top:84px}.summary-card .eyebrow{color:#aaaab1}.summary-price{padding-bottom:18px;border-bottom:1px solid #303034}.summary-price span,.summary-price strong{display:block}.summary-price span{font-size:.75rem;color:#aaaab1}.summary-price strong{font-size:2.6rem;letter-spacing:-.04em;margin-top:4px}.summary-lines{display:grid;gap:9px;padding:18px 0;border-bottom:1px solid #303034}.summary-lines div{display:flex;justify-content:space-between;gap:12px;font-size:.78rem}.summary-lines span{color:#aaaab1}.summary-profit{padding:18px 0;border-bottom:1px solid #303034}.summary-profit span,.summary-profit strong,.summary-profit small{display:block}.summary-profit span{font-size:.75rem;color:#aaaab1}.summary-profit strong{font-size:2.1rem;margin-top:3px}.summary-profit small{color:#aaaab1}
.owner-total{margin-top:16px;background:#f0eee6;color:#111;border-radius:15px;padding:15px}.owner-total span,.owner-total strong,.owner-total small{display:block}.owner-total span{font-size:.7rem;color:#666}.owner-total strong{font-size:1.8rem;margin:4px 0}.owner-total small{color:#777;font-size:.68rem}.warnings{display:grid;gap:7px;margin-top:14px}.warning-item{font-size:.72rem;padding:9px 10px;border-radius:10px;background:#3a2020;color:#f2cccc}.warning-item.positive{background:#173426;color:#ccebd9}
@media(max-width:1100px){.producer-layout{grid-template-columns:1fr}.summary-card.sticky{position:static}.monthly-grid{grid-template-columns:repeat(2,1fr)}.monthly-owner-total{grid-column:span 2}}
@media(max-width:850px){.producer-hero .producer-container{flex-direction:column;align-items:flex-start}.hero-actions{justify-content:flex-start}.form-grid.three,.form-grid.four,.service-toggle-grid,.price-strategy-grid{grid-template-columns:1fr 1fr}.crew-row{grid-template-columns:1fr 1fr}.crew-check{justify-content:flex-start;text-align:left}.person-payouts{grid-template-columns:1fr}}
@media(max-width:620px){:root{--container:min(100% - 20px,1380px)}.producer-header-actions .internal-chip{display:none}.producer-header-actions{font-size:.72rem}.producer-hero{padding:40px 0}.producer-hero h1{font-size:2.8rem}.panel{padding:17px}.panel-head{flex-direction:column}.form-grid.two,.form-grid.three,.form-grid.four,.service-toggle-grid,.price-strategy-grid,.bundle-box,.crew-row{grid-template-columns:1fr}.monthly-grid{grid-template-columns:1fr}.monthly-owner-total{grid-column:auto}.monthly-table{overflow:auto}.monthly-table-head,.monthly-table-row{min-width:620px}}


/* V7 — jornadas y viáticos individuales */
.policy-panel{background:#f8f6ef}
.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.policy-grid article{background:white;border:1px solid var(--line);border-radius:15px;padding:16px}
.policy-grid span,.policy-grid strong,.policy-grid small{display:block}
.policy-grid span{font-size:.7rem;color:var(--muted);font-weight:800}
.policy-grid strong{font-size:1.35rem;margin:7px 0 3px}
.policy-grid small{font-size:.72rem;color:var(--muted)}
.preset-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.preset-actions button{min-height:40px;border:1px solid #d5d0c2;background:white;border-radius:11px;padding:0 12px;font-weight:800;cursor:pointer}
.preset-actions button.active{background:#171719;color:white;border-color:#171719}

.crew-row{grid-template-columns:1.05fr 1fr 150px 150px 150px}
.crew-row.is-high{border-color:#d7c474;background:#fffdf5}
.crew-row label.is-warning input{border-color:#c56666;background:#fff7f7}
.crew-row label.is-high input{border-color:#c8aa43;background:#fffdf3}
.range-hint{display:block;font-size:.62rem;color:var(--muted);margin-top:4px}
.crew-total{min-height:46px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center}
.crew-total span{font-size:.65rem;color:var(--muted)}
.crew-total strong{font-size:.9rem}

.person-card{align-items:flex-start}
.person-main{min-width:0}
.person-breakdown{display:grid;gap:4px;min-width:220px}
.person-breakdown span,.person-breakdown>strong{display:flex;justify-content:space-between;gap:18px;font-size:.72rem}
.person-breakdown>strong{border-top:1px solid var(--line);padding-top:5px}
.person-card.is-owner .person-breakdown>strong{border-top-color:#333}
.person-breakdown b{white-space:nowrap}

.monthly-grid{grid-template-columns:repeat(5,1fr)}
.monthly-table-head,.monthly-table-row{grid-template-columns:.65fr 1fr 1fr 1fr 1fr}

@media(max-width:1100px){
  .crew-row{grid-template-columns:1fr 1fr 1fr}
  .crew-total{align-items:flex-start}
}
@media(max-width:850px){
  .policy-grid{grid-template-columns:1fr}
  .crew-row{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .crew-row{grid-template-columns:1fr}
  .person-card{flex-direction:column}
  .person-breakdown{width:100%;min-width:0}
}


/* V8 — reservas, cobros y gate de entrega */
.payment-plan-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.payment-plan-btn{min-height:78px;border:1px solid var(--line);background:white;border-radius:14px;padding:13px;text-align:left;cursor:pointer}
.payment-plan-btn strong,.payment-plan-btn span{display:block}
.payment-plan-btn span{font-size:.7rem;color:var(--muted);margin-top:4px}
.payment-plan-btn.is-active{background:#171719;color:#fff;border-color:#171719}
.payment-plan-btn.is-active span{color:#aaaab1}
.percentage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.percentage-grid label span{display:block;font-size:.7rem;color:var(--muted);font-weight:800;margin-bottom:5px}
.payment-policy-note{margin-top:13px;background:#f6f2e7;border:1px solid #ded4ba;border-radius:14px;padding:13px;display:grid;gap:4px}
.payment-policy-note strong{font-size:.78rem}
.payment-policy-note span{font-size:.72rem;color:#6c6348}
.payment-ledger{display:grid;gap:8px;margin-top:14px}
.payment-row{display:grid;grid-template-columns:1fr 260px;gap:16px;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}
.payment-row.paid{border-color:#9bc8ad;background:#f3faf6}
.payment-row.partial{border-color:#dcc373;background:#fffaf0}
.payment-row>div>strong,.payment-row>div>span,.payment-row>div>small{display:block}
.payment-row>div>span{font-size:.72rem;color:var(--muted);margin-top:3px}
.payment-row>div>small{font-size:.65rem;color:var(--muted);margin-top:5px}
.payment-row-numbers{display:grid;gap:4px;align-content:start}
.payment-row-numbers span,.payment-row-numbers>strong{display:flex;justify-content:space-between;gap:12px;font-size:.72rem}
.payment-row-numbers>strong{border-top:1px solid var(--line);padding-top:5px}
.payment-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.payment-actions button{min-height:40px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:0 12px;font-weight:800;cursor:pointer}
.payment-actions button:not(.ghost-danger){background:#171719;color:#fff;border-color:#171719}
.payment-actions .ghost-danger{color:#8c2e2e;border-color:#d8aaaa}
.event-day-funding{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:13px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.event-day-funding>div{background:var(--soft);border-radius:11px;padding:10px}
.event-day-funding span,.event-day-funding strong{display:block}
.event-day-funding span{font-size:.66rem;color:var(--muted)}
.event-day-funding strong{font-size:1rem;margin-top:4px}
.event-day-funding .funding-ok{background:#e9f5ed}
.event-day-funding .funding-gap{background:#fae9e9}
.event-day-funding>small{grid-column:1/-1;color:var(--muted);font-size:.68rem}

.delivery-methods{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.delivery-methods label{min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 11px;display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:750}
.delivery-methods input{width:auto;min-height:auto}
.delivery-gate-message{margin-top:13px;border-radius:14px;padding:13px;display:grid;gap:4px}
.delivery-gate-message strong,.delivery-gate-message span{display:block}
.delivery-gate-message span{font-size:.74rem}
.delivery-gate-message.gate-open{background:#e9f5ed;color:#17492f}
.delivery-gate-message.gate-closed{background:#fae6e6;color:#762727}
.button-delivery{width:100%;min-height:46px;margin-top:10px;border:0;border-radius:12px;background:#171719;color:white;font-weight:850;cursor:pointer}
.button-delivery:disabled{background:#b8b8bc;cursor:not-allowed}

@media(max-width:850px){
  .payment-row{grid-template-columns:1fr}
  .event-day-funding{grid-template-columns:1fr}
  .delivery-methods{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .payment-plan-switch,.percentage-grid,.delivery-methods{grid-template-columns:1fr}
}

/* V9 — sincronización Eventos/Productor */
.engine-sync-box{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}
.engine-sync-box>div{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fafafa}
.engine-sync-box span,.engine-sync-box strong,.engine-sync-box small{display:block}
.engine-sync-box span{font-size:.68rem;color:var(--muted);font-weight:800}
.engine-sync-box strong{font-size:1.25rem;margin:4px 0}
.engine-sync-box small{font-size:.65rem;color:var(--muted)}
.engine-sync-box .delta-up{background:#fff1f1;border-color:#deb1b1}
.engine-sync-box .delta-down{background:#eef8f2;border-color:#afd1bd}
.four-mini{grid-template-columns:repeat(4,1fr)}
.producer-extras .service-toggle{grid-template-columns:auto 1fr;min-height:56px}
.crew-total small{display:block;font-size:.6rem;color:var(--muted);margin-top:2px;text-align:right}
@media(max-width:850px){
  .engine-sync-box{grid-template-columns:1fr}
  .four-mini{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){.four-mini{grid-template-columns:1fr}}

/* V10 audit fixes */
.field-note{display:block;font-size:.62rem;color:var(--muted);margin-top:4px}
.service-toggle.is-disabled{opacity:.45;background:#f5f5f3}
.service-toggle.is-disabled input{cursor:not-allowed}
.crew-standard-btn{margin-top:4px;border:0;background:transparent;padding:0;color:var(--muted);font-size:.62rem;text-decoration:underline;cursor:pointer}
.payment-actions button:disabled{opacity:.45;cursor:not-allowed}


/* V11 — timeline técnica Productor */
.producer-coverage-visual{
  display:flex;
  gap:5px;
  min-height:96px;
  background:#171719;
  border-radius:15px;
  padding:5px;
  overflow:hidden;
}
.producer-segment{
  min-width:48px;
  border-radius:11px;
  padding:11px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transition:width .25s ease;
}
.producer-segment strong,
.producer-segment span,
.producer-segment small{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.producer-segment strong{font-size:.72rem}
.producer-segment span{font-size:.64rem;margin-top:3px}
.producer-segment small{font-size:.6rem;margin-top:2px;opacity:.7}
.producer-segment.arrival{background:#55555b;color:#fff}
.producer-segment.ceremony{background:#74747b;color:#fff}
.producer-segment.gap{background:#303034;color:#bdbdc3}
.producer-segment.event{background:#f0eee7;color:#111}
.producer-segment.night{background:#783c3c;color:#fff}

.producer-time-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:9px;
  margin-top:12px;
}
.producer-time-grid label span{
  display:block;
  font-size:.68rem;
  color:var(--muted);
  font-weight:800;
  margin-bottom:5px;
}
.timeline-explainer{margin-top:12px!important}

@media(max-width:900px){
  .producer-time-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .producer-coverage-visual{overflow-x:auto}
  .producer-segment{min-width:110px;flex:0 0 auto!important}
  .producer-time-grid{grid-template-columns:1fr}
}

.producer-timeline-toggle{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;
  font-size:.75rem;font-weight:800
}
.producer-timeline-toggle input{width:auto;min-height:auto}
