/* Deploy tab — control surface over the local rebalancer daemon. Palette
   matches the approved rebalancer/ui/ladder.html operator page. */
.dp { max-width: 760px; margin: 0 auto; padding-bottom: 40px; }
.dp-card { background: #131824; border: 1px solid #232b3d; border-radius: 10px; padding: 12px; margin-bottom: 12px; }
.dp-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 4px 0; }
.dp-row label { color: #7d8aa5; font-size: 12px; }
.dp-row input { background: #0e1320; color: #dbe2f0; border: 1px solid #232b3d; border-radius: 8px; padding: 7px 9px; font: inherit; min-width: 60px; }
.dp-row input[type="number"] { width: 76px; }
.dp-radio { color: #dbe2f0; font-size: 13px; display: flex; align-items: center; gap: 4px; }
.dp-btn { background: #0e1320; color: #dbe2f0; border: 1px solid #232b3d; border-radius: 8px; padding: 8px 12px; font: inherit; cursor: pointer; }
.dp-btn.sm { padding: 3px 8px; font-size: 11px; }
.dp-btn.primary { background: #1c2a45; border-color: #2c4370; font-weight: 600; }
.dp-btn.deploy { background: #14532d; border-color: #22c07a; font-weight: 700; }
.dp-btn.deploy:disabled { background: #0e1320; border-color: #232b3d; opacity: .45; cursor: not-allowed; }
.dp-btn.deploy.armed { background: #22c07a; border-color: #7ce0ae; color: #04150c; animation: dp-deploy-pulse .9s ease-in-out infinite; }
@keyframes dp-deploy-pulse { 50% { box-shadow: 0 0 0 4px rgba(34, 192, 122, .35); } }
.dp-btn.freeze { background: #17324d; border-color: #4f8de4; }
.dp-btn.nuke { background: #571414; border-color: #d92b2b; font-weight: 700; }
.dp-btn.nuke.armed { background: #d92b2b; border-color: #ff6b64; color: #fff; animation: dp-nuke-pulse .9s ease-in-out infinite; }
@keyframes dp-nuke-pulse { 50% { box-shadow: 0 0 0 4px rgba(217, 43, 43, .35); } }
.dp-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.dp-chip { font-size: 11px; padding: 2px 8px; border-radius: 999px; border: 1px solid #232b3d; color: #7d8aa5; background: #0e1320; }
.dp-chip.grn { color: #22c07a; border-color: #14532d; }
.dp-chip.amb { color: #e4a94f; border-color: #6b4d1c; }
.dp-chip.red { color: #ff6b64; border-color: #7a1d1d; }
.dp-chip.blu { color: #4f8de4; border-color: #1c2a45; }
.dp-hint { font-size: 11px; color: #7d8aa5; margin-left: 8px; }
.dp-kv { font-size: 13px; margin: 4px 0; color: #dbe2f0; }
.dp-poolhead { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.dp-warn { background: #2a1416; border: 1px solid #7a1d1d; color: #ffb0ab; border-radius: 8px; padding: 8px 10px; margin: 6px 0; font-size: 12px; }
.dp-ok { background: #10231a; border: 1px solid #14532d; color: #7ce0ae; border-radius: 8px; padding: 8px 10px; margin: 6px 0; font-size: 12px; }
.dp-band { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; border: 1px solid #232b3d; border-left-width: 4px; border-radius: 8px; padding: 6px 10px; margin: 4px 0; font-size: 12.5px; color: #dbe2f0; }
.dp-band-desc { color: #dbe2f0; }
.dp-band-amt { margin-left: auto; }
.dp-band-sub { flex-basis: 100%; color: #7d8aa5; font-size: 11px; margin-top: 2px; }
.dp-summary { background: #152238; border: 1px solid #2c4370; border-radius: 8px; padding: 9px 11px; margin: 6px 0; font-size: 13px; color: #dbe2f0; line-height: 1.4; }
/* mini position-vs-price glyph: amber center line = current price */
.dp-glyph { position: relative; width: 64px; height: 12px; flex: none; background: #0e1320; border: 1px solid #232b3d; border-radius: 3px; overflow: hidden; }
.dp-glyph::after { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; margin-left: -1px; background: #e4a94f; }
.dp-glyph i { position: absolute; top: 2px; bottom: 2px; border-radius: 2px; background: #4f8de4; opacity: .9; }
.dp-glyph.WETH i { background: #e4574f; }
.dp-glyph.TOKEN i { background: #22c07a; }
.dp-band.WETH { border-left-color: #e4574f; }
.dp-band.TOKEN { border-left-color: #22c07a; }
.dp-band.STRADDLE { border-left-color: #4f8de4; }
.dp-band.inspot { background: #152238; border-color: #2c4370; border-left-width: 4px; }
.dp-band.pulled { opacity: .4; border-style: dashed; }
.dp-band-label { font-weight: 700; min-width: 78px; }
.dp-spotmark { color: #e4a94f; font-size: 11px; margin-left: auto; }
.dp-fees { color: #22c07a; font-size: 11px; margin-left: auto; }
.dp-lhead { margin: 10px 0 4px; color: #dbe2f0; }
.dp-log { font-size: 11.5px; color: #7d8aa5; max-height: 220px; overflow-y: auto; }
.dp-log .err { color: #ff6b64; }
.dp-log a, .dp-kv a { color: #4f8de4; }
.dp-details summary { color: #7d8aa5; font-size: 12px; cursor: pointer; margin-top: 6px; }
.dp-details pre { white-space: pre-wrap; font-size: 11.5px; color: #a9b4c9; background: #0e1320; border-radius: 8px; padding: 8px; overflow-x: auto; }
.dp-toast { display: none; position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%); background: #1c2a45; border: 1px solid #2c4370; color: #dbe2f0; border-radius: 10px; padding: 10px 16px; z-index: 40; font-size: 13px; max-width: 90vw; }
.dp-toast.err { background: #2a1416; border-color: #7a1d1d; color: #ffb0ab; }
