/* assets/css/gallery.css */ 
.gallery-wrap{max-width:1200px;margin:0 auto;padding:16px}
.gallery-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.gallery-title{font-size:1.6rem;font-weight:700}
.gallery-add-btn{display:inline-block;background:#1b5f8c;color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}
.gallery-card{background:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.06);overflow:hidden;display:flex;flex-direction:column}
.gallery-media{position:relative;aspect-ratio:16/9;background:#f0f2f5;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gallery-media img,.gallery-media video{width:100%;height:100%;object-fit:cover;display:block}
.play-badge{position:absolute;inset:auto auto 10px 10px;background:rgba(0,0,0,.7);color:#fff;padding:6px 10px;border-radius:8px;font-size:.85rem}
.gallery-body{padding:12px}
.gallery-meta{font-size:.88rem;color:#445;line-height:1.3}
.gallery-comment{margin-top:6px;font-size:.92rem}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:16px}
.pagination a{padding:8px 12px;border-radius:10px;background:#e9eef3;text-decoration:none;color:#123}
.pagination .active{background:#1b5f8c;color:#fff}
.form-wrap{max-width:820px;margin:0 auto;padding:16px}
.form-card{background:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.06);padding:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:768px){.form-grid{grid-template-columns:1fr}}
.input, .select, .textarea, .file{width:100%;padding:10px;border:1px solid #ccd6e0;border-radius:10px;background:#f9fbfd}
.checkbox{display:flex;gap:10px;align-items:flex-start}
.submit-btn{display:inline-block;background:#1b5f8c;color:#fff;padding:12px 18px;border-radius:12px;border:none;cursor:pointer}
.note{font-size:.9rem;color:#567;margin-top:12px}
.ok-banner{background:#e7f7ed;border:1px solid #bfe6cb;color:#0f6d3f;padding:14px;border-radius:12px;margin:16px auto;max-width:820px}
.err-banner{background:#fde8ea;border:1px solid #f4b2b8;color:#8a1d2b;padding:14px;border-radius:12px;margin:16px auto;max-width:820px}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.admin-tabs a{padding:8px 12px;border-radius:10px;background:#e9eef3;text-decoration:none;color:#123}
.admin-tabs .active{background:#1b5f8c;color:#fff}
.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table th,.table td{background:#fff;padding:10px;border:1px solid #e6edf3}
.table th{background:#f4f7fb}
.badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:.8rem}
.badge-pending{background:#fff7e6;color:#8a5a00;border:1px solid #ffdf99}
.badge-approved{background:#e7f7ed;color:#0f6d3f;border:1px solid #bfe6cb}
.badge-rejected{background:#fde8ea;color:#8a1d2b;border:1px solid #f4b2b8}
.actions a, .actions button{margin-right:6px}
