@keyframes spin{to{transform:rotate(360deg)}}.fb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.fb-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}.fb-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.fb-cover{height:140px;display:flex;align-items:center;justify-content:center;position:relative}.fb-cover-icon{opacity:.25}.fb-body{padding:1rem;flex:1;display:flex;flex-direction:column;gap:.375rem}.fb-title{font-size:.9375rem;font-weight:700;color:var(--gray-800)}.fb-desc{font-size:.8125rem;color:var(--gray-500);line-height:1.45;flex:1}.fb-programs{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.125rem}.fb-prog-tag{font-size:.6875rem;font-weight:700;background:var(--primary-subtle);color:var(--primary-dark);border-radius:var(--radius-full);padding:.175rem .5rem}.fb-actions{display:flex;gap:.5rem;align-items:center;margin-top:.625rem}.fb-preview-btn{flex:1}.publish-toggle{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:700;cursor:pointer;padding:.375rem .75rem;border-radius:var(--radius-full);border:1.5px solid var(--gray-200);background:var(--surface);color:var(--gray-600);transition:var(--transition)}.publish-toggle.published{background:var(--success-light);color:var(--success-dark);border-color:var(--success)}.fb-icon-btn{width:34px;height:34px;border-radius:var(--radius-full);background:none;border:1.5px solid var(--gray-200);color:var(--gray-400);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.fb-icon-btn:hover{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-300)}.fb-icon-btn.delete:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.fb-modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:500;padding:0}.fb-modal-card{max-width:500px;width:100%;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-height:90vh;overflow-y:auto;padding:1.5rem}@media(min-width:640px){.fb-modal-backdrop{align-items:center;padding:1rem}.fb-modal-card{border-radius:var(--radius-2xl)}}.fb-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.fb-modal-header h2{font-size:1.125rem;font-weight:700}.fb-modal-close{width:32px;height:32px;border-radius:var(--radius-full);font-size:1.25rem;color:var(--gray-500);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.fb-modal-close:hover{background:var(--gray-100)}.fb-form-group{margin-bottom:1rem}.fb-field-hint{font-size:.8125rem;color:var(--gray-400);margin-top:.25rem;margin-bottom:.5rem}.file-drop-zone{position:relative;border:2px dashed var(--gray-200);border-radius:var(--radius-lg);padding:2rem 1.5rem;text-align:center;transition:border-color .15s,background .15s;cursor:pointer;background:var(--gray-50)}.file-drop-zone.drag-over{border-color:var(--primary);background:var(--primary-subtle)}.file-drop-zone p{font-size:.875rem;color:var(--gray-500);margin-top:.75rem}.file-selected{border-color:var(--success);background:var(--success-light)!important}.file-selected p{color:var(--success-dark)!important}.color-swatches{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.375rem}.color-swatch{width:28px;height:28px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s}.color-swatch.active{border-color:#fff;transform:scale(1.2);box-shadow:0 0 0 2px currentColor}.programs-checklist{display:flex;flex-direction:column;gap:.375rem;max-height:160px;overflow-y:auto;padding:.25rem 0;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);padding:.5rem .625rem}.programs-checklist:empty{display:none}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer;padding:.25rem 0}.checkbox-label input{cursor:pointer;accent-color:var(--primary)}
