/* ============ 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{background:var(--ap-danger); border-color:var(--ap-danger); color:#fff; font-weight:600; font-size:.85rem;}
.btn-ap-danger:hover{background:#B91C1C; border-color:#B91C1C; color:#fff;}
.btn-ap-success{background:var(--ap-success); border-color:var(--ap-success); color:#fff; font-weight:600; font-size:.85rem;}

/* Modal trigger cards */
.ap-modal-trigger{border:1px solid var(--ap-border); border-radius:var(--ap-radius-sm); padding:1.1rem; height:100%; display:flex; flex-direction:column;}
.ap-modal-trigger-icon{width:40px; height:40px; border-radius:var(--ap-radius-sm); display:flex; align-items:center; justify-content:center; font-size:1.1rem; margin-bottom:.7rem;}
.ap-modal-trigger-name{font-weight:700; color:var(--ap-text-strong); font-size:.88rem; margin-bottom:.25rem;}
.ap-modal-trigger-desc{font-size:.78rem; color:var(--ap-secondary); margin-bottom:.9rem; flex:1;}

/* Modal internals */
.modal-content{border-radius:var(--ap-radius); border:1px solid var(--ap-border); background:var(--ap-surface);}
.modal-header, .modal-footer{border-color:var(--ap-border);}
.modal-title{color:var(--ap-text-strong); font-weight:700;}
.form-label{font-size:.82rem; font-weight:600; color:var(--ap-text-strong);}
.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);}

.ap-confirm-icon{width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.8rem; margin:0 auto 1rem;}
.ap-gallery-thumb{border-radius:var(--ap-radius-sm); overflow:hidden; cursor:pointer; aspect-ratio:1/1;}
.ap-gallery-thumb img{width:100%; height:100%; object-fit:cover; transition:transform .2s ease;}
.ap-gallery-thumb:hover img{transform:scale(1.06);}
.ap-video-frame{aspect-ratio:16/9; background:#0F172A; border-radius:var(--ap-radius-sm); display:flex; align-items:center; justify-content:center; color:#fff; position:relative; overflow:hidden;}
.ap-video-frame img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.55;}
.ap-play-btn{width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.15); border:2px solid #fff; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.6rem; position:relative; z-index:1; backdrop-filter:blur(4px);}
