.promotoras-panel { --prom-ink:#182b50; --prom-blue:#213b8f; --prom-line:#d8e2f4; --prom-surface:#f4f7fd; color:var(--prom-ink); margin-block:1.75rem; }
.promotoras-panel h2,.promotoras-panel h3,.promotoras-panel h4 { margin:0; color:var(--prom-blue); }
.promotoras-panel h2 { font-size:clamp(1.65rem,4vw,2.55rem); line-height:1.12; }
.promotoras-panel h3 { font-size:1.28rem; line-height:1.35; }
.promotoras-panel h4 { font-size:1rem; line-height:1.4; }
.promotoras-panel p { margin:.5rem 0; }
.prom-admin-link { align-self:center; font-weight:700; }
.prom-header {
 position:relative; display:flex; isolation:isolate; overflow:hidden;
 align-items:flex-end; flex-wrap:wrap; gap:1.4rem; justify-content:space-between;
 min-height:12rem; padding:clamp(1.4rem,3.5vw,2.8rem);
 border-radius:1.3rem; background:linear-gradient(112deg,#142654,#244698 78%,#315bb4); color:#fff;
}
.prom-header::before {
 content:""; position:absolute; z-index:-1; inset:0 0 0 45%; pointer-events:none;
 background:repeating-radial-gradient(ellipse at 100% 0%,transparent 0 2rem,#fff2 2.06rem 2.1rem,transparent 2.15rem 3.5rem);
 mask-image:linear-gradient(90deg,transparent,#000);
}
.prom-header h2 { color:#fff; font-size:clamp(1.9rem,4vw,3.1rem); }
.prom-header p { color:#e1eaff; max-width:43ch; font-size:1rem; }
.prom-brand { display:inline-flex; padding:.45rem .65rem; margin-top:.7rem; border-radius:.65rem; background:white; }
.prom-logo { width:7.5rem; height:2.5rem; object-fit:contain; }
.promotoras-panel .prom-hero-actions button { min-height:2.8rem; font-weight:700; }
.promotoras-panel .prom-hero-actions button.partner-primary { color:#142654!important; background:#fff!important; border-color:#fff!important; }
.promotoras-panel .prom-hero-actions button.partner-primary:hover { background:#e5eeff!important; }
.promotoras-panel .prom-hero-actions button:not(.partner-primary) { color:#fff; background:#ffffff14; border-color:#ffffff70; }
.promotoras-panel .prom-hero-actions button:not(.partner-primary):hover { background:#ffffff2e; }
.promotoras-panel .prom-nav { position:static; display:flex; flex-direction:row; align-items:stretch; gap:.45rem; flex-wrap:wrap; margin-block:.8rem 1rem; padding:.35rem 0; border-bottom:1px solid var(--prom-line); background:transparent; }
.promotoras-panel .prom-nav button { min-height:2.65rem; border-color:transparent; font-weight:700; }
.promotoras-panel button[aria-pressed="true"] { background:var(--prom-blue); color:white; }
.prom-metrics,.prom-pipeline-steps {
 display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem;
}
.promotoras-panel .prom-metric {
 display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.4rem;
 text-align:left; padding:1rem; background:#f4f7fd; border:1px solid var(--prom-line);
 border-radius:.95rem; align-content:start; text-wrap:pretty;
}
.promotoras-panel .prom-metric.attention { background:#fff6e8; border-color:#eddbc2; color:#794613; }
.promotoras-panel .prom-metric.positive { background:#edf9f4; border-color:#cde8dc; color:#195747; }
.prom-metric-title { font-weight:700; font-size:.86rem; grid-column:1; }
.prom-metric strong { font-size:clamp(1.65rem,3.5vw,2.6rem); font-variant-numeric:tabular-nums; grid-column:1; }
.prom-metric-arrow { grid-area:1/2; font-size:1rem; }
.promotoras-panel .prom-metric:hover,.promotoras-panel .prom-pipeline-steps button:not(:disabled):hover { border-color:currentColor; }
.promotoras-panel .prom-metric[aria-pressed="true"] { outline:2px solid currentColor; outline-offset:-2px; }
.prom-pipeline { margin-block:1rem; padding:1rem; border:1px solid var(--prom-line); border-radius:1rem; }
.prom-pipeline h3 { margin-bottom:.7rem; font-size:1rem; }
.prom-pipeline-steps { grid-template-columns:repeat(5,minmax(0,1fr)); gap:.45rem; }
.promotoras-panel .prom-pipeline-steps button {
 display:grid; gap:.4rem; align-content:start; border-color:transparent; text-align:left;
 background:var(--prom-surface); padding:.6rem .7rem; min-width:0;
}
.promotoras-panel .prom-pipeline-steps button:disabled { opacity:.75; cursor:default; }
.promotoras-panel .prom-pipeline-steps button[aria-pressed="true"] { background:var(--prom-blue); }
.prom-pipeline-steps strong { font-size:1.25rem; }
.prom-stage-track,.prom-progress-track {
 display:flex; overflow:hidden; height:.35rem; border-radius:1rem; background:#dce6fb;
}
.prom-stage-track span,.prom-progress-track span { height:100%; background:#5075d4; }
.prom-progress-track span:first-child { background:#2c8b6e; }
.prom-start {
 display:grid; grid-template-columns:1.35fr 1fr; gap:1.5rem; margin-block:1.2rem;
 padding:clamp(1.15rem,3vw,2rem); border:1px solid var(--prom-line); border-radius:1rem; background:#fff;
}
.prom-start-copy p { max-width:48ch; margin-bottom:1rem; }
.prom-start-steps { display:grid; gap:.75rem; counter-reset:prom-start; list-style:none; padding:0; margin:0; }
.prom-start-steps li { display:grid; grid-template-columns:auto 1fr; column-gap:.7rem; counter-increment:prom-start; }
.prom-start-steps li::before {
 content:counter(prom-start); grid-row:span 2; display:grid; place-items:center;
 width:1.75rem; height:1.75rem; border-radius:.55rem; color:var(--prom-blue); background:#e7efff; font-weight:700;
}
.prom-promo-progress { margin-left:auto; min-width:min(100%,13rem); }
.prom-progress-track { margin-top:.5rem; }
.promotoras-panel button:focus-visible,.promotoras-panel summary:focus-visible { outline:3px solid #4e87e2; outline-offset:2px; }
@media (max-width:720px) {
 .prom-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .prom-pipeline-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .prom-start { grid-template-columns:1fr; }
}
@media (max-width:520px) {
 .promotoras-panel .prom-metric { padding:.8rem; }
 .prom-metric-title { font-size:.8rem; }
 .prom-header .prom-hero-actions { flex-wrap:wrap; }
}
.prom-filters,.prom-fields { display:grid; gap:.8rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); margin-block:1rem; }
.prom-filters label,.prom-fields label { display:flex; flex-direction:column; gap:.22rem; margin:0; }
.promotoras-panel .prom-promotion,.promotoras-panel .prom-close-card { margin:.8rem 0; padding:0; overflow:hidden; }
.prom-promotion>summary,.prom-close-card>summary { display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; padding:1rem 1.1rem; background:var(--prom-surface); cursor:pointer; }
.prom-promotion>summary::after,.prom-close-card>summary::after { content:""; width:.45rem; height:.45rem; transform:rotate(45deg); border:solid currentColor; border-width:0 2px 2px 0; margin-left:auto; flex:none; }
.prom-promotion[open]>summary::after,.prom-close-card[open]>summary::after { transform:rotate(225deg); }
.prom-promo-heading strong { font-size:1.14rem; }
.promotoras-panel small { display:block; color:#455674; font-size:.875rem; }
.prom-summary-count { color:#455674; font-size:.9rem; }
.prom-phase { padding:0 1.1rem; }
.prom-phase h3 { padding:1rem 0 .45rem; }
.prom-supply { display:grid; grid-template-columns:minmax(10rem,1.25fr) minmax(7rem,.7fr) minmax(10rem,1fr) minmax(9rem,auto); align-items:start; gap:.8rem; padding:1rem 0; overflow-wrap:anywhere; }
.prom-supply + .prom-supply { border-top:1px solid var(--prom-line); }
.prom-supply-actions { margin:0; justify-content:flex-end; }
.prom-supply-brand { padding-top:.1rem; }
.prom-supply-state { display:grid; gap:.24rem; justify-items:start; }
.prom-badge { display:inline-flex; border-radius:1rem; color:#203779; background:#eaf0ff; font-weight:700; line-height:1.25; padding:.3rem .63rem; font-size:.84rem; }
.prom-positive { color:#185244; background:#e4f5ec; }
.prom-wait { color:#7a4518; background:#fff2df; }
.prom-muted { color:#4c5a73; background:#eef1f6; }
.prom-secondary { font-size:.88rem; }
.prom-secondary>summary { cursor:pointer; }
.prom-holder-history { grid-column:1/-1; display:grid; gap:.55rem; }
.prom-request { display:grid; gap:.25rem; border-left:3px solid var(--prom-line); padding:.65rem .9rem; background:var(--prom-surface); }
.prom-months { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr)); gap:.7rem; margin-block:1rem; }
.promotoras-panel .prom-month { display:grid; justify-items:start; text-align:left; gap:.28rem; padding:.85rem 1rem; border-radius:.8rem; border:1px solid var(--prom-line); }
.prom-month>strong { font-size:1.6rem; font-variant-numeric:tabular-nums; }
.promotoras-panel .prom-month[aria-pressed="true"] small { color:#fff; }
.prom-month-detail { text-transform:capitalize; padding-block:.5rem; }
.prom-close-card>p,.prom-close-card>.partner-actions { margin:.9rem 1.15rem; }
.prom-table td:first-child { overflow-wrap:anywhere; }
.prom-section-heading,.prom-account { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.8rem; margin-bottom:.65rem; }
.prom-empty { padding:1rem; background:var(--prom-surface); border-radius:.7rem; }
.prom-guide { max-width:44rem; }
.prom-link { display:inline-flex; gap:.6rem; margin-top:.6rem; font-weight:700; }
.prom-batch-modal { width:min(94vw,58rem); }
.prom-batch-row { min-width:0; border:1px solid #d8e2f4; border-radius:.75rem; margin:1rem 0; padding:.9rem; }
.prom-batch-row legend,.prom-checks legend { font-weight:700; padding-inline:.3rem; }
.prom-checks { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); min-width:0; gap:.4rem .8rem; border:1px solid #d8e2f4; border-radius:.65rem; margin:.8rem 0; padding:.7rem; }
.prom-form-modal .prom-checks label,.prom-form-modal .prom-check-inline { display:flex; align-items:center; gap:.55rem; }
.prom-form-modal .prom-check-inline { margin-block:1.1rem; }
.prom-form-modal .prom-checks input[type="checkbox"],.prom-form-modal .prom-check-inline input[type="checkbox"] { width:auto; margin:0; }
.promotoras-panel [data-prom-status]:empty,.prom-form-modal [data-form-status]:empty { display:none; }
@media (max-width:860px) {
 .prom-supply { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .prom-supply-actions { justify-content:flex-start; }
}
@media (max-width:520px) {
 .prom-promotion>summary,.prom-close-card>summary { padding:.85rem; }
 .promotoras-panel .prom-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .prom-nav button { white-space:normal; padding-inline:.45rem; }
 .prom-supply { grid-template-columns:minmax(0,1fr); gap:.5rem; }
 .prom-supply-actions { margin-top:.15rem; }
 .prom-close-card>summary { gap:.45rem; }
 .prom-promo-progress { flex:0 0 100%; order:1; margin-left:0; }
}

.prom-private-view .comparator-shortcut,.prom-private-view .partner-page>h1,
.prom-private-view .partner-page>.eyebrow,.prom-private-view .partner-page>h1+p { display:none; }
.prom-private-view .partner-page { padding-top:1rem; }
.prom-private-view #partner-portal > .partner-access {
 margin:0; padding:.45rem 0; border:0; border-radius:0; background:transparent;
}
.prom-private-view #partner-portal > .partner-access > .partner-actions {
 width:auto; margin-left:auto; justify-content:flex-end;
}
.prom-private-view .promotoras-panel { margin-top:.55rem; }

.prom-history { display:grid; gap:.7rem; padding-left:1.4rem; }
.prom-history small { display:block; }
