 
.ap-placement-launch{margin-top:8px;display:flex!important;align-items:center;justify-content:center;gap:7px;width:100%;}
.ap-placement-launch .ap-placement-dot{width:7px;height:7px;border-radius:50%;background:#93a0b6;box-shadow:0 0 0 3px rgba(147,160,182,.16);}
.ap-placement-launch.is-ready .ap-placement-dot{background:#2d8f6f;box-shadow:0 0 0 3px rgba(45,143,111,.14);}

.ap-placement-dialog{border:0;padding:0;background:transparent;width:min(960px,calc(100vw - 28px));max-width:960px;color:#20283d;}
.ap-placement-dialog::backdrop{background:rgba(12,18,38,.56);backdrop-filter:blur(3px);}
.ap-placement-card{background:#fff;border:1px solid #e4e8f1;border-radius:18px;box-shadow:0 24px 70px rgba(13,24,55,.28);overflow:hidden;max-height:min(88dvh,900px);display:flex;flex-direction:column;}
.ap-placement-head{display:flex;align-items:center;gap:12px;padding:15px 17px;border-bottom:1px solid #edf0f5;background:linear-gradient(180deg,#fff,#fbfcff);flex:0 0 auto;}
.ap-placement-head-icon{width:38px;height:38px;border-radius:11px;background:#edf9f5;color:#28795f;display:grid;place-items:center;font-size:1rem;}
.ap-placement-head-copy{min-width:0;flex:1;}
.ap-placement-title{font-weight:800;color:#1e2a78;font-size:1.03rem;line-height:1.2;}
.ap-placement-subtitle{font-size:.76rem;color:#747f92;margin-top:2px;}
.ap-placement-close{border:0;background:#f2f4f8;color:#657086;width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:1rem;}
.ap-placement-close:hover{background:#e8ebf2;color:#26366f;}

.ap-placement-scroll{overflow:auto;overscroll-behavior:contain;padding:16px;scrollbar-gutter:stable;}
.ap-placement-scroll::-webkit-scrollbar{width:10px;}
.ap-placement-scroll::-webkit-scrollbar-thumb{background:#bac3d3;border:2px solid #fff;border-radius:999px;}
.ap-placement-loading{min-height:280px;display:grid;place-items:center;text-align:center;color:#667085;padding:30px;}
.ap-placement-loading i{font-size:1.55rem;color:#2f866b;margin-bottom:10px;}
.ap-placement-loading strong{display:block;color:#26366f;font-size:.95rem;margin-bottom:4px;}
.ap-placement-loading span{font-size:.76rem;line-height:1.45;max-width:560px;display:block;}
.ap-placement-error{border:1px solid #ffd8df;background:#fff7f8;color:#8c3345;border-radius:12px;padding:13px 14px;font-size:.8rem;line-height:1.45;}
.ap-placement-stale,.ap-placement-applied{display:none;align-items:flex-start;gap:7px;border-radius:9px;padding:8px 9px;font-size:.68rem;line-height:1.4;margin-bottom:10px;}
.ap-placement-stale{background:#fff7e9;color:#86621d;}
.ap-placement-stale.show{display:flex;}
.ap-placement-applied{display:flex;background:#f1faf5;color:#287149;border:1px solid #d3ebdc;}
.ap-placement-stale i,.ap-placement-applied i{margin-top:2px;}

.ap-placement-overview{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px;}
.ap-placement-score,.ap-placement-summary{border:1px solid #e5e9f1;background:#fbfcff;border-radius:14px;padding:14px;}
.ap-placement-score{display:flex;flex-direction:column;justify-content:center;}
.ap-placement-score span{font-size:.65rem;color:#7a8496;text-transform:uppercase;letter-spacing:.03em;font-weight:800;}
.ap-placement-score strong{font-size:1.75rem;color:#1e2a78;line-height:1.1;margin:4px 0;}
.ap-placement-score small{font-size:.64rem;color:#8a94a6;line-height:1.35;}
.ap-placement-summary{display:flex;flex-direction:column;justify-content:center;}
.ap-placement-summary-title{font-size:1rem;font-weight:850;color:#273460;line-height:1.35;}
.ap-placement-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.ap-placement-chips span{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e6ee;background:#fff;border-radius:999px;padding:4px 8px;font-size:.67rem;color:#59657a;}
.ap-placement-chips i{color:#2f866b;}
.ap-placement-chips .good{background:#f0faf6;border-color:#d4ecdf;color:#2a7257;}

.ap-placement-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px;}
.ap-placement-kpi{border:1px solid #e5e9f1;background:#fff;border-radius:12px;padding:10px;min-width:0;}
.ap-placement-kpi-label{font-size:.65rem;color:#758096;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ap-placement-kpi-values{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#7b8494;}
.ap-placement-kpi-values i{font-size:.62rem;color:#a0a8b6;}
.ap-placement-kpi-values strong{font-size:.84rem;color:#33416f;}
.ap-placement-kpi-values strong.better{color:#268052;}
.ap-placement-kpi-values strong.worse{color:#b44a5b;}

.ap-placement-section{margin-top:15px;}
.ap-placement-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.ap-placement-section-head>div{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:850;color:#26366f;}
.ap-placement-section-head i{color:#2f866b;}
.ap-placement-section-head>span{font-size:.65rem;color:#8a94a6;}
.ap-placement-list{display:grid;gap:7px;}
.ap-placement-ap{border:1px solid #e4e8f1;border-radius:11px;background:#fff;overflow:hidden;}
.ap-placement-ap>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:9px;align-items:center;padding:9px 10px;background:#fbfcfe;}
.ap-placement-ap>summary::-webkit-details-marker{display:none;}
.ap-placement-ap-icon{width:28px;height:28px;border-radius:8px;background:#edf9f5;color:#2f866b;display:grid;place-items:center;}
.ap-placement-ap-main{min-width:0;}
.ap-placement-ap-name{display:block;font-size:.74rem;font-weight:800;color:#273460;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ap-placement-ap-sub{display:block;font-size:.61rem;color:#8791a4;margin-top:1px;}
.ap-placement-route{display:flex;align-items:center;gap:5px;font-size:.65rem;color:#7b8496;white-space:nowrap;}
.ap-placement-route i{font-size:.55rem;color:#9ba4b4;}
.ap-placement-route strong{font-size:.72rem;color:#273460;}
.ap-placement-status{font-size:.58rem;text-transform:uppercase;letter-spacing:.04em;font-weight:900;border-radius:999px;padding:3px 6px;white-space:nowrap;}
.ap-placement-status.move{background:#edf9f5;color:#2d795f;}
.ap-placement-status.keep{background:#f1f3f7;color:#637086;}
.ap-placement-ap>summary::after{content:'›';font-size:1.15rem;color:#8994aa;transition:transform .15s;}
.ap-placement-ap[open]>summary::after{transform:rotate(90deg);}
.ap-placement-ap-body{border-top:1px solid #edf0f5;padding:9px 10px 10px;font-size:.72rem;color:#626d82;line-height:1.48;}
.ap-placement-ap-body p{margin:0 0 7px;}
.ap-placement-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.ap-placement-detail{background:#f5f8fb;border-radius:8px;padding:7px 8px;}
.ap-placement-detail span{display:block;font-size:.58rem;color:#8a94a6;text-transform:uppercase;font-weight:800;letter-spacing:.03em;}
.ap-placement-detail strong{display:block;font-size:.7rem;color:#46536d;margin-top:2px;}
.ap-placement-warnings{display:grid;gap:6px;border:1px solid #e5e9f1;border-radius:11px;padding:9px 10px;background:#fbfcfe;}
.ap-placement-warnings>div{display:flex;gap:7px;align-items:flex-start;font-size:.68rem;color:#687387;line-height:1.45;}
.ap-placement-warnings i{color:#5f937f;margin-top:2px;}
.ap-placement-note{display:flex;align-items:flex-start;gap:7px;margin-top:13px;border-top:1px solid #edf0f5;padding-top:10px;font-size:.66rem;color:#7e8899;line-height:1.45;}
.ap-placement-note i{color:#4f8a72;margin-top:2px;}

.ap-placement-actions{display:flex;justify-content:flex-end;gap:8px;padding:11px 16px;border-top:1px solid #edf0f5;background:#fbfcfe;flex:0 0 auto;}
.ap-placement-actions button{border:0;border-radius:10px;padding:9px 13px;font-size:.75rem;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.ap-placement-done{background:#edf0f5;color:#566176;}
.ap-placement-rerun{background:#edf9f5;color:#276e58;}
.ap-placement-apply{background:#1e2a78;color:#fff;}
.ap-placement-apply:hover{background:#16205e;}
.ap-placement-actions button:disabled{opacity:.55;cursor:default;}

 
.ap-placement-preview-layer{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:visible;}
.ap-placement-preview-line{position:absolute;height:2px;background:rgba(45,143,111,.68);transform-origin:0 50%;border-radius:999px;box-shadow:0 0 0 1px rgba(255,255,255,.55);}
.ap-placement-preview-marker{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);border:2px dashed #2d8f6f;color:#26765c;font-size:.72rem;font-weight:900;box-shadow:0 5px 14px rgba(18,69,54,.22);}
.ap-placement-preview-marker::after{content:attr(data-label);position:absolute;top:34px;left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(31,42,62,.88);color:#fff;border-radius:6px;padding:2px 5px;font-size:.55rem;font-weight:700;}

@media (max-width:800px){
  .ap-placement-dialog{width:calc(100vw - 12px);max-width:none;margin:auto;}
  .ap-placement-card{max-height:calc(100dvh - 18px);border-radius:16px;}
  .ap-placement-head{padding:12px 13px;}
  .ap-placement-scroll{padding:12px;}
  .ap-placement-overview{grid-template-columns:1fr;}
  .ap-placement-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ap-placement-ap>summary{grid-template-columns:auto minmax(0,1fr) auto auto;}
  .ap-placement-status{display:none;}
}

@media (max-width:520px){
  .ap-placement-dialog{width:100vw;height:100dvh;margin:0;max-height:none;}
  .ap-placement-card{height:100dvh;max-height:none;border-radius:0;border:0;}
  .ap-placement-subtitle{font-size:.69rem;}
  .ap-placement-kpis{gap:6px;}
  .ap-placement-kpi{padding:8px;}
  .ap-placement-ap>summary{grid-template-columns:auto minmax(0,1fr) auto;gap:7px;}
  .ap-placement-route{grid-column:2 / 4;justify-self:start;}
  .ap-placement-ap>summary::after{grid-row:1;grid-column:3;}
  .ap-placement-details{grid-template-columns:1fr;}
  .ap-placement-actions{display:grid;grid-template-columns:1fr 1fr;padding-bottom:max(11px,env(safe-area-inset-bottom));}
  .ap-placement-actions .ap-placement-apply{grid-column:1 / -1;grid-row:1;justify-content:center;}
  .ap-placement-actions .ap-placement-rerun,.ap-placement-actions .ap-placement-done{justify-content:center;}
}
