/* ========================================
   MEMBERPRESS MY RESOURCES - CLEAN VERSION
   ======================================== */

/* ========================================
   TAB ICON & BASE LAYOUT
   ======================================== */

.mepr-nav-item.mepr-my-resources a:before {
	content: "\f0c5";
}

.mpmr-my-resources {
	@media screen and (min-width: 992px) {
		padding-left: 40px;
	}
}

/* ========================================
   ANIMATIONS & KEYFRAMES
   ======================================== */

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideIn {
	from {
		opacity: 0;
		transform: translateY(-20px) scale(0.95);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes slideInFromTop {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@keyframes pulse {
	0% { transform: scale(1); }
	50% {
		transform: scale(1.1);
		opacity: 0.8;
	}
	100% { transform: scale(1); }
}

@keyframes cloudinaryPulse {
	0%, 100% {
		transform: scale(1);
		opacity: 1;
	}
	50% {
		transform: scale(1.1);
		opacity: 0.8;
	}
}

@keyframes progressShine {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

@keyframes uploadShine {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

@keyframes cloudinarySpinner {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@keyframes teamUpdatePulse {
	0% {
		transform: scale(1);
		opacity: 1;
	}
	50% {
		transform: scale(1.05);
		opacity: 0.8;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

/* ========================================
   HEADER SECTION
   ======================================== */

.mpmr-header {
	margin-top: 24px;
	margin-bottom: 12px;
}

.mpmr-header-left h2 {
	margin: 0 0 8px 0;
	font-size: 28px;
	font-weight: 700;
	color: #2c3e50;
}

.mpmr-subtitle {
	margin: 0;
	color: #7f8c8d;
	font-size: 16px;
	line-height: 1.4;
}

.mpmr-header-right {
	display: flex;
}

.mpmr-header-right .mpmr-btn {
	margin-left: 36px;
}

/* ========================================
   STATS SECTION
   ======================================== */

.mpmr-stats {
	display: flex;
}

.mpmr-stat {
	text-align: center;
	font-size: 14px;
	color: #7f8c8d;
	padding: 0 36px;
	position: relative;
}

.mpmr-stat:after {
	width: 1px;
	height: calc(100% - 4px);
	background: #e0e0e0;
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 4px;
}

.mpmr-stat strong {
	display: block;
	font-size: 20px;
	font-weight: 700;
	color: #2c3e50;
	margin-bottom: 2px;
}

.mpmr-stat[data-type="team"] strong {
	color: #0073aa;
}

.mpmr-stat[data-type="guest"] strong {
	color: #e67e22;
}

/* ========================================
   STORAGE PROGRESS
   ======================================== */

.mpmr-storage-info {
	margin-bottom: 25px;
	padding: 15px;
	background: #f8f9fa;
	border-radius: 8px;
}

.mpmr-storage-info.guest-storage {
	background: linear-gradient(135deg, #fff3cd 0%, #fdeaa7 100%);
	border: 1px solid #ffeaa7;
}

.mpmr-storage-bar {
	width: 100%;
	height: 8px;
	background: #e9ecef;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 8px;
}

.mpmr-storage-progress {
	height: 100%;
	background: linear-gradient(90deg, #28a745 0%, #ffc107 70%, #dc3545 100%);
	transition: width 0.3s ease;
}

.mpmr-storage-progress.guest-storage {
	background: linear-gradient(90deg, #ffc107 0%, #e0a800 100%);
}

.mpmr-storage-text {
	font-size: 14px;
	color: #6c757d;
	font-weight: 500;
}

.mpmr-storage-breakdown {
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 6px;
	padding: 15px;
	margin-top: 15px;
}

.mpmr-storage-breakdown h4 {
	margin: 0 0 10px 0;
	font-size: 14px;
	color: #495057;
}

.mpmr-storage-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 6px 0;
	border-bottom: 1px solid #e9ecef;
	font-size: 12px;
}

.mpmr-storage-item:last-child {
	border-bottom: none;
}

.mpmr-storage-item-label {
	display: flex;
	align-items: center;
	gap: 8px;
}

.mpmr-storage-item-value {
	font-weight: 600;
	color: #495057;
}

.mpmr-storage-loading {
	position: relative;
}

.mpmr-storage-loading::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	width: 12px;
	height: 12px;
	border: 1px solid #ccc;
	border-top: 1px solid #0073aa;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

/* ========================================
   TOOLBAR & FILTERS
   ======================================== */

.mpmr-toolbar-container {
	margin-bottom: 40px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.mpmr-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
	gap: 20px;
}

.mpmr-toolbar-left,
.mpmr-toolbar-right {
	display: flex;
	align-items: center;
	gap: 15px;
}

/* 2x2 Grid Layout */
.mpmr-filters-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr) 1fr;
	grid-template-rows: auto auto;
	gap: 20px;
}

.mpmr-filters-grid > .mpmr-filter-card:nth-child(1) {
	grid-column: 1;
	grid-row: 1;
}

.mpmr-filters-grid > .mpmr-filter-card:nth-child(2) {
	grid-column: 2;
	grid-row: 1;
}

.mpmr-tall-card {
	grid-column: 3;
	grid-row: 1 / 3;
}

.mpmr-wide-card {
	grid-column: 1 / 3;
	grid-row: 2;
}

.mpmr-filter-card {
	background: #f8f8f8;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 20px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
}

.mpmr-filter-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	border-color: #d1d5db;
}

.mpmr-card-title {
	font-size: 14px !important;
	font-weight: 600;
	color: #1f2937;
	margin: 0 !important;
	padding-bottom: 12px;
	border-bottom: 2px solid #f3f4f6;
	font-family: "Poppins";
}

.mpmr-card-content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.mpmr-card-content-centered {
	justify-content: center;
}

/* Clear Filters Section */
.mpmr-clear-filters-section {
	display: flex;
	justify-content: center;
	padding: 12px 16px;
	background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
	border: 1px solid #fecaca;
	border-radius: 12px;
}

.mpmr-clear-filters-section .mpmr-btn {
	padding: 10px 28px;
	font-size: 14px;
	font-weight: 600;
}

/* ========================================
   SEARCH FUNCTIONALITY
   ======================================== */

.mpmr-search-wrapper {
	position: relative;
	min-width: 350px;
	display: flex;
	align-items: center;
}

.mpmr-search-wrapper input,
.mpmr-search-wrapper .mpmr-form-control {
	width: 100%;
	padding: 12px 16px;
	padding-right: 80px;
	margin: 0;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	font-size: 14px;
	height: 46px;
	transition: all 0.2s ease;
}

.mpmr-search-wrapper input:focus,
.mpmr-search-wrapper .mpmr-form-control:focus {
	outline: none;
	border-color: #2563eb;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.mpmr-search-icon {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	color: #9ca3af;
	pointer-events: none;
}

.mpmr-clear-btn {
	position: absolute;
	right: 48px;
	top: 50%;
	transform: translateY(-50%);
	background: #ef4444;
	color: white;
	border: none;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.mpmr-clear-btn:hover {
	background: #dc2626;
	transform: translateY(-50%) scale(1.1);
}

/* ========================================
   BUTTON SYSTEM
   ======================================== */

.mpmr-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 24px;
	border: none;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
	font-family: "Poppins", sans-serif;
	user-select: none;
	line-height: 1.4;
	border: 1px solid transparent;
}

.mpmr-btn-primary {
	background: #188ece;
	color: white;
	border-color: #188ece;
}

.mpmr-btn-primary:hover {
	background: #1680b9;
	border-color: #1680b9;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.mpmr-btn-secondary {
	background: white;
	color: #374151;
	border-color: #d1d5db;
}

.mpmr-btn-secondary:hover {
	background: #f9fafb;
	border-color: #9ca3af;
}

.mpmr-btn-success {
	background: #059669;
	color: white;
	border-color: #059669;
}

.mpmr-btn-success:hover {
	background: #047857;
	border-color: #047857;
}

.mpmr-btn-danger {
	background: #dc2626;
	color: white;
	border-color: #dc2626;
	font-size: 12px;
	padding: 6px 12px;
}

.mpmr-btn-danger:hover {
	background: #b91c1c;
	border-color: #b91c1c;
}

.mpmr-btn-preview {
	background: #f8f9fa;
	color: #495057;
	border: 1px solid #dee2e6;
	font-size: 11px;
	padding: 5px 10px;
	border-radius: 5px;
}

.mpmr-btn-preview:hover {
	background: #e9ecef;
	border-color: #adb5bd;
	text-decoration: none;
	color: #495057;
}

.mpmr-btn-download {
	background: #188ece;
	color: white !important;
	font-size: 11px;
	padding: 5px 10px;
	border-radius: 5px;
	box-shadow: 0 1px 3px rgba(0, 142, 211, 0.3);
}

.mpmr-btn-download:hover {
	background: #1680b9;
	text-decoration: none;
	color: white;
	box-shadow: 0 2px 6px rgba(0, 142, 211, 0.4);
}

.mpmr-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

.mpmr-btn .mpmr-icon {
	font-size: 16px;
	line-height: 1;
}

.mpmr-btn-sm {
	padding: 8px 16px;
	font-size: 13px;
	gap: 6px;
}

.mpmr-btn-block,
.mpmr-btn-full {
	width: 100%;
	justify-content: center;
}

.mpmr-btn-full {
	height: 100%;
	min-height: 46px;
	padding: 14px 24px;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.mpmr-btn:focus {
	outline: 2px solid #007cba;
	outline-offset: 2px;
	box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1);
}

.mpmr-btn.cloudinary-action {
	background: linear-gradient(135deg, #0073aa 0%, #005a87 100%);
	border: none;
	color: white;
	position: relative;
	overflow: hidden;
}

.mpmr-btn.cloudinary-action:hover {
	background: linear-gradient(135deg, #005a87 0%, #004066 100%);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 115, 170, 0.3);
}

.mpmr-btn.cloudinary-action::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.2) 50%, transparent 100%);
	transition: left 0.5s ease;
}

.mpmr-btn.cloudinary-action:hover::before {
	left: 100%;
}

#mpmr-manage-categories-btn {
	padding: 14px 24px;
	margin-top: 50px;
}

/* ========================================
   FORM CONTROLS
   ======================================== */

.mpmr-select,
.mpmr-select-full {
	padding: 12px 16px;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	font-size: 14px;
	cursor: pointer;
	min-width: 150px;
	font-family: "Poppins", sans-serif;
	transition: all 0.2s ease;
}

.mpmr-select-full {
	width: 100%;
	height: 46px;
}

.mpmr-select:focus,
.mpmr-select-full:focus {
	outline: none;
	border-color: #2563eb;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.mpmr-form-group {
	margin-bottom: 20px;
}

.mpmr-form-group label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: #374151;
	font-size: 14px;
	font-family: "Poppins", sans-serif;
}

.mpmr-form-control {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	font-size: 14px;
	transition: all 0.2s ease;
	font-family: "Poppins", sans-serif;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.mpmr-form-control:focus {
	outline: none;
	border-color: #2563eb;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.mpmr-form-row {
	display: flex;
	gap: 15px;
	align-items: end;
}

.mpmr-add-category-inline {
	display: flex;
	gap: 8px;
	align-items: center;
}

.mpmr-add-category-inline .mpmr-form-control {
	flex: 1;
	min-width: 0;
	padding: 12px 16px;
	height: 46px;
}

.mpmr-add-category-inline .mpmr-form-control:focus {
	outline: none;
	border-color: #2563eb;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.mpmr-add-category-inline .mpmr-btn {
	padding: 14px 24px;
	margin: 9px 0 0 0;
	white-space: nowrap;
	flex-shrink: 0;
	height: 46px;
}

/* ========================================
   RESOURCES GRID & CARDS
   ======================================== */

.mpmr-resources-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 20px;
	margin-bottom: 30px;
}

.mpmr-resource-card {
	background: white;
	border: 1px solid #e9ecef;
	border-radius: 12px;
	padding: 20px;
	transition: all 0.2s ease;
	position: relative;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.mpmr-resource-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
	border-color: #007cba;
}

.mpmr-resource-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: transparent;
	transition: background-color 0.3s ease;
}

.mpmr-resource-card[data-owner="own"]:hover {
	box-shadow: 0 8px 25px rgba(40, 167, 69, 0.15);
}

.mpmr-resource-card[data-owner="team"]:hover {
	box-shadow: 0 8px 25px rgba(23, 162, 184, 0.15);
}

.mpmr-resource-card[data-storage-type="cloudinary"]:hover {
	border-left-color: #005a87;
}

.mpmr-resource-card:focus-within {
	ring: 2px solid #007cba;
	ring-opacity: 0.5;
	box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1);
}

.mpmr-resource-card.loading,
.mpmr-resource-card.no-manage .mpmr-resource-actions {
	opacity: 0.6;
	pointer-events: none;
}

.mpmr-resource-card.loading .mpmr-file-icon {
	animation: pulse 1.5s ease-in-out infinite;
}

.mpmr-resource-card.no-manage .mpmr-edit-btn,
.mpmr-resource-card.no-manage .mpmr-delete-btn {
	display: none;
}

/* ========================================
   RESOURCE CARD COMPONENTS
   ======================================== */

.mpmr-resource-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 15px;
}

.mpmr-file-icon-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mpmr-file-icon {
	font-size: 28px;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	border-radius: 10px;
	flex-shrink: 0;
	border: 2px solid transparent;
	transition: all 0.3s ease;
	position: relative;
}

.mpmr-file-icon.cloudinary-stored {
	background: linear-gradient(135deg, #0073aa 0%, #005a87 100%);
	color: white;
	border-color: rgba(255, 255, 255, 0.2);
}

.mpmr-resource-card[data-file-type="pdf"] .mpmr-file-icon {
	background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
	color: white;
}

.mpmr-resource-card[data-file-type="image"] .mpmr-file-icon {
	background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
	color: white;
}

.mpmr-resource-card[data-file-type="document"] .mpmr-file-icon {
	background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%);
	color: white;
}

.mpmr-resource-card:hover .mpmr-file-icon {
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.mpmr-resource-card:hover .mpmr-resource-title {
	color: #007cba;
}

.mpmr-preview-indicator {
	position: absolute;
	top: -5px;
	right: -5px;
	background: #17a2b8;
	color: white;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	font-weight: bold;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	animation: pulse 2s infinite;
}

.mpmr-cloudinary-indicator {
	position: absolute;
	top: -6px;
	right: -6px;
	background: #0073aa;
	color: white;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 8px;
	font-weight: bold;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	border: 2px solid white;
	animation: cloudinaryPulse 3s infinite;
}

.mpmr-resource-actions {
	display: flex;
	gap: 4px;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.mpmr-resource-card:hover .mpmr-resource-actions {
	opacity: 1;
}

.mpmr-action-btn {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid #e9ecef;
	padding: 6px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 12px;
	transition: all 0.2s ease;
	backdrop-filter: blur(4px);
}

.mpmr-action-btn:hover {
	background: white;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* ========================================
   RESOURCE BODY & META
   ======================================== */

.mpmr-resource-body {
	margin-bottom: 16px;
}

.mpmr-preview-clickable {
	cursor: pointer;
	transition: background-color 0.2s ease;
	padding: 4px;
	border-radius: 6px;
	margin: -4px;
}

.mpmr-preview-clickable:hover {
	background-color: rgba(0, 124, 186, 0.05);
}

.mpmr-resource-title {
	margin: 0 0 6px 0;
	font-size: 15px;
	font-weight: 600;
	color: #2c3e50;
	line-height: 1.35;
	word-wrap: break-word;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}

.mpmr-resource-description {
	margin: 0;
	font-size: 12px;
	color: #6c757d;
	line-height: 1.4;
	height: 2.8em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mpmr-resource-footer {
	border-top: 1px solid #f0f0f0;
	padding-top: 14px;
}

.mpmr-resource-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 12px;
  color: #6c757d;
  min-height: auto;
}

.mpmr-meta-left {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

/* First row - Category and File Info */
.mpmr-meta-row-1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

/* Second row - Author and Date */
.mpmr-meta-row-2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

.mpmr-resource-category {
  background: #f8f9fa;
  color: #495057;
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 500;
  font-size: 10px;
  border: 1px solid #e9ecef;
  flex-shrink: 0;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.mpmr-resource-category:hover {
  max-width: none;
  background: #e9ecef;
  z-index: 10;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  cursor: help;
}

.mpmr-file-info-compact {
  color: #6c757d;
  font-size: 10px;
  font-weight: 400;
  white-space: nowrap;
  opacity: 0.9;
  margin-left: auto;
}

.mpmr-resource-author {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  border: 1px solid #bfdbfe;
  color: #1e40af;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 600;
  font-family: "Poppins", sans-serif;
  transition: all 0.2s ease;
  cursor: help;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 150px;
  flex-shrink: 1;
}

.mpmr-resource-author:hover {
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  border-color: #93c5fd;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(30, 64, 175, 0.2);
  max-width: none;
  z-index: 10;
  position: relative;
}

.mpmr-author-icon {
  font-size: 11px;
  line-height: 1;
  opacity: 0.8;
  flex-shrink: 0;
}

.mpmr-author-text {
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Date positioned on the right of second row */
.mpmr-resource-date {
  color: #9ca3af;
  font-size: 10px;
  font-weight: 400;
  white-space: nowrap;
  margin-left: auto;
  opacity: 0.8;
}

.mpmr-file-info-compact {
	color: #6c757d;
	font-size: 10px;
	font-weight: 400;
	white-space: nowrap;
	opacity: 0.8;
}

.mpmr-storage-indicator {
	font-size: 8px;
	padding: 2px 4px;
	border-radius: 2px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.2px;
	display: inline-flex;
	align-items: center;
	gap: 2px;
	opacity: 0.7;
	transition: opacity 0.2s ease;
}

.mpmr-resource-card:hover .mpmr-storage-indicator {
	opacity: 1;
}

.mpmr-storage-indicator.cloudinary {
	background: #e3f2fd;
	color: #1565c0;
	border: 1px solid #bbdefb;
}

.mpmr-storage-indicator.local {
	background: #fafafa;
	color: #424242;
	border: 1px solid #e0e0e0;
}

.mpmr-resource-buttons {
	display: flex;
	gap: 6px;
	justify-content: flex-start;
}

/* ========================================
   TEAM FEATURES & INDICATORS
   ======================================== */

.mpmr-team-indicator {
	color: #0073aa;
	font-weight: 500;
	font-size: 14px;
}

.mpmr-guest-indicator {
	color: #e67e22;
	font-weight: 500;
	font-size: 14px;
}

.mpmr-guest-storage-notice {
	background: #fff3cd;
	color: #856404;
	padding: 12px 15px;
	border-radius: 6px;
	margin-bottom: 12px;
	border: 1px solid #ffeaa7;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	line-height: 1.4;
}

.mpmr-guest-icon {
	font-size: 16px;
	flex-shrink: 0;
}

.mpmr-uploader-info {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	background: #6c757d;
	color: white;
	font-size: 9px;
	font-weight: 600;
	border-radius: 50%;
	cursor: pointer;
	position: relative;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.mpmr-uploader-info:hover {
	background: #495057;
	transform: scale(1.1);
}

.mpmr-uploader-info::before {
	content: "Uploaded by " attr(data-uploader-name);
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	background: #2c3e50;
	color: white;
	padding: 6px 10px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 500;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	z-index: 1000;
	margin-bottom: 5px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.mpmr-uploader-info::after {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 4px solid transparent;
	border-top-color: #2c3e50;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	z-index: 1000;
	margin-bottom: 1px;
}

.mpmr-uploader-info:hover::before,
.mpmr-uploader-info:hover::after {
	opacity: 1;
	visibility: visible;
}

.mpmr-uploader-info:focus {
	outline: 2px solid #0073aa;
	outline-offset: 2px;
}

.mpmr-resource-card[data-owner="team"] .mpmr-uploader-info {
	background: #17a2b8;
}

.mpmr-resource-card[data-owner="team"] .mpmr-uploader-info:hover {
	background: #138496;
}

.mpmr-resource-card[data-owner="own"] .mpmr-uploader-info {
	background: #28a745;
}

.mpmr-resource-card[data-owner="own"] .mpmr-uploader-info:hover {
	background: #1e7e34;
}

.mpmr-ownership-badge {
	font-size: 8px;
	padding: 2px 5px;
	border-radius: 2px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	display: inline-flex;
	align-items: center;
}

.mpmr-ownership-badge.own {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.mpmr-ownership-badge.team {
	background: #d1ecf1;
	color: #0c5460;
	border: 1px solid #bee5eb;
}

.mpmr-storage-warning {
	background: #fff3cd;
	color: #856404;
	padding: 10px 15px;
	border-radius: 6px;
	margin: 15px 0;
	border: 1px solid #ffeaa7;
	font-size: 13px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.mpmr-storage-warning.critical {
	background: #f8d7da;
	color: #721c24;
	border-color: #f5c6cb;
}

.mpmr-storage-warning-icon {
	font-size: 16px;
	flex-shrink: 0;
}

/* ========================================
   MODAL SYSTEM
   ======================================== */

.mpmr-modal {
	display: none;
	position: fixed;
	z-index: 999999 !important;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	animation: fadeIn 0.2s ease;
	padding: 20px;
	align-items: center;
	justify-content: center;
}

.mpmr-modal-content {
	background: white;
	margin: 2% auto;
	border-radius: 20px;
	width: 90%;
	max-width: 600px;
	max-height: 90vh;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
	animation: slideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	font-family: "Poppins", sans-serif;
	position: relative;
}

.mpmr-modal-header {
	background: linear-gradient(135deg, #2563eb 0%, #1680b9 100%);
	color: white;
	padding: 24px 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.mpmr-modal-header h3 {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	font-family: "Poppins", sans-serif;
}

.mpmr-close {
	color: white;
	font-size: 24px;
	cursor: pointer;
	transition: all 0.2s ease;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	padding: 0;
	border: none;
}

.mpmr-close:hover {
	background: rgba(255, 255, 255, 0.2);
	transform: scale(1.1);
}

.mpmr-modal-body {
	padding: 32px;
	max-height: 60vh;
	overflow-y: auto;
}

.mpmr-modal-footer {
	padding: 24px 32px;
	background: #f8fafc;
	border-top: 1px solid rgba(0, 0, 0, 0.06);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.mpmr-modal-actions {
	display: flex;
	gap: 12px;
	margin-left: auto;
}

/* ========================================
   PREVIEW MODAL
   ======================================== */

.mpmr-preview-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	z-index: 10001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.mpmr-preview-content {
	position: relative;
	max-width: 95vw;
	max-height: 95vh;
	background: white;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.mpmr-preview-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 20px;
	background: #f8f9fa;
	border-bottom: 1px solid #e9ecef;
}

.mpmr-preview-title {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	color: #2c3e50;
	flex: 1;
	margin-right: 15px;
}

.mpmr-preview-actions {
	display: flex;
	gap: 10px;
	align-items: center;
}

.mpmr-preview-close {
	background: none;
	border: none;
	font-size: 24px;
	color: #6c757d;
	cursor: pointer;
	padding: 5px;
	border-radius: 4px;
	transition: background 0.2s ease;
}

.mpmr-preview-close:hover {
	background: #e9ecef;
}

.mpmr-preview-body {
	position: relative;
	overflow: auto;
	max-height: calc(95vh - 80px);
}

.mpmr-image-preview {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 400px;
	padding: 20px;
	background: #f8f9fa;
}

.mpmr-image-preview img {
	max-width: 100%;
	max-height: 80vh;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	cursor: zoom-in;
	transition: transform 0.2s ease;
}

.mpmr-image-preview img.zoomed {
	cursor: zoom-out;
	transform: scale(1.5);
}

.mpmr-pdf-preview {
	width: 100%;
	height: 80vh;
	border: none;
}

.mpmr-pdf-fallback {
	padding: 40px;
	text-align: center;
	background: #f8f9fa;
}

.mpmr-pdf-fallback h3 {
	margin: 0 0 15px 0;
	color: #2c3e50;
}

.mpmr-pdf-fallback p {
	color: #6c757d;
	margin-bottom: 20px;
}

.mpmr-text-preview {
	padding: 30px;
	font-size: 14px;
	line-height: 1.6;
	color: #2c3e50;
	white-space: pre-wrap;
	background: #f8f9fa;
	max-height: 70vh;
	overflow-y: auto;
}

/* ========================================
   UPLOAD AREA & FILE MANAGEMENT
   ======================================== */

.mpmr-upload-area {
	border: 2px dashed #ddd;
	border-radius: 12px;
	padding: 40px 20px;
	text-align: center;
	margin-bottom: 25px;
	transition: all 0.2s ease;
	cursor: pointer;
	position: relative;
}

.mpmr-upload-area:hover,
.mpmr-upload-area.dragover {
	border-color: #007cba;
	background: #f8f9fa;
}

.mpmr-upload-icon {
	font-size: 48px;
	margin-bottom: 15px;
}

.mpmr-upload-area h4 {
	margin: 0 0 8px 0;
	font-size: 18px;
	color: #2c3e50;
}

.mpmr-upload-area p {
	margin: 0 0 15px 0;
	color: #6c757d;
}

.mpmr-upload-area input[type="file"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.mpmr-file-info {
	color: #6c757d;
	font-size: 12px;
	line-height: 1.4;
}

.mpmr-file-list {
	margin-bottom: 25px;
}

.mpmr-file-list h4 {
	margin: 0 0 15px 0;
	font-size: 16px;
	color: #2c3e50;
}

.mpmr-file-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 15px;
	background: #f8f9fa;
	border-radius: 6px;
	margin-bottom: 8px;
}

.mpmr-file-info-item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mpmr-file-name {
	font-weight: 500;
	color: #2c3e50;
}

.mpmr-file-size {
	font-size: 12px;
	color: #6c757d;
}

.mpmr-remove-file {
	background: none;
	border: none;
	color: #dc3545;
	cursor: pointer;
	font-size: 16px;
	padding: 4px;
	border-radius: 4px;
	transition: background 0.2s ease;
}

.mpmr-remove-file:hover {
	background: #f5c6cb;
}

.mpmr-upload-progress-container {
	margin: 15px 0;
	padding: 15px;
	background: #f8f9fa;
	border-radius: 6px;
	border: 1px solid #e9ecef;
}

.mpmr-upload-progress-bar,
.mpmr-progress-bar {
	width: 100%;
	height: 8px;
	background: #e9ecef;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 8px;
	position: relative;
}

.mpmr-upload-progress-fill,
.mpmr-progress,
.mpmr-progress-fill {
	height: 100%;
	background: linear-gradient(90deg, #28a745 0%, #20c997 100%);
	border-radius: 4px;
	transition: width 0.3s ease;
	position: relative;
}

.mpmr-upload-progress-fill::after,
.mpmr-progress-fill::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.5) 50%, transparent 100%);
	animation: uploadShine 1.5s infinite;
}

.mpmr-upload-progress-text {
	text-align: center;
	font-size: 12px;
	color: #666;
	font-weight: 600;
}

.mpmr-migration-progress {
	margin: 15px 0;
}

.mpmr-migration-status {
	font-size: 12px;
	color: #666;
	text-align: center;
	margin-top: 5px;
}

/* ========================================
   CATEGORY MANAGEMENT
   ======================================== */

.mpmr-category-modal .mpmr-modal-body {
	padding: 32px;
	max-height: 70vh;
}

.mpmr-category-section {
	margin-bottom: 32px;
}

.mpmr-category-section:last-child {
	margin-bottom: 0;
}

.mpmr-category-section h4 {
	margin: 0 0 20px 0;
	font-size: 18px;
	font-weight: 600;
	color: #1f2937;
	padding-bottom: 12px;
	border-bottom: 2px solid #e5e7eb;
	font-family: "Poppins", sans-serif;
}

.mpmr-category-form,
.mpmr-add-category-form {
	background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
	padding: 24px;
	border-radius: 12px;
	border: 2px solid #e5e7eb;
}

.mpmr-category-form .mpmr-form-row,
.mpmr-add-category-form .mpmr-form-row {
	align-items: end;
	gap: 16px;
	margin-bottom: 0;
	display: flex;
}

.mpmr-category-form .mpmr-form-group,
.mpmr-add-category-form .mpmr-form-group {
	margin-bottom: 0;
}

.mpmr-category-form .mpmr-form-group:first-child,
.mpmr-add-category-form .mpmr-form-group:first-child {
	flex: 1;
}

.mpmr-category-form .mpmr-form-group:last-child,
.mpmr-add-category-form .mpmr-form-group:last-child {
	flex: 0 0 auto;
}

.mpmr-category-form label,
.mpmr-add-category-form label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 600;
	color: #374151;
	font-family: "Poppins", sans-serif;
}

.mpmr-categories-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 20px;
	max-height: 350px;
	overflow-y: auto;
}

.mpmr-categories-list::-webkit-scrollbar {
	width: 8px;
}

.mpmr-categories-list::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 4px;
}

.mpmr-categories-list::-webkit-scrollbar-thumb {
	background: #d1d5db;
	border-radius: 4px;
}

.mpmr-category-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px;
	background: white;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	border-left: 3px solid transparent;
	transition: all 0.2s ease;
	font-family: "Poppins", sans-serif;
	gap: 16px;
}

.mpmr-category-item:hover {
	background: #e9ecef;
	border-left-color: #007cba;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mpmr-category-item[data-owner="team"] {
	border-left-color: #17a2b8;
}

.mpmr-category-item[data-owner="own"] {
	border-left-color: #28a745;
}

.mpmr-category-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.mpmr-category-display {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mpmr-category-name {
	font-weight: 600;
	color: #1f2937;
	font-size: 15px;
	font-family: "Poppins", sans-serif;
	word-break: break-word;
	margin-bottom: 4px;
}

.mpmr-category-meta,
.mpmr-category-stats {
	font-size: 12px;
	color: #6c757d;
	font-family: "Poppins", sans-serif;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	line-height: 1.3;
}

.mpmr-category-owner {
	display: inline-block;
	background: #e0f2fe;
	color: #0369a1;
	padding: 2px 8px;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 600;
	font-family: "Poppins", sans-serif;
}

.mpmr-category-edit-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.mpmr-edit-category-input {
	width: 100%;
	padding: 10px 12px;
	border: 2px solid #2563eb;
	border-radius: 8px;
	font-size: 14px;
	font-family: "Poppins", sans-serif;
}

.mpmr-edit-category-input:focus {
	outline: none;
	border-color: #1680b9;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.mpmr-edit-actions {
	display: flex;
	gap: 8px;
}

.mpmr-edit-actions .mpmr-btn {
	flex: 1;
	justify-content: center;
}

.mpmr-category-actions {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-shrink: 0;
}

.mpmr-category-actions .mpmr-btn {
	padding: 8px 16px;
	font-size: 13px;
}

.mpmr-no-categories {
	text-align: center;
	color: #6b7280;
	padding: 40px 24px;
	background: #f9fafb;
	border: 1px dashed #d1d5db;
	border-radius: 12px;
	margin: 20px 0 0 0;
	font-family: "Poppins", sans-serif;
	font-style: italic;
}

.mpmr-no-categories h5 {
	margin: 0 0 8px 0;
	font-size: 15px;
	font-weight: 500;
	color: #374151;
	font-family: "Poppins", sans-serif;
}

.mpmr-no-categories p {
	margin: 0;
	font-size: 14px;
	font-family: "Poppins", sans-serif;
}

/* ========================================
   CLOUDINARY FEATURES
   ======================================== */

.mpmr-cloudinary-settings {
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	padding: 20px;
	margin: 20px 0;
}

.mpmr-cloudinary-settings h3 {
	margin-top: 0;
	color: #0073aa;
	display: flex;
	align-items: center;
	gap: 8px;
}

.mpmr-cloudinary-settings h3::before {
	content: '☁️';
	font-size: 20px;
}

.mpmr-connection-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	margin-left: 10px;
}

.mpmr-connection-status.connected {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.mpmr-connection-status.disconnected {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

.mpmr-connection-status.testing {
	background: #fff3cd;
	color: #856404;
	border: 1px solid #ffeaa7;
}

.mpmr-cloudinary-loading {
	position: relative;
	opacity: 0.7;
	pointer-events: none;
}

.mpmr-cloudinary-loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 2px solid #f3f3f3;
	border-top: 2px solid #0073aa;
	border-radius: 50%;
	animation: cloudinarySpinner 1s linear infinite;
	z-index: 1000;
}

.mpmr-cloudinary-success {
	border-left: 4px solid #28a745;
	background: #d4edda;
	padding: 10px;
	margin: 10px 0;
	border-radius: 4px;
	color: #155724;
}

.mpmr-cloudinary-error {
	border-left: 4px solid #dc3545;
	background: #f8d7da;
	padding: 10px;
	margin: 10px 0;
	border-radius: 4px;
	color: #721c24;
}

.mpmr-tooltip {
	position: relative;
	cursor: help;
}

.mpmr-tooltip::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: 125%;
	left: 50%;
	transform: translateX(-50%);
	background: #333;
	color: white;
	padding: 8px 12px;
	border-radius: 4px;
	font-size: 12px;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
	z-index: 1000;
}

.mpmr-tooltip::before {
	content: '';
	position: absolute;
	bottom: 115%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: #333;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
	z-index: 1000;
}

.mpmr-tooltip:hover::after,
.mpmr-tooltip:hover::before {
	opacity: 1;
	visibility: visible;
}

.wp-list-table .mpmr-storage-type-badge {
	display: inline-block;
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.wp-list-table .mpmr-storage-type-badge.cloudinary {
	background: #0073aa;
	color: white;
}

.wp-list-table .mpmr-storage-type-badge.local {
	background: #666;
	color: white;
}

.mpmr-admin-stats .mpmr-stat-card.cloudinary {
	border-left: 4px solid #0073aa;
}

.mpmr-admin-stats .mpmr-stat-card.cloudinary h3 {
	color: #0073aa;
}

.mpmr-team-management-notice {
	background: #e7f3ff;
	color: #004085;
	padding: 15px;
	border-radius: 6px;
	margin-bottom: 20px;
	border: 1px solid #b8daff;
}

.mpmr-team-management-notice h4 {
	margin: 0 0 8px 0;
	color: #004085;
}

.mpmr-team-management-notice p {
	margin: 0;
	font-size: 14px;
}

/* ========================================
   EMPTY STATES
   ======================================== */

.mpmr-empty-state {
	text-align: center;
	padding: 60px 20px;
}

.mpmr-empty-state.team-view {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	border: 2px dashed #0073aa;
}

.mpmr-empty-state.team-view .mpmr-empty-icon {
	color: #0073aa;
}

.mpmr-empty-icon {
	font-size: 64px;
	margin-bottom: 20px;
	opacity: 0.5;
}

.mpmr-empty-state h3 {
	margin: 0 0 15px 0;
	font-size: 24px;
	color: #2c3e50;
}

.mpmr-empty-state p {
	margin: 0 0 25px 0;
	color: #6c757d;
	font-size: 16px;
	line-height: 1.5;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

/* ========================================
   LOADING & PROGRESS STATES
   ======================================== */

.mpmr-loading {
	text-align: center;
	padding: 40px;
	color: #6c757d;
}

.mpmr-loading-spinner {
	border: 2px solid #f3f3f3;
	border-top: 2px solid #007cba;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	animation: spin 1s linear infinite;
	margin: 20px auto;
}

/* ========================================
   NOTIFICATION SYSTEM
   ======================================== */

.mpmr-notification {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 100000;
  padding: 16px 20px;
  border-radius: 12px;
  color: white;
  font-weight: 500;
  font-size: 14px;
  transform: translateX(400px);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  max-width: 350px;
  backdrop-filter: blur(8px);
  font-family: "Poppins", sans-serif;
}

.mpmr-notification.show-notification {
  transform: translateX(0);
}

.mpmr-notification-success {
  background: linear-gradient(135deg, #059669 0%, #047857 100%);
}

.mpmr-notification-error {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
  border-left: 4px solid #991b1b;
}

.mpmr-notification-warning {
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
}

.mpmr-notification-info {
  background: linear-gradient(135deg, #2563eb 0%, #1680b9 100%);
}

/* ========================================
   UTILITY CLASSES
   ======================================== */

.mpmr-hidden {
	display: none !important;
}

.mpmr-text-center {
	text-align: center;
}

.mpmr-mb-0 {
	margin-bottom: 0 !important;
}

.mpmr-mt-20 {
	margin-top: 20px;
}

.mpmr-fade-in {
	animation: fadeIn 0.3s ease-out;
}

.mpmr-slide-in {
	animation: slideInFromTop 0.3s ease-out;
}

.touch-feedback:active {
	transform: scale(0.98);
	transition: transform 0.1s ease;
}

.mpmr-dynamic-update {
	animation: teamUpdatePulse 0.6s ease-in-out;
}

/* ========================================
   RESPONSIVE DESIGN
   ======================================== */

@media (min-width: 1200px) {
	.mpmr-resources-grid {
		gap: 24px;
	}
}

@media (max-width: 1200px) {
	.mpmr-filters-grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto auto;
	}
	
	.mpmr-filters-grid > .mpmr-filter-card:nth-child(1) {
		grid-column: 1;
		grid-row: 1;
	}

	.mpmr-filters-grid > .mpmr-filter-card:nth-child(2) {
		grid-column: 2;
		grid-row: 1;
	}

	.mpmr-tall-card {
		grid-column: 1 / 3;
		grid-row: 2;
	}

	.mpmr-wide-card {
		grid-column: 1 / 3;
		grid-row: 3;
	}

	#mpmr-manage-categories-btn {
		margin-top: 0;
	}
}

@media (max-width: 768px) {
	.mpmr-notification {
		right: 16px;
		left: 16px;
		max-width: none;
		top: 16px;
	}

	.mpmr-my-resources {
		padding: 15px;
	}

	.mpmr-header {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}

	.mpmr-header-right {
		align-items: stretch;
		flex-wrap: wrap;
	}

	.mpmr-header-right .mpmr-btn {
		margin-top: 27px;
		margin-left: 0;
		flex-basis: 100%;
	}

	.mpmr-stats {
		justify-content: space-between;
		width: 100%;
		flex-wrap: nowrap;
		gap: 5px;
	}

	.mpmr-stat {
		width: auto;
		flex: 1;
		min-width: 0;
		padding: 0 8px;
		text-align: center;
		font-size: 12px;
	}

	.mpmr-stat:after {
		display: none;
	}

	.mpmr-stat strong {
		font-size: 18px;
	}

	.mpmr-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 15px;
	}

	.mpmr-toolbar-left,
	.mpmr-toolbar-right {
		display: block;
	}

	.mpmr-search-wrapper {
		min-width: auto;
	}

	.mpmr-filters-grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto auto;
		gap: 16px;
	}
	
	.mpmr-filters-grid > .mpmr-filter-card:nth-child(1) {
		grid-column: 1;
		grid-row: 1;
	}

	.mpmr-filters-grid > .mpmr-filter-card:nth-child(2) {
		grid-column: 1;
		grid-row: 2;
	}

	.mpmr-tall-card {
		grid-column: 1;
		grid-row: 3;
	}

	.mpmr-wide-card {
		grid-column: 1;
		grid-row: 4;
	}

	.mpmr-filter-card {
		padding: 16px;
	}

	.mpmr-add-category-inline {
		flex-direction: column;
		gap: 12px;
	}

	.mpmr-add-category-inline .mpmr-btn {
		width: 100%;
		justify-content: center;
	}

	.mpmr-resources-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.mpmr-resource-card {
		padding: 16px;
	}
	
	.mpmr-file-icon {
		width: 44px;
		height: 44px;
		font-size: 24px;
	}
	
	.mpmr-resource-title {
		font-size: 14px;
	}
	
	.mpmr-resource-description {
		font-size: 11px;
		height: 2.6em;
	}

	.mpmr-resource-meta {
		gap: 10px;
	}

	.mpmr-meta-row-1,
	.mpmr-meta-row-2 {
		flex-wrap: wrap;
		gap: 6px;
	}

	.mpmr-resource-category {
		padding: 4px 8px;
		font-size: 9px;
		max-width: calc(50% - 3px);
	}

	.mpmr-file-info-compact {
		font-size: 9px;
	}

	.mpmr-resource-author {
		padding: 4px 8px;
		font-size: 9px;
		max-width: calc(60% - 3px);
	}

	.mpmr-author-icon {
		font-size: 10px;
	}

	.mpmr-resource-date {
		font-size: 9px;
	}

	.mpmr-resource-buttons {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.mpmr-btn-preview,
	.mpmr-btn-download {
		justify-content: center;
		padding: 8px 10px;
		font-size: 11px;
	}

	.mpmr-preview-modal {
		padding: 10px;
	}

	.mpmr-preview-content {
		max-width: 100vw;
		max-height: 100vh;
		border-radius: 0;
	}

	.mpmr-preview-header {
		padding: 10px 15px;
	}

	.mpmr-preview-title {
		font-size: 16px;
	}

	.mpmr-image-preview {
		padding: 10px;
		min-height: 300px;
	}

	.mpmr-text-preview {
		padding: 15px;
		font-size: 12px;
	}

	.mpmr-modal-content {
		width: 95%;
		max-width: 95%;
		margin: 2.5% auto;
	}

	.mpmr-modal-header,
	.mpmr-modal-body,
	.mpmr-modal-footer {
		padding: 20px 24px;
	}

	.mpmr-form-row {
		flex-direction: column;
		gap: 10px;
	}

	.mpmr-modal-footer {
		flex-direction: column;
	}

	.mpmr-modal-actions {
		width: 100%;
		margin-left: 0;
		flex-direction: column;
	}

	.mpmr-modal-actions .mpmr-btn {
		width: 100%;
	}

	.mpmr-guest-storage-notice {
		padding: 10px 12px;
		font-size: 12px;
	}

	.mpmr-uploader-info {
		width: 16px;
		height: 16px;
		font-size: 8px;
	}

	.mpmr-uploader-info::before {
		font-size: 9px;
		padding: 3px 6px;
		bottom: 150%;
		right: 0;
		left: auto;
		transform: none;
	}

	.mpmr-uploader-info::after {
		border-width: 2px;
		bottom: 145%;
		right: 6px;
		left: auto;
		transform: none;
	}

	.mpmr-resource-author {
		padding: 5px 10px;
		font-size: 10px;
		max-width: calc(50% - 4px);
		flex-shrink: 1;
	}

	.mpmr-author-icon {
		font-size: 11px;
	}

	.mpmr-ownership-badge {
		font-size: 7px;
		padding: 1px 3px;
	}

	.mpmr-team-indicator,
	.mpmr-guest-indicator {
		font-size: 12px;
		display: block;
		margin-top: 4px;
	}

	.mpmr-toolbar-right {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		width: 100%;
	}

	#mpmr-owner-filter {
		grid-column: 1 / -1;
	}

	.mpmr-cloudinary-indicator {
		width: 16px;
		height: 16px;
		font-size: 7px;
		top: -6px;
		left: -6px;
	}

	.mpmr-storage-indicator {
		font-size: 9px;
		padding: 1px 4px;
	}

	.mpmr-cloudinary-settings {
		padding: 15px;
		margin: 15px 0;
	}

	.mpmr-migration-progress {
		margin: 10px 0;
	}

	.mpmr-progress-bar {
		height: 16px;
	}

	.mpmr-category-form .mpmr-form-row,
	.mpmr-add-category-form .mpmr-form-row {
		flex-direction: column;
		align-items: stretch;
	}

	.mpmr-category-form .mpmr-form-group:first-child,
	.mpmr-add-category-form .mpmr-form-group:first-child,
	.mpmr-category-form .mpmr-form-group:last-child,
	.mpmr-add-category-form .mpmr-form-group:last-child {
		flex: none;
		width: 100%;
	}

	.mpmr-category-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.mpmr-category-actions {
		width: 100%;
		justify-content: stretch;
	}

	.mpmr-category-actions .mpmr-btn {
		flex: 1;
		justify-content: center;
	}
}

@media (max-width: 480px) {
	.mpmr-stat {
		padding: 0 4px;
		font-size: 11px;
	}

	.mpmr-stat strong {
		font-size: 16px;
	}

	.mpmr-resource-author {
		font-size: 9px;
		padding: 4px 8px;
		border-radius: 10px;
		max-width: 100%;
		flex: 0 1 auto;
		min-width: fit-content;
	}

	.mpmr-author-icon {
		font-size: 10px;
	}

	.mpmr-resource-meta {
		gap: 8px;
	}

	.mpmr-resource-category,
	.mpmr-file-info-compact,
	.mpmr-resource-author,
	.mpmr-resource-date {
		font-size: 8px;
	}

	.mpmr-resource-category {
		max-width: 100px;
	}

	.mpmr-resource-author {
		padding: 3px 6px;
		max-width: 120px;
	}

	.mpmr-author-icon {
		font-size: 9px;
	}

	.mpmr-header-right {
		overflow-x: hidden;
	}

	.mpmr-stats {
		min-width: 0;
		overflow: hidden;
	}

	.mpmr-filter-card {
		padding: 14px;
	}

	.mpmr-card-title {
		font-size: 13px !important;
	}
}

/* ========================================
   ACCESSIBILITY & HIGH CONTRAST
   ======================================== */

@media (prefers-contrast: high) {
	.mpmr-resource-card {
		border-width: 2px;
	}

	.mpmr-storage-indicator {
		border-width: 2px;
		font-weight: 700;
	}

	.mpmr-btn {
		border-width: 2px;
		font-weight: 600;
	}

	.mpmr-guest-storage-notice {
		border-width: 2px;
		font-weight: 600;
	}

	.mpmr-uploader-info,
	.mpmr-ownership-badge {
		border-width: 2px;
		font-weight: 700;
	}

	.mpmr-resource-card[data-owner="own"],
	.mpmr-resource-card[data-owner="team"] {
		border-left-width: 4px;
	}

	.mpmr-uploader-info {
		border: 2px solid #000;
		font-weight: 700;
	}

	.mpmr-uploader-info::before {
		border: 1px solid #fff;
		font-weight: 600;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mpmr-resource-card,
	.mpmr-file-icon,
	.mpmr-btn,
	.mpmr-storage-indicator {
		transition: none;
	}

	.mpmr-resource-card:hover {
		transform: none;
	}

	* {
		animation: none !important;
	}
}