/* ============ 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);}
.ap-card-body{padding:1.35rem;}
.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-danger-outline{background:var(--ap-danger-100); border-color:var(--ap-danger-100); color:var(--ap-danger); font-weight:600; font-size:.85rem;}

/* Settings nav */
.ap-settings-nav .item{display:flex; align-items:center; gap:.7rem; padding:.65rem .9rem; border-radius:var(--ap-radius-sm); color:var(--ap-text); font-size:.85rem; font-weight:600; cursor:pointer; margin-bottom:.15rem;}
.ap-settings-nav .item:hover{background:var(--ap-bg); color:var(--ap-text-strong);}
.ap-settings-nav .item.active{background:var(--ap-primary-100); color:var(--ap-primary);}
.ap-settings-nav .item i{font-size:1.05rem; width:20px; text-align:center;}

.ap-settings-panel{display:none;}
.ap-settings-panel.active{display:block; animation:apFade .2s ease;}
@keyframes apFade{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:translateY(0);}}

.form-label{font-size:.82rem; font-weight:600; color:var(--ap-text-strong);}
.form-text{font-size:.75rem;}
.form-control, .form-select{background:var(--ap-bg); border:1px solid var(--ap-border); border-radius:var(--ap-radius-sm); font-size:.85rem; color:var(--ap-text-strong);}
.form-control:focus, .form-select:focus{border-color:var(--ap-primary); box-shadow:0 0 0 3px var(--ap-primary-100);}
.section-title{font-size:.95rem; font-weight:700; color:var(--ap-text-strong); margin-bottom:.2rem;}
.section-desc{font-size:.8rem; color:var(--ap-secondary); margin-bottom:1.1rem;}
hr.settings-divider{border-color:var(--ap-border); margin:1.5rem 0;}

/* Avatar upload */
.ap-avatar-upload{display:flex; align-items:center; gap:1rem;}
.ap-avatar-upload img{width:72px; height:72px; border-radius:50%; object-fit:cover;}

/* Toggle rows */
.ap-toggle-row{display:flex; justify-content:space-between; align-items:center; padding:.85rem 0; border-bottom:1px solid var(--ap-border);}
.ap-toggle-row:last-child{border-bottom:none;}
.ap-toggle-row .title{font-size:.85rem; font-weight:600; color:var(--ap-text-strong);}
.ap-toggle-row .desc{font-size:.76rem; color:var(--ap-secondary);}
.form-switch .form-check-input{width:2.6em; height:1.4em; cursor:pointer;}

/* Theme swatches */
.ap-theme-swatch{border:2px solid var(--ap-border); border-radius:var(--ap-radius-sm); padding:.8rem; cursor:pointer; text-align:center;}
.ap-theme-swatch.active{border-color:var(--ap-primary);}
.ap-theme-swatch .preview{height:56px; border-radius:6px; margin-bottom:.5rem;}
.ap-color-dot{width:26px; height:26px; border-radius:50%; cursor:pointer; border:2px solid transparent; display:inline-block;}
.ap-color-dot.active{border-color:var(--ap-text-strong);}

/* Billing */
.ap-plan-card{border:1px solid var(--ap-border); border-radius:var(--ap-radius-sm); padding:1.2rem; text-align:center; height:100%; position:relative;}
.ap-plan-card.current{border-color:var(--ap-primary); background:var(--ap-primary-100);}
.ap-plan-badge{position:absolute; top:-10px; left:50%; transform:translateX(-50%); background:var(--ap-primary); color:#fff; font-size:.65rem; font-weight:700; padding:.15rem .6rem; border-radius:10px;}
.ap-plan-price{font-size:1.6rem; font-weight:800; color:var(--ap-text-strong); margin:.4rem 0;}
.ap-plan-price span{font-size:.8rem; font-weight:500; color:var(--ap-secondary);}
.ap-plan-features{text-align:left; font-size:.8rem; color:var(--ap-text); list-style:none; padding:0; margin:1rem 0;}
.ap-plan-features li{padding:.3rem 0; display:flex; align-items:center; gap:.5rem;}

/* API keys */
.ap-api-row{display:flex; align-items:center; gap:.8rem; padding:.8rem 0; border-bottom:1px solid var(--ap-border);}
.ap-api-row:last-child{border-bottom:none;}
.ap-api-key{font-family:var(--ap-mono); font-size:.8rem; background:var(--ap-bg); border:1px solid var(--ap-border); border-radius:6px; padding:.3rem .6rem; color:var(--ap-text-strong);}
