/* Contain floated day cells so each week row has real height (avoids clipped grid / footer overlap) */
#calendar {
	width: 100%;
	display: flow-root;
}

#calendar ul.weekdays,
#calendar ul.days {
	display: flow-root;
}

#calendar ul {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

#calendar li {
	display: block;
	float: left;
	width: 14.2857142857%;
	padding: 5px;
	box-sizing: border-box;
	border: 1px solid var(--border-color, #ccc);
	margin-right: -1px;
	margin-bottom: -1px;
	background-color: var(--bg-surface, #fff);
    position: relative;
}

#calendar ul.weekdays {
    height: 2em;
}

#calendar ul.weekdays li {
    text-align: center;
    border: none !important;
    border-top: 1px solid var(--border-subtle, lightgray) !important;
    background-color: var(--bg-surface, white);
	padding: -0.5 em !important;
}

#calendar .days li {
	height: 120px;
	overflow-x: auto;
}

#calendar .date {
	text-align: center;
	color: var(--text-color, #333);
	width: 26px;
	float: right;
	font-size: 12px;
    font-weight: 600;
}

#calendar .event {
	display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3px;
    margin: 3px 0;
    font-size: 12px;
    color: #333;
    border-radius: 5px;
	border: none !important;
}

#calendar .other-month {
	color: var(--text-muted, #666);
}

#calendar .today {
    background-color: #ebf2ff !important;
}

.badge-default {
	padding:4px !important;
	color: var(--text-color, black) !important;
}

.amendment-vote {
    background-color: #d6effc; /* Lighter Blue */
}

.liq-deadline {
    background-color: #e8dff0; /* Lighter Purple */
}

.approval-vote {
    background-color: #d9d9d9; /* Lighter Gray */
}

.ipo-date {
    background-color: #c9f7c9 !important; /* Lighter Green */
}
.amendment-vote  {
    background-color: #fcd6d6; /* Lighter Red */
}

@media(max-width: 768px) {
	#calendar .weekdays, #calendar .other-month {
		display: none;
	}

	#calendar li {
		height: auto !important;
		border: 1px solid var(--border-subtle, #ededed);
		width: 100%;
		padding: 2px;
		margin-bottom: -1px;
	}

	#calendar .date {
		float: none;
	}

}


/* Month-Year Title */
.month-year {
    font-size: 20px;
    font-weight: bold;
    margin: 0 10px;
    color: var(--text-color, inherit);
}

/* Navigation Buttons */
.btn-left, .btn-right {
    font-size: 18px;
    color: var(--text-color, black);
    text-decoration: none;
    margin: 0 10px;
}


/* Hover Effect */
.custom-btn:hover,
.custom-btn.active {
    background: var(--accent-hover, #013a55);
    border-color: var(--accent-hover, #013a55);
    color: white;
}

.month-center {
    flex-grow: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    order: 1;
}

@media (min-width: 746px) {
    .month-center {
        order: 0;
    }
}
@media (max-width: 768px) {
    .month-center {
      margin-left: 0 !important
  }
}

/* ===========================
   Dark Theme Overrides
   =========================== */

[data-theme="dark"] #calendar li {
  background-color: var(--bg-surface);
  border-color: var(--border-color);
}

[data-theme="dark"] #calendar ul.weekdays li {
  background-color: var(--bg-surface) !important;
  border-top-color: var(--border-color) !important;
  color: var(--text-color);
}

[data-theme="dark"] #calendar .date {
  color: var(--text-color);
}

[data-theme="dark"] #calendar .today {
  background-color: var(--accent-light) !important;
}

[data-theme="dark"] .badge-default {
  color: var(--text-color) !important;
}

[data-theme="dark"] .month-year {
  color: var(--text-color);
}

[data-theme="dark"] .amendment-vote {
  background-color: rgba(239, 68, 68, 0.2);
  color: #fca5a5;
}

[data-theme="dark"] .liq-deadline {
  background-color: rgba(168, 85, 247, 0.2);
  color: #d8b4fe;
}

[data-theme="dark"] .approval-vote {
  background-color: rgba(148, 163, 184, 0.2);
  color: #cbd5e1;
}

[data-theme="dark"] .ipo-date {
  background-color: rgba(34, 197, 94, 0.15) !important;
  color: #86efac;
}

[data-theme="dark"] #calendar .event {
  color: #fff;
}

[data-theme="dark"] #calendar a[style*="color: black"],
[data-theme="dark"] #calendar a[style*="color:black"] {
  color: var(--text-color) !important;
}

[data-theme="dark"] .btn-left,
[data-theme="dark"] .btn-right {
  color: var(--text-color);
}
