@charset "UTF-8";
/* epp-common.css - Exhibition Project Proposal Common Styles */
/**
 * Location: /res/css/epp-common.css
 * 
 * Minimal custom styles - primarily uses Bootstrap utilities
 */
/* EPP Loading Overlay - can't be done with Bootstrap alone */
.epp-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: none;
  justify-content: center;
  align-items: center;
}

.epp-loading-overlay.show {
  display: flex;
}

/* EPP Phase Navigation Tabs */
.epp-phase-tabs .nav-link {
  position: relative;
  color: #6c757d;
}

.epp-phase-tabs .nav-link.completed::after {
  content: "✓";
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  color: #28a745;
}

/* EPP Form Enhancements */
/* EPP Form Container - consistent styling across app */
.epp-form-container {
  background-color: var(--bs-white);
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  padding: 1.5rem;
}

@media (min-width: 768px) {
  .epp-form-container {
    padding: 2rem;
  }
}
.epp-form .form-label.required::after {
  content: " *";
  color: #dc3545;
}

.field-label {
  color: var(--bs-tertiary-color);
  font-family: monospace;
  font-weight: bold;
  font-size: 1.25rem;
}

.epp-char-counter {
  font-size: 0.875rem;
  transition: color 0.2s;
}

.epp-char-counter.text-danger {
  font-weight: 500;
}

/* EPP Success Animation */
@keyframes epp-success-fade-in {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.epp-success-container {
  animation: epp-success-fade-in 0.5s ease-out;
}

/* EPP Offline Banner Enhancement */
.epp-offline-banner {
  border-left: 4px solid #ffc107;
}

/* EPP Proposal Card */
.epp-proposal-card {
  transition: box-shadow 0.2s;
}

.epp-proposal-card:hover {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

/* EPP Status Badges */
.epp-status-badge {
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
}

/* EPP Phase Navigation Pills */
.epp-phase-tabs .nav-link {
  position: relative;
  color: var(--bs-tertiary-color);
  background-color: var(--bs-light-bg-subtle);
  border: 1px solid var(--bs-border-color);
  border-bottom: none;
}

.epp-phase-tabs .nav-link:hover:not(.active) {
  background-color: var(--bs-danger-bg-subtle);
}

/* Explainer - friendly guidance text for users */
.explainer {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.5rem;
  border: 2px solid var(--bs-warning-border-subtle);
  border-radius: var(--bs-border-radius-xl);
  color: var(--bs-primary-text-emphasis);
}

/* Markdown content styling */
.markdown-content {
  line-height: 1.6;
}

.markdown-content p {
  margin-bottom: 0.5rem;
}

.markdown-content a {
  color: #0d6efd;
  text-decoration: underline;
}

.markdown-content ul, .markdown-content ol {
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
}

.markdown-content code {
  background: #f8f9fa;
  padding: 0.125rem 0.25rem;
  border-radius: 0.25rem;
}

/* Toast Notification Custom Colors - Override Bootstrap defaults */
.toast-header.bg-success {
  background-color: rgba(77, 101, 109, 0.65) !important; /* Match your brand color */
}

.toast-header.bg-info {
  background-color: #0dcaf0 !important; /* Bootstrap default info - can customize */
}

.toast-header.bg-warning {
  background-color: #ffc107 !important; /* Bootstrap default warning - can customize */
}

.toast-header.bg-danger {
  background-color: #dc3545 !important; /* Bootstrap default error - can customize */
}

.phase-badge {
  font-size: 0.875rem;
  padding: 0.5rem 1rem;
  border-radius: 20px;
}

.permission-action {
  display: none;
}

.permission-action.allowed {
  display: inline-block;
}

.tab-pane {
  min-height: 400px;
}

.tab-pane:not(.show):not(.active) {
  display: none !important;
}

.empty-value {
  color: #6c757d;
  font-style: italic;
}

/* EPP Markdown Display Field Styles (for details-review read-only mode) */
.markdown-rendered-content:empty::before {
  content: "No content provided";
  color: var(--bs-secondary);
  font-style: italic;
}

.markdown-rendered-content p:last-child {
  margin-bottom: 0;
}

/* Read-only markdown field buttons - subtle styling */
.field-edit-btn {
  font-size: 0.875rem;
  padding: 0.25rem 0.75rem;
}

.field-save-btn,
.field-cancel-btn {
  font-size: 0.875rem;
  padding: 0.375rem 0.75rem;
}

/* Preserve line breaks in user-submitted text content */
.preserve-linebreaks {
  white-space: pre-wrap;
  word-wrap: break-word;
}

.md-textarea-wrapper textarea.form-control {
  padding-bottom: 0.25rem;
}
