/* BALIFY ARENA · campaign admin stage editor */
.campaign-stage-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:25px 0 15px;padding:20px 22px;border:1px solid #d2b45c44;border-radius:20px;background:radial-gradient(ellipse at 0 50%,#d5b65318,transparent 54%),linear-gradient(120deg,#1b1b29,#111723);box-shadow:0 16px 35px #0003}
.campaign-stage-intro h4{margin:5px 0!important;color:#f4e6b8;font-size:clamp(18px,2vw,23px)}
.campaign-stage-intro p{margin:0;color:#aeb6c8;font-size:11px;line-height:1.55}
.campaign-stage-overline{color:#d8bf73;font-size:8px;font-weight:900;letter-spacing:.2em}
.campaign-stage-total{display:grid;place-items:center;flex:0 0 70px;height:70px;border:1px solid #d2b45c66;border-radius:20px;background:linear-gradient(145deg,#d0ae511b,#8d73ff12);color:#f4dc94;font-size:23px;font-weight:950;box-shadow:0 0 30px #c9a84812}
.campaign-stage-total small{color:#a9a096;font-size:7px;letter-spacing:.11em}
.campaign-stage-stack{display:grid;gap:14px;margin:14px 0 22px}
.campaign-stage{position:relative;overflow:hidden;padding:16px;border:1px solid #ffffff19;border-radius:19px;background:linear-gradient(145deg,#171c2a,#111621);box-shadow:0 14px 30px #0002}
.campaign-stage:before{position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#dcc579,#8c74eb);content:"";opacity:.7}
.campaign-stage-start{background:radial-gradient(ellipse at 0 0,#8d73ff12,transparent 45%),linear-gradient(145deg,#171c2a,#111621)}
.campaign-stage-quarter{background:radial-gradient(ellipse at 0 0,#54c8c112,transparent 45%),linear-gradient(145deg,#171c2a,#111621)}
.campaign-stage-semi{background:radial-gradient(ellipse at 0 0,#d2b45c12,transparent 45%),linear-gradient(145deg,#171c2a,#111621)}
.campaign-stage-final{border-color:#d3b65b55;background:radial-gradient(ellipse at 0 0,#d9b64c20,transparent 50%),linear-gradient(145deg,#201e26,#111621)}
.campaign-stage-head{display:flex;align-items:center;gap:12px;min-height:58px}
.campaign-stage-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid #d4b75d55;border-radius:14px;background:#d3b65c12;color:#f0d987;font-size:21px;box-shadow:0 0 22px #d3b65c12}
.campaign-stage-copy{min-width:0;flex:1}
.campaign-stage-copy>small{color:#bca967;font-size:8px;font-weight:900;letter-spacing:.15em}
.campaign-stage-copy h5{margin:3px 0;color:#f1e3b7;font-size:15px;letter-spacing:.07em}
.campaign-stage-copy p{margin:0;color:#909bad;font-size:10px}
.campaign-stage-progress{flex:0 0 auto;padding:7px 10px;border:1px solid #ffffff19;border-radius:999px;background:#ffffff07;color:#aeb7c9;font-size:9px;font-weight:800;font-variant-numeric:tabular-nums}
.campaign-stage.is-ready .campaign-stage-progress{border-color:#73d9a455;background:#69d3a012;color:#a7edc7}
.campaign-stage.is-ready .campaign-stage-icon{border-color:#78d7a566;color:#a7edc7}
.campaign-stage .campaign-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:13px 0 0;padding-top:13px;border-top:1px solid #ffffff12}
.campaign-stage .campaign-task{min-width:0;margin:0;padding:12px;border:1px solid #ffffff16;border-radius:14px;background:linear-gradient(145deg,#ffffff08,#ffffff03);transition:border-color .2s,background .2s}
.campaign-stage .campaign-task:focus-within{border-color:#64d1d488;background:#17202b}
.campaign-stage .campaign-task legend{display:flex;align-items:center;gap:8px;padding:0 5px 0 0;color:#d4e5eb;font-size:11px}
.campaign-task-number{display:grid;place-items:center;width:25px;height:25px;border:1px solid #59d2d044;border-radius:8px;background:#52c9c110;color:#75e4df;font-size:9px;font-weight:900}
.campaign-stage .campaign-task legend small{margin-left:auto;color:#8d95a8;font-size:7px;letter-spacing:.07em}
.campaign-stage .campaign-task label{display:grid;gap:6px;margin:8px 0 0;color:#aeb6c8;font-size:10px}
.campaign-stage .campaign-task .fi{border:1px solid #ffffff1c;border-radius:10px;background:#0e1420;color:#f0f2fa}
.campaign-stage .campaign-task .fi:focus{border-color:#71d8d0;box-shadow:0 0 0 3px #57cfc018}
.campaign-stage .campaign-task textarea{min-height:76px;resize:vertical}
.campaign-stage-final .campaign-task{grid-column:1/-1}
@media(max-width:720px){.campaign-stage-intro{align-items:flex-start;padding:16px}.campaign-stage-total{flex-basis:58px;height:58px;font-size:19px}.campaign-stage-head{align-items:flex-start;flex-wrap:wrap}.campaign-stage-copy{flex-basis:calc(100% - 58px)}.campaign-stage-progress{margin-left:54px}.campaign-stage .campaign-task-grid{grid-template-columns:1fr}.campaign-stage-final .campaign-task{grid-column:auto}}
