/* Dashboard, Saved Colleges, Notifications, Notes, Roster Delta
 * ----------------------------------------------------------------- */

/* Dashboard
 * ----------------------------------------------------------------- */
.dashboard {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2em;
  max-width: 1100px;
  margin: 0 auto;
  padding: 1em 0;
}

.dashboard-section {
  border-bottom: 1px solid var(--gray-800);
  padding-bottom: 2em;
}

.dashboard-section:last-child {
  border-bottom: none;
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1em;
}

.section-header h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.dashboard-colleges {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1em;
  list-style: none;
  padding: 0;
  margin: 0;
}

.dashboard-colleges .card {
  display: flex;
  align-items: center;
  gap: 0.75em;
  padding: 0.75em !important;
}

.dashboard-colleges .college-info h3 {
  font-size: 1rem;
  margin: 0 0 0.25em;
}

.dashboard-colleges .college-info h3 a {
  color: var(--gray-100);
  text-decoration: none;
}

.dashboard-colleges .college-info h3 a:hover {
  color: var(--color-primary);
}

.dashboard-colleges .meta {
  font-size: 0.8125rem;
  color: var(--gray-500);
  margin: 0;
}

.match-score-compact {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 0.875rem;
  color: white;
}

.match-score-compact.high { background-color: var(--green); }
.match-score-compact.medium { background-color: var(--yellow); color: var(--gray-200); }
.match-score-compact.low { background-color: var(--red); }

/* Opportunity list */
.opportunity-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75em;
}

.opportunity-item {
  display: flex;
  align-items: center;
  gap: 1em;
  padding: 0.75em !important;
}

.opportunity-score-display {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 1rem;
  color: white;
}

.opportunity-score-display.high { background-color: var(--green); }
.opportunity-score-display.medium { background-color: var(--yellow); color: var(--gray-200); }
.opportunity-score-display.low { background-color: var(--red); }

.opportunity-info h3 {
  font-size: 1rem;
  margin: 0 0 0.25em;
}

.opportunity-info h3 a {
  color: var(--gray-100);
  text-decoration: none;
}

.opportunity-info h3 a:hover {
  color: var(--color-primary);
}

.dashboard-actions {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
}

/* Activity feed */
.activity-feed {
  list-style: none;
  padding: 0;
  margin: 0;
}

.activity-item {
  display: flex;
  gap: 0.75em;
  padding: 0.75em 0;
  border-bottom: 1px solid var(--gray-900);
}

.activity-item:last-child {
  border-bottom: none;
}

.activity-item.unread {
  background-color: rgba(233, 51, 37, 0.03);
  padding-left: 0.5em;
  padding-right: 0.5em;
  border-radius: var(--radius-small);
}

.activity-content strong {
  display: block;
  margin-bottom: 0.25em;
}

.activity-content p {
  margin: 0 0 0.25em;
  font-size: 0.875rem;
  color: var(--gray-400);
}

.activity-meta {
  font-size: 0.75rem;
  color: var(--gray-500);
}

.notes-feed {
  list-style: none;
  padding: 0;
  margin: 0;
}

.note-feed-item {
  display: flex;
  gap: 0.75em;
  padding: 0.5em 0;
  border-bottom: 1px solid var(--gray-900);
}

.note-feed-item:last-child {
  border-bottom: none;
}

.note-feed-content strong a {
  color: var(--gray-100);
  text-decoration: none;
}

.note-feed-content strong a:hover {
  color: var(--color-primary);
}

.note-feed-content p {
  font-size: 0.875rem;
  color: var(--gray-400);
  margin: 0.25em 0;
}

.note-meta {
  font-size: 0.75rem;
  color: var(--gray-500);
}

/* Saved Colleges
 * ----------------------------------------------------------------- */
.saved-colleges-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.saved-college-summary {
  display: flex;
  align-items: center;
  gap: 1.5em;
}

.saved-college-summary .college-info {
  flex: 1;
  min-width: 0;
}

.saved-college-summary .college-info h2 {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 0.25em;
}

.saved-college-summary .college-info h2 a {
  color: var(--gray-100);
  text-decoration: none;
}

.saved-college-summary .college-info h2 a:hover {
  color: var(--color-primary);
}

.school-location {
  font-size: 0.875rem;
  color: var(--gray-500);
  margin: 0;
}

.notes-summary {
  flex-shrink: 0;
  text-align: right;
  font-size: 0.875rem;
  color: var(--gray-400);
}

.notes-summary .last-note {
  font-size: 0.75rem;
  color: var(--gray-500);
}

.match-score {
  flex-shrink: 0;
  text-align: center;
  padding: 0.5em 0.75em;
  border-radius: var(--radius-medium);
  color: white;
  font-weight: 700;
}

.match-score.high { background-color: var(--green); }
.match-score.medium { background-color: var(--yellow); color: var(--gray-200); }
.match-score.low { background-color: var(--red); }

.match-score .score {
  display: block;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
}

/* Saved College Detail
 * ----------------------------------------------------------------- */
.saved-college-detail {
  max-width: 800px;
}

.college-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1em;
  margin-bottom: 2em;
}

.college-header h1 {
  font-size: 1.75rem;
  margin: 0;
}

.breadcrumb {
  font-size: 0.875rem;
  color: var(--gray-500);
  margin-bottom: 1em;
}

.breadcrumb a {
  color: var(--gray-400);
}

.breadcrumb a:hover {
  color: var(--color-primary);
}

/* Timeline & Notes
 * ----------------------------------------------------------------- */
.timeline {
  margin-bottom: 2em;
}

.timeline h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1em;
}

.note-entry {
  display: flex;
  gap: 0.75em;
  padding: 0.75em 0;
  border-bottom: 1px solid var(--gray-900);
  align-items: flex-start;
}

.note-entry:last-child {
  border-bottom: none;
}

.note-badge,
.activity-badge {
  flex-shrink: 0;
  display: inline-block;
  padding: 0.2em 0.6em;
  border-radius: var(--radius-small);
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  background-color: var(--gray-900);
  color: var(--gray-400);
  white-space: nowrap;
}

.note-badge.coach_contact,
.activity-badge.commitment { background-color: #e8f4fd; color: #1a73e8; }
.note-badge.campus_visit { background-color: #e8f5e9; color: #2e7d32; }
.note-badge.camp_attendance { background-color: #fff3e0; color: #e65100; }
.note-badge.application_sent { background-color: #f3e5f5; color: #7b1fa2; }
.note-badge.offer_received { background-color: #e8f5e9; color: #1b5e20; }
.activity-badge.roster_change { background-color: #e8f4fd; color: #1a73e8; }
.activity-badge.coaching_change { background-color: #fff3e0; color: #e65100; }
.activity-badge.transfer { background-color: #f3e5f5; color: #7b1fa2; }

.note-content {
  flex: 1;
  min-width: 0;
}

.note-date {
  font-size: 0.75rem;
  color: var(--gray-500);
  margin: 0 0 0.25em;
}

.note-body {
  margin: 0;
  font-size: 0.9375rem;
}

.note-body p {
  margin: 0;
}

.note-actions {
  flex-shrink: 0;
  display: flex;
  gap: 0.5em;
}

/* Note form */
.note-form--inline {
  padding: 0.75em;
  background-color: var(--gray-950, rgba(255,255,255,0.02));
  border-radius: var(--radius-small);
  border: 1px solid var(--gray-800);
}

.note-form--inline .form-actions {
  display: flex;
  gap: 0.5em;
}

.note-form {
  margin-top: 1.5em;
  padding-top: 1.5em;
  border-top: 1px solid var(--gray-800);
}

.form-row {
  margin-bottom: 1em;
}

.form-row label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--gray-400);
  margin-bottom: 0.25em;
}

.form-row.checkbox {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.form-row.checkbox label {
  margin-bottom: 0;
  font-weight: normal;
  color: var(--gray-200);
}

.form-row select,
.form-row input[type="date"],
.form-row input[type="text"],
.form-row textarea {
  width: 100%;
  padding: 0.5em;
  border: 1px solid var(--gray-700);
  border-radius: var(--radius-small);
  font-size: 0.9375rem;
  font-family: inherit;
  background: var(--input-background);
}

.form-row textarea {
  resize: vertical;
}

.form-actions {
  margin-top: 1em;
}

.form-errors {
  background-color: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: var(--radius-small);
  padding: 0.75em;
  margin-bottom: 1em;
  color: #b91c1c;
  font-size: 0.875rem;
}

/* Roster Delta
 * ----------------------------------------------------------------- */
.roster-delta {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px solid var(--gray-800);
}

.roster-delta h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1em;
}

.delta-summary {
  display: flex;
  gap: 2em;
  margin-bottom: 1.5em;
}

.delta-stat {
  text-align: center;
}

.delta-stat .count {
  display: block;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1;
}

.delta-stat .count.positive { color: var(--green); }
.delta-stat .count.negative { color: var(--red); }
.delta-stat .count.neutral { color: var(--gray-400); }

.delta-stat .label {
  font-size: 0.75rem;
  text-transform: uppercase;
  color: var(--gray-500);
  font-weight: 600;
}

details {
  margin-bottom: 1em;
}

details summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9375rem;
  padding: 0.5em 0;
  color: var(--gray-300);
}

details summary:hover {
  color: var(--color-primary);
}

.delta-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  margin-top: 0.5em;
}

.delta-table th,
.delta-table td {
  padding: 0.5em 0.75em;
  text-align: left;
  border-bottom: 1px solid var(--gray-900);
}

.delta-table th {
  font-size: 0.75rem;
  text-transform: uppercase;
  color: var(--gray-500);
  font-weight: 600;
}

.delta-table td.positive { color: var(--green); font-weight: 600; }
.delta-table td.negative { color: var(--red); font-weight: 600; }

/* Notifications
 * ----------------------------------------------------------------- */
.notifications-page {
  max-width: 800px;
  margin: 0 auto;
}

.notifications-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5em;
}

.notifications-header h1 {
  margin: 0;
}

.notifications-actions {
  display: flex;
  gap: 0.5em;
}

.notifications-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.notification-item {
  display: flex;
  gap: 0.75em;
  padding: 0.75em 0.5em;
  border-bottom: 1px solid var(--gray-900);
  align-items: flex-start;
  border-radius: var(--radius-small);
}

.notification-item.unread {
  background-color: rgba(233, 51, 37, 0.03);
}

.notification-content {
  flex: 1;
  min-width: 0;
}

.notification-content h3 {
  font-size: 1rem;
  margin: 0 0 0.25em;
}

.notification-content p {
  margin: 0 0 0.25em;
  font-size: 0.875rem;
  color: var(--gray-400);
}

.notification-meta {
  font-size: 0.75rem;
  color: var(--gray-500);
}

.notification-badge {
  flex-shrink: 0;
  display: inline-block;
  padding: 0.2em 0.6em;
  border-radius: var(--radius-small);
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  background-color: var(--gray-900);
  color: var(--gray-400);
  white-space: nowrap;
}

.notification-badge.roster_change { background-color: #e8f4fd; color: #1a73e8; }
.notification-badge.commitment { background-color: #e8f5e9; color: #2e7d32; }
.notification-badge.coaching_change { background-color: #fff3e0; color: #e65100; }
.notification-badge.transfer { background-color: #f3e5f5; color: #7b1fa2; }
.notification-badge.position_gap { background-color: #fce4ec; color: #c62828; }

.notification-actions {
  flex-shrink: 0;
}

/* Shared
 * ----------------------------------------------------------------- */
.empty-state {
  text-align: center;
  padding: 2em;
  color: var(--gray-400);
}

.empty-state h2 {
  color: var(--gray-300);
  margin-bottom: 0.5em;
}

.empty-state a {
  color: var(--color-primary);
}

.btn--small {
  font-size: 0.8125rem;
  padding: 0.25em 0.75em;
}

.btn--danger {
  --btn-background: transparent;
  --btn-border-color: var(--color-negative);
  color: var(--color-negative);
}

.btn--danger:hover {
  --btn-background: var(--color-negative);
  color: white;
}

/* Notification badge in header */
.badge {
  font-size: 0.6875rem;
  padding: 0.1em 0.5em;
  border-radius: 9999px;
  background-color: var(--color-primary);
  color: white;
  font-weight: 700;
}

/* Intelligence Sections
 * ----------------------------------------------------------------- */
.intel-section {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px solid var(--gray-800);
}

.intel-section h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}

.intel-meta {
  font-size: 0.8125rem;
  color: var(--gray-500);
  margin: 0 0 1em;
}

.intel-summary {
  font-size: 0.9375rem;
  color: var(--gray-300);
  margin: 1em 0;
}

.intel-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  margin-bottom: 1em;
}

.intel-stat {
  text-align: center;
  min-width: 80px;
}

.intel-value {
  display: block;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
  color: var(--gray-100);
}

.intel-label {
  font-size: 0.6875rem;
  text-transform: uppercase;
  color: var(--gray-500);
  font-weight: 600;
  margin-top: 0.25em;
  display: block;
}

.coach-name {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--gray-200);
  margin: 0 0 0.25em;
}

.opportunity-score {
  font-size: 1.75rem;
}

.opportunity-score.high { color: var(--green); }
.opportunity-score.medium { color: var(--yellow); }
.opportunity-score.low { color: var(--red); }

.risk-badge {
  display: inline-block;
  padding: 0.15em 0.5em;
  border-radius: var(--radius-small);
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
}

.risk-badge.risk-high { background-color: #fef2f2; color: #c62828; }
.risk-badge.risk-medium { background-color: #fff3e0; color: #e65100; }
.risk-badge.risk-low { background-color: #e8f5e9; color: #2e7d32; }

.prediction-factors {
  font-size: 0.75rem;
  color: var(--gray-500);
}

/* Compare Intelligence Rows
 * ----------------------------------------------------------------- */
.compare-intel {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid var(--gray-800);
}

.compare-intel-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.3em 0;
  font-size: 0.8125rem;
}

.compare-intel-label {
  color: var(--gray-400);
}

.compare-intel-value {
  font-weight: 700;
  color: var(--gray-200);
}

/* Recruiting Report
 * ----------------------------------------------------------------- */
.recruiting-report {
  max-width: 900px;
  margin: 0 auto;
  padding: 1em 0;
}

.report-header {
  margin-bottom: 2em;
}

.report-header h1 {
  font-size: 2rem;
  margin: 0;
}

.report-subtitle {
  font-size: 1.125rem;
  color: var(--gray-400);
  margin: 0.25em 0;
}

.report-meta {
  font-size: 0.8125rem;
  color: var(--gray-500);
  margin: 0.5em 0;
}

.report-actions {
  display: flex;
  gap: 0.5em;
  margin-top: 1em;
}

.share-controls {
  margin-top: 1em;
  padding: 1em;
  border-radius: var(--radius-small);
  background-color: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--gray-800);
}

.share-label {
  font-size: 0.8125rem;
  color: var(--gray-400);
  margin: 0 0 0.5em;
}

.share-url-row {
  display: flex;
  gap: 0.5em;
  margin-bottom: 0.75em;
}

.share-url-input {
  flex: 1;
  padding: 0.4em 0.6em;
  font-size: 0.8125rem;
  font-family: monospace;
  background: var(--input-background, var(--gray-950));
  border: 1px solid var(--gray-700);
  border-radius: var(--radius-small);
  color: var(--gray-300);
  cursor: pointer;
}

.share-hint {
  font-size: 0.8125rem;
  color: var(--gray-500);
  margin-left: 0.5em;
}

.report-highlight {
  padding: 1em;
  border-radius: var(--radius-medium);
  background-color: rgba(233, 51, 37, 0.05);
  border: 1px solid var(--gray-800);
  margin-bottom: 2em;
}

.report-highlight h2 {
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--gray-500);
  margin: 0 0 0.5em;
  font-weight: 600;
}

.report-program {
  margin-bottom: 1.5em;
  padding: 1.25em !important;
}

.report-program-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1em;
  margin-bottom: 1em;
}

.report-program-header h2 {
  font-size: 1.25rem;
  margin: 0;
}

.report-program-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.5em;
  align-items: start;
}

.report-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
  margin: 0;
}

.report-stat {
  min-width: 80px;
}

.report-stat dt {
  font-size: 0.6875rem;
  text-transform: uppercase;
  color: var(--gray-500);
  font-weight: 600;
}

.report-stat dd {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--gray-200);
  margin: 0;
}

.report-program-gaps h3 {
  font-size: 0.8125rem;
  text-transform: uppercase;
  color: var(--gray-500);
  font-weight: 600;
  margin: 0 0 0.5em;
}

.gap-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.gap-list li {
  font-size: 0.875rem;
  padding: 0.2em 0;
  color: var(--gray-300);
}

.gap-count {
  font-weight: 700;
  color: var(--red);
  margin-right: 0.25em;
}

.report-notes-summary {
  font-size: 0.8125rem;
  color: var(--gray-500);
  margin: 1em 0 0;
  padding-top: 0.75em;
  border-top: 1px solid var(--gray-900);
}

.report-footer {
  text-align: center;
  font-size: 0.75rem;
  color: var(--gray-600);
  margin-top: 2em;
  padding-top: 1em;
  border-top: 1px solid var(--gray-900);
}

/* Outreach Templates
 * ----------------------------------------------------------------- */
.outreach-templates {
  max-width: 800px;
  margin: 0 auto;
}

.outreach-meta {
  font-size: 0.875rem;
  color: var(--gray-500);
  margin: 0.25em 0 2em;
}

.template-card {
  margin-bottom: 1.5em;
  padding: 1.25em !important;
}

.template-card h2 {
  font-size: 1.125rem;
  margin: 0 0 1em;
}

.template-field {
  margin-bottom: 1em;
}

.template-field label {
  display: block;
  font-size: 0.6875rem;
  text-transform: uppercase;
  color: var(--gray-500);
  font-weight: 600;
  margin-bottom: 0.25em;
}

.template-copyable {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.template-copyable code {
  flex: 1;
  padding: 0.4em 0.6em;
  background: var(--gray-950, rgba(0,0,0,0.2));
  border: 1px solid var(--gray-800);
  border-radius: var(--radius-small);
  font-size: 0.875rem;
  color: var(--gray-200);
}

.template-body {
  padding: 1em;
  background: var(--gray-950, rgba(0,0,0,0.2));
  border: 1px solid var(--gray-800);
  border-radius: var(--radius-small);
  font-size: 0.875rem;
  color: var(--gray-300);
  line-height: 1.6;
  margin-bottom: 0.5em;
  white-space: pre-wrap;
}

/* Recruiting Calendar
 * ----------------------------------------------------------------- */
.recruiting-calendar {
  max-width: 800px;
  margin: 0 auto;
  padding: 1em 0;
}

.calendar-header h1 { margin: 0; }

.calendar-meta {
  font-size: 0.875rem;
  color: var(--gray-500);
  margin: 0.25em 0 1em;
}

.calendar-next-up {
  margin-bottom: 2em;
}

.calendar-next-up h2 {
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--gray-500);
  font-weight: 600;
  margin-bottom: 0.75em;
}

.next-milestone {
  display: flex;
  align-items: flex-start;
  gap: 1em;
  padding: 1em !important;
}

.milestone-content h3 {
  font-size: 1.125rem;
  margin: 0 0 0.25em;
}

.milestone-date {
  font-size: 0.875rem;
  color: var(--gray-400);
  margin: 0 0 0.5em;
}

.milestone-desc {
  font-size: 0.875rem;
  color: var(--gray-300);
  margin: 0;
}

.calendar-events h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1em;
}

.month-label {
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--gray-500);
  font-weight: 600;
  padding-bottom: 0.5em;
  border-bottom: 1px solid var(--gray-800);
  margin: 1.5em 0 0.5em;
}

.event-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.event-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75em;
  padding: 0.75em 0;
  border-bottom: 1px solid var(--gray-900);
}

.event-item:last-child { border-bottom: none; }

.event-date {
  flex-shrink: 0;
  width: 50px;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--gray-300);
}

.event-content {
  flex: 1;
  min-width: 0;
}

.event-content strong {
  display: inline;
  font-size: 0.9375rem;
}

.event-division {
  font-size: 0.6875rem;
  color: var(--gray-500);
  margin-left: 0.5em;
}

.event-content p {
  font-size: 0.8125rem;
  color: var(--gray-400);
  margin: 0.25em 0 0;
}

.calendar-badge {
  flex-shrink: 0;
  display: inline-block;
  padding: 0.15em 0.5em;
  border-radius: var(--radius-small);
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  white-space: nowrap;
  background-color: var(--gray-900);
  color: var(--gray-400);
}

.calendar-badge.signing { background-color: #e8f5e9; color: #1b5e20; }
.calendar-badge.contact_period { background-color: #e8f4fd; color: #1a73e8; }
.calendar-badge.dead_period { background-color: #fef2f2; color: #c62828; }
.calendar-badge.evaluation { background-color: #fff3e0; color: #e65100; }
.calendar-badge.quiet_period { background-color: #f3e5f5; color: #7b1fa2; }
.calendar-badge.general { background-color: var(--gray-900); color: var(--gray-400); }

@media print {
  .no-print { display: none !important; }

  .recruiting-report { max-width: 100%; }

  .report-program {
    break-inside: avoid;
    border: 1px solid #ddd !important;
    background: white !important;
  }
}

/* Responsive
 * ----------------------------------------------------------------- */
@media (max-width: 768px) {
  .dashboard-colleges {
    grid-template-columns: 1fr;
  }

  .saved-college-summary {
    flex-wrap: wrap;
  }

  .college-header {
    flex-direction: column;
  }

  .delta-summary {
    gap: 1em;
  }

  .notifications-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5em;
  }

  .intel-grid {
    gap: 1em;
  }
}
