/* ============ Page-specific ============ */
.ap-card{background:var(--ap-surface); border:1px solid var(--ap-border); border-radius:var(--ap-radius); box-shadow:var(--ap-shadow);}
.ap-card-head{padding:1.1rem 1.25rem; border-bottom:1px solid var(--ap-border); display:flex; justify-content:space-between; align-items:center; gap:.5rem; flex-wrap:wrap;}
.ap-card-head p{font-size:.76rem; color:var(--ap-secondary); margin:.1rem 0 0;}
.ap-card-body{padding:1.25rem;}
.btn-ap-primary{background:var(--ap-primary); border-color:var(--ap-primary); color:#fff; font-weight:600; font-size:.85rem;}
.btn-ap-primary:hover{background:var(--ap-primary-600); border-color:var(--ap-primary-600); color:#fff;}
.btn-ap-light{background:var(--ap-bg); border-color:var(--ap-border); color:var(--ap-text-strong); font-weight:600; font-size:.85rem;}
.btn-ap-light:hover{background:var(--ap-border);}
.btn-ap-light.active{background:var(--ap-primary-100); border-color:var(--ap-primary-100); color:var(--ap-primary);}
.btn-sm-toggle{padding:.32rem .7rem; font-size:.76rem;}

.ap-live-dot{width:8px; height:8px; border-radius:50%; background:var(--ap-success); display:inline-block; margin-right:.35rem; animation:apBlink 1.4s infinite;}
.ap-live-dot.paused{background:var(--ap-secondary); animation:none;}
@keyframes apBlink{ 0%,100%{opacity:1;} 50%{opacity:.3;} }
