/*
 * TutorDA brand override for the RosarioSIS FlatSIS theme.
 * Loaded after stylesheet.css so it wins the cascade.
 * Goal: make sis.tutorda.org feel like the rest of tutorda.org
 *   - Orbitron headings, Poppins body, JetBrains Mono for numerics
 *   - Dark navy background with orange + gold accents
 *   - Match button / link / table styling to the main site
 */

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@700;900&family=Poppins:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  --tda-dark:    #0d0d1a;
  --tda-card:    #141428;
  --tda-card2:   #1a1a35;
  --tda-text:    #e8e8ff;
  --tda-muted:   #7878a0;
  --tda-border:  rgba(255,140,0,.18);
  --tda-accent:  #ff8c00;
  --tda-accent2: #ffd700;
  --tda-success: #22c55e;
  --tda-error:   #ef4444;
  --tda-cyan:    #00e5ff;
}

/* ── Base ── */
html, body {
  background: radial-gradient(ellipse at 20% 50%,#1a0a3d 0%,transparent 60%),
              radial-gradient(ellipse at 80% 20%,#0d1a3d 0%,transparent 50%),
              var(--tda-dark) !important;
  color: var(--tda-text) !important;
  font-family: 'Poppins', system-ui, sans-serif !important;
  font-size: 14px;
}

/* ════════════════════════════════════════════════════════════════
 * VISIBILITY FLOOR — must come before the more specific rules below
 * Forces every text-bearing element across every SIS page to render
 * in light text on the dark theme. Class-/id-based rules later in
 * this file (with !important) still beat this because their
 * specificity is higher; this only catches the unstyled / FlatSIS-
 * default-coloured elements that would otherwise read as dark-on-dark.
 * ════════════════════════════════════════════════════════════════ */
body, body p, body span, body div, body td, body th, body tr, body li, body ul, body ol,
body label, body legend, body fieldset, body caption, body figcaption, body small, body big,
body b, body strong, body em, body i, body u, body s, body sub, body sup,
body h1, body h2, body h3, body h4, body h5, body h6,
body code, body kbd, body samp, body var, body cite, body abbr, body dfn,
body dt, body dd, body blockquote, body pre, body address, body article, body section,
body aside, body header, body footer, body main, body nav, body details, body summary,
body figure, body picture, body time, body mark, body q,
body font {
  color: var(--tda-text) !important;
}
body a, body a:visited { color: var(--tda-accent2) !important; }
body a:hover, body a:focus { color: var(--tda-accent) !important; }
/* Inline FONT colour kludges (legacy / addon code) */
body font[color], body [color] { color: var(--tda-text) !important; }
/* Common dark-on-dark inline-style hacks */
body [style*="color:#000"], body [style*="color: #000"],
body [style*="color:black"], body [style*="color: black"],
body [style*="color:#222"], body [style*="color: #222"],
body [style*="color:#333"], body [style*="color: #333"],
body [style*="color:#444"], body [style*="color: #444"],
body [style*="color:#555"], body [style*="color: #555"],
body [style*="color:#666"], body [style*="color: #666"] {
  color: var(--tda-text) !important;
}
/* Form values default to pure white for max contrast */
body input, body textarea, body select { color: #ffffff !important; }
body input::placeholder, body textarea::placeholder { color: var(--tda-muted) !important; }

h1, h2, h3, h4, h5, h6,
.menutitle,
#header h1, #header .header-title,
.postbox h2 {
  font-family: 'Orbitron', sans-serif !important;
  letter-spacing: .02em;
  color: var(--tda-text);
}

a, a:visited {
  color: var(--tda-accent2);
}
a:hover, a:focus {
  color: var(--tda-accent);
  text-decoration: underline;
}

/* ── Login page ── */
body.login {
  min-height: 100vh;
}
body.login #login,
body.login .postbox-wrapper {
  background: rgba(20,20,40,.92) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(255,140,0,.04) !important;
  padding: 28px !important;
  max-width: 460px;
  margin: 40px auto !important;
}
body.login h4.center {
  font-family: 'Orbitron', sans-serif !important;
  font-size: 1.1rem;
  background: linear-gradient(135deg,#fff 0%,var(--tda-accent) 60%,var(--tda-accent2) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 8px 0 18px !important;
}
body.login .button-primary,
body.login input[type=submit] {
  width: 100%;
  margin-top: 10px;
}

/* ── Header / top bar ── */
#footer.mod, #footer {
  background: rgba(13,13,26,.96) !important;
  border-bottom: 1px solid var(--tda-border) !important;
  box-shadow: 0 1px 24px rgba(0,0,0,.5);
}
#header, .menutitle, #footer .top-menu {
  background: transparent !important;
  color: var(--tda-text) !important;
}

/* ── Sidebar / menu ── */
#menu, aside#menu, #menu.mod {
  background: rgba(20,20,40,.95) !important;
  border-right: 1px solid var(--tda-border) !important;
  color: var(--tda-text) !important;
}
#menu a, #menu .menutitle a {
  color: var(--tda-text) !important;
  text-decoration: none;
}
#menu a:hover, #menu .menutitle a:hover,
#menu li.current > a, #menu li.current > div {
  color: var(--tda-accent) !important;
  background: rgba(255,140,0,.08) !important;
}
#menu .module-name, #menu .submenu-name {
  font-family: 'Orbitron', sans-serif;
  letter-spacing: .04em;
}

/* ── Main content area ── */
#wrap, #body, #body.mod, #content, #main {
  background: transparent !important;
  color: var(--tda-text) !important;
}
/* Top header band on every module page (the white bar above main content) */
table.header, tr.header, td.header1, td.header2,
#header, .top-menu, .modules-header, .footer.mod {
  background: rgba(13,13,26,.85) !important;
  color: var(--tda-text) !important;
  border-bottom: 1px solid var(--tda-border) !important;
}
table.header h2, td.header1 h2 {
  color: var(--tda-accent) !important;
  font-family: 'Orbitron', sans-serif !important;
  font-size: 1rem !important;
  letter-spacing: .04em;
  margin: 6px 0 !important;
}
.postbox, .postbox-wrapper, table.postbox {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.25) !important;
  padding: 18px !important;
}
/* Catch-all: any TR/TD/THEAD inside the content with cream/white default
   that hasn't been targeted specifically gets a transparent bg so the
   page-level dark gradient shows through. */
#body table:not(#calendar):not(.postbox) > tbody > tr,
#body table:not(#calendar):not(.postbox) > tbody > tr > td,
#body table:not(#calendar):not(.postbox) > thead > tr,
#body table:not(#calendar):not(.postbox) > thead > tr > th,
#body table:not(#calendar):not(.postbox) > tfoot > tr > td {
  background-color: transparent;
  color: var(--tda-text);
}
/* But preserve the postbox card look */
#body table.postbox, #body table.postbox > tbody > tr,
#body table.postbox > tbody > tr > td {
  background-color: var(--tda-card) !important;
}
.postbox th, .postbox h2 {
  background: transparent !important;
  color: var(--tda-accent) !important;
  border-bottom: 1px solid var(--tda-border) !important;
  font-family: 'Orbitron', sans-serif !important;
  font-size: .82rem !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ── Tables ── */
table {
  color: var(--tda-text);
  border-collapse: collapse;
}
table th {
  background: rgba(255,140,0,.08) !important;
  color: var(--tda-accent) !important;
  border-bottom: 1px solid var(--tda-border) !important;
  font-family: 'Orbitron', sans-serif !important;
  font-size: .72rem !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 10px 12px !important;
}
table td {
  border-top: 1px solid rgba(255,140,0,.08) !important;
  padding: 9px 12px !important;
  color: var(--tda-text) !important;
}
table tr:nth-child(even) td { background: rgba(255,140,0,.03) !important; }
table tr:hover td { background: rgba(255,140,0,.07) !important; }

/* numeric / id columns */
.cellspacing-0 td.right, .cellspacing-0 td.center small,
td.id-col, td.gpa, .number, .price {
  font-family: 'JetBrains Mono', monospace !important;
}

/* ── Forms ── */
input[type=text], input[type=number], input[type=email], input[type=tel],
input[type=search], input[type=url], input[type=password], input[type=date],
input[type=time], input[type=datetime-local],
textarea, select {
  background: rgba(0,0,0,.3) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 8px !important;
  color: #ffffff !important;             /* explicit pure white so no descendant rule wins */
  font-family: 'Poppins', sans-serif !important;
  font-size: .9rem !important;
  padding: 9px 12px !important;           /* tighter padding around the value */
  line-height: 1.15;
  min-height: 36px;
  outline: none !important;
  transition: border-color .15s, box-shadow .15s;
  color-scheme: dark;     /* tells browsers to use dark UI for the dropdown */
}
input:focus, textarea:focus, select:focus {
  border-color: var(--tda-accent) !important;
  box-shadow: 0 0 0 3px rgba(255,140,0,.18) !important;
}
input::placeholder, textarea::placeholder { color: var(--tda-muted) !important; }

/* Native <select>: force visible value + custom orange chevron, dark options. */
select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  padding-right: 36px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ff8c00' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 14px 14px !important;
  background-color: rgba(0,0,0,.4) !important;   /* override the rgba(0,0,0,.3) so the displayed value contrasts */
  text-shadow: none !important;
  color: #ffffff !important;
  font-weight: 600;
}
select option, select optgroup {
  background: #141428 !important;
  color: #e8e8ff !important;
  font-family: 'Poppins', sans-serif !important;
  padding: 6px 10px !important;
}
select option:checked, select option:hover {
  background: rgba(255,140,0,.18) !important;
  color: var(--tda-accent2) !important;
}
/* Sidebar selects (school / syear / mp) get a dedicated darker chip look */
#mp, #school, #syear, #menu-top select, #menu-top form select {
  width: 100% !important;
  margin: 6px 0 !important;
  background-color: rgba(20,20,40,.85) !important;
  border-color: rgba(255,140,0,.25) !important;
  color: #fff !important;
  font-weight: 600;
}

label, .legend-gray, legend {
  color: var(--tda-muted) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500;
}

/* ── Buttons ── */
.button-primary, input[type=submit], input[type=button], button.button-primary,
input.button-primary {
  background: linear-gradient(135deg, var(--tda-accent), var(--tda-accent2)) !important;
  color: #0d0d1a !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  padding: 9px 22px !important;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s;
  text-shadow: none !important;
}
.button-primary:hover, input[type=submit]:hover, input[type=button]:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(255,140,0,.32) !important;
}

button, .button {
  background: transparent !important;
  color: var(--tda-accent) !important;
  border: 1.5px solid var(--tda-accent) !important;
  border-radius: 999px !important;
  font-family: 'Poppins', sans-serif !important;
  padding: 7px 18px !important;
  cursor: pointer;
}
button:hover, .button:hover {
  background: rgba(255,140,0,.08) !important;
}

/* ── Tabs ── */
.tabs, .nav-tab-wrapper {
  border-bottom: 1px solid var(--tda-border) !important;
}
.nav-tab, .tab a {
  background: transparent !important;
  color: var(--tda-muted) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  font-family: 'Orbitron', sans-serif !important;
  font-size: .72rem !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 8px 14px !important;
}
.nav-tab:hover, .tab a:hover { color: var(--tda-accent) !important; }
.nav-tab-active, .tab.active a, .nav-tab.nav-tab-active {
  color: var(--tda-accent) !important;
  border-bottom-color: var(--tda-accent) !important;
}

/* ── Boxes / notices ── */
.notice, .updated, .message, .info {
  background: rgba(0,229,255,.08) !important;
  border: 1px solid rgba(0,229,255,.25) !important;
  color: var(--tda-text) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
}
.error, div.error {
  background: rgba(239,68,68,.08) !important;
  border: 1px solid rgba(239,68,68,.3) !important;
  color: var(--tda-text) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
}
.success {
  background: rgba(34,197,94,.08) !important;
  border: 1px solid rgba(34,197,94,.3) !important;
  color: var(--tda-text) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
}
.note {
  background: rgba(255,215,0,.06) !important;
  border: 1px solid rgba(255,215,0,.25) !important;
  color: var(--tda-text) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
}

/* ── Date-picker calendar (the JS popup widget) ── */
div.calendar, .calendar, .calendar table {
  background: var(--tda-card) !important;
  color: #ffffff !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.55) !important;
  overflow: hidden;
  font-family: 'Poppins', sans-serif !important;
}
/* Header row with « ‹ Month › » nav */
.calendar thead .title {
  background: linear-gradient(135deg, var(--tda-accent), var(--tda-accent2)) !important;
  color: #0d0d1a !important;
  font-family: 'Orbitron', sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .04em;
  padding: 6px !important;
}
.calendar thead .nav,
.calendar thead .headrow td,
.calendar thead .button {
  background: rgba(13,13,26,.85) !important;
  color: var(--tda-accent) !important;
  font-weight: 700;
  text-align: center;
  padding: 4px 6px !important;
  cursor: pointer;
}
.calendar thead .nav:hover,
.calendar thead .button:hover,
.calendar thead .hilite {
  background: rgba(255,140,0,.18) !important;
  color: var(--tda-accent2) !important;
  border: 1px solid var(--tda-accent) !important;
}
.calendar thead .active { background: var(--tda-accent) !important; color: #0d0d1a !important; }
/* Day-name row (Sun Mon Tue ...) */
.calendar thead .daynames,
.calendar thead .daynames td,
.calendar thead .name {
  background: rgba(255,140,0,.10) !important;
  color: #ffffff !important;
  font-family: 'Orbitron', sans-serif !important;
  font-size: .7rem !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 6px 4px !important;
  border-bottom: 1px solid var(--tda-border) !important;
}
.calendar thead .name.weekend { color: var(--tda-accent2) !important; }
/* Week-number column (.wn) */
.calendar table .wn,
.calendar tbody .rowhilite td.wn {
  background: rgba(0,229,255,.10) !important;
  color: var(--tda-cyan) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .72rem !important;
  border-right: 1px solid var(--tda-border) !important;
}
/* Body day cells */
.calendar tbody td,
.calendar tbody .day {
  background: transparent !important;
  color: #ffffff !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .85rem !important;
  text-align: center !important;
  padding: 5px 6px !important;
  cursor: pointer;
}
.calendar tbody .day.othermonth { color: var(--tda-muted) !important; opacity: .55; }
.calendar tbody .day.othermonth.oweekend { color: rgba(255,215,0,.4) !important; }
.calendar tbody td.weekend, .calendar tbody .weekend { color: var(--tda-accent2) !important; }
.calendar tbody td.today {
  color: var(--tda-accent) !important;
  font-weight: 900;
  border: 1px solid var(--tda-accent) !important;
  border-radius: 4px;
}
.calendar tbody td.selected {
  background: var(--tda-accent) !important;
  color: #0d0d1a !important;
  font-weight: 900;
  border-radius: 4px;
}
.calendar tbody td.hilite,
.calendar tbody .rowhilite td {
  background: rgba(255,140,0,.12) !important;
  color: var(--tda-accent2) !important;
  border: 1px solid rgba(255,140,0,.4) !important;
  border-radius: 4px;
}
.calendar tbody td.active { background: rgba(255,140,0,.25) !important; color: #ffffff !important; }
.calendar tbody .disabled { color: var(--tda-muted) !important; opacity: .35; cursor: not-allowed; }
.calendar tbody .emptycell { visibility: hidden; background: transparent !important; }
/* Footer row with Today link / tooltip */
.calendar tfoot,
.calendar tfoot .footrow,
.calendar tfoot .footrow td,
.calendar tfoot .ttip {
  background: rgba(13,13,26,.95) !important;
  color: var(--tda-accent) !important;
  font-family: 'Orbitron', sans-serif !important;
  font-size: .7rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  border-top: 1px solid var(--tda-border) !important;
  padding: 6px !important;
}
.calendar tfoot .hilite {
  background: var(--tda-accent) !important;
  color: #0d0d1a !important;
  border: none !important;
}
/* Combo dropdown (month / year picker inside the calendar) */
.calendar .combo {
  background: var(--tda-card) !important;
  color: #ffffff !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.55) !important;
}
.calendar .combo .label,
.calendar .combo .label-IEfix {
  color: #ffffff !important;
  padding: 4px 10px !important;
  font-family: 'JetBrains Mono', monospace !important;
}
.calendar .combo .label.hilite,
.calendar .combo .active {
  background: var(--tda-accent) !important;
  color: #0d0d1a !important;
}

/* ── Month-view calendar grid (#calendar in School_Setup/Calendar.php) ── */
table#calendar {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 12px !important;
  border-collapse: separate !important;
  border-spacing: 2px !important;
  color: var(--tda-text) !important;
  margin-top: 10px;
}
table#calendar thead {
  background: rgba(13,13,26,.9) !important;
}
table#calendar thead th, table#calendar thead tr.center th {
  background: rgba(255,140,0,.10) !important;
  color: #ffffff !important;
  font-family: 'Orbitron', sans-serif !important;
  font-size: .78rem !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 12px 6px !important;
  border: none !important;
  border-bottom: 1px solid var(--tda-border) !important;
}
table#calendar td.calendar-day,
table#calendar td.calendar-day > table {
  background: var(--tda-card2) !important;
  color: var(--tda-text) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 8px !important;
  vertical-align: top;
  min-height: 90px;
  height: 90px;
}
table#calendar td.calendar-day > table {
  width: 100%;
  border: none !important;
  background: transparent !important;
}
table#calendar td.calendar-day > table td {
  border: none !important;
  background: transparent !important;
  padding: 4px 6px !important;
}
/* Day-of-month number */
table#calendar td.calendar-day td:first-child,
table#calendar td.calendar-day td.calendar-day-number {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 1.15rem !important;
  font-weight: 700;
  color: #ffffff !important;
  text-align: left;
}
/* Anything inside a calendar cell defaults to white now */
table#calendar td.calendar-day,
table#calendar td.calendar-day td,
table#calendar td.calendar-day a,
table#calendar td.calendar-day span,
table#calendar td.calendar-day div {
  color: #ffffff !important;
}
table#calendar td.calendar-day a:hover { color: var(--tda-accent2) !important; }
/* Variant day classes (full / minutes / no-school) */
table#calendar td.calendar-day.full,
table#calendar td.calendar-day.full > table {
  background: var(--tda-card2) !important;
  border-left: 3px solid var(--tda-success) !important;
}
table#calendar td.calendar-day.minutes,
table#calendar td.calendar-day.minutes > table {
  background: rgba(255,215,0,.06) !important;
  border-left: 3px solid var(--tda-accent2) !important;
}
table#calendar td.calendar-day.no-school,
table#calendar td.calendar-day.no-school > table {
  background: rgba(60,60,90,.4) !important;
  border-left: 3px solid var(--tda-error) !important;
  opacity: .65;
}
table#calendar td.calendar-day.today-date,
table#calendar td.calendar-day.today-date > table {
  border: 2px solid var(--tda-accent) !important;
  box-shadow: 0 0 0 1px rgba(255,140,0,.3), 0 0 12px rgba(255,140,0,.25);
}
/* Empty cells before day 1 / after end-of-month */
table#calendar td.calendar-skip {
  background: rgba(20,20,40,.4) !important;
  border: 1px dashed rgba(255,140,0,.08) !important;
  border-radius: 8px;
}
/* Calendar minutes input/cell on the right of the day number — white field */
table#calendar td.calendar-minutes {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .76rem !important;
  text-align: right;
}
table#calendar td.calendar-minutes input,
table#calendar td.calendar-minutes select {
  background: #ffffff !important;
  color: #1a1a2e !important;
  border: 1px solid rgba(255,140,0,.3) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 600;
  padding: 4px 6px !important;
  min-height: 26px !important;
  border-radius: 6px !important;
  text-align: right;
}
/* New event "+ Add" pill at the bottom of every day cell — white pill */
table#calendar tr.calendar-newevent td {
  font-size: .76rem;
  color: #ffffff !important;
}
table#calendar tr.calendar-newevent a,
table#calendar tr.calendar-newevent button,
table#calendar tr.calendar-newevent .button {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  background: #ffffff !important;
  color: #1a1a2e !important;
  border: 1.5px solid var(--tda-accent) !important;
  border-radius: 999px !important;
  padding: 3px 14px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700;
  font-size: .9rem !important;
  text-decoration: none !important;
  transition: background .15s, color .15s;
}
table#calendar tr.calendar-newevent a:hover,
table#calendar tr.calendar-newevent button:hover {
  background: var(--tda-accent) !important;
  color: #ffffff !important;
}
/* Some +/x button images use the FlatSIS BottomButton class — keep them white */
table#calendar .BottomButton, table#calendar img.button {
  filter: brightness(0) invert(1) !important;  /* force the icon white */
}

/* ──────────────────────────────────────────────────────────────
 * Global icon-button whitening
 * Any FlatSIS image-button (<img class="button" src=".../btn/*.png">),
 * .BottomButton, the MD markdown toggle, the calendar-picker trigger,
 * and any small icon used inside a clickable pill — all rendered as
 * white so they read on the dark theme.
 * ────────────────────────────────────────────────────────────── */
img.button,
.BottomButton,
.BottomButton img,
button img,
a img.button,
.button img,
input.button-prompt-cancel,
img[src*="/btn/"],
img[src*="/icons/"],
img[src*="/button/"],
.md-link img,
a.colorbox img.button,
.calendar-newevent img {
  filter: brightness(0) invert(1) !important;
  opacity: .92;
}
img.button:hover,
.BottomButton:hover img,
button:hover img,
.calendar-newevent a:hover img,
img[src*="/btn/"]:hover {
  opacity: 1;
  filter: brightness(0) invert(1) drop-shadow(0 0 6px rgba(255,140,0,.6)) !important;
}

/* The MD (markdown) toggle pill — text + icon white */
.md-link, a.md-link, .md-link b, .md-link span {
  color: #ffffff !important;
}
.md-link.active, a.md-link.active { color: var(--tda-accent2) !important; }

/* Date-picker trigger button (the calendar "7" icon next to date fields) */
img.cal-button, img[src*="cal_date.png"], img[src*="calendar.png"],
.field-calendar-button, a.calendar-button img {
  filter: brightness(0) invert(1) !important;
}
/* Event chips inside a day */
table#calendar td.calendar-event {
  background: rgba(255,140,0,.10) !important;
  border-left: 3px solid var(--tda-accent) !important;
  color: var(--tda-text) !important;
  border-radius: 4px;
  padding: 4px 6px !important;
  font-size: .72rem;
}
/* Legend squares at the bottom */
.legend-square.full    { background: var(--tda-success) !important; }
.legend-square.minutes { background: var(--tda-accent2) !important; }
.legend-square.no-school { background: var(--tda-error) !important; }

/* ── Top toolbar selects (Month / Year / Category pickers above the grid) ── */
.calendar-menu, .calendar-newevent select,
form select[name="month"], form select[name="year"],
form select[name="course_period_id"], form select[name="category_id"] {
  background-color: rgba(20,20,40,.85) !important;
  border-color: rgba(255,140,0,.25) !important;
  color: #fff !important;
}

/* ── Misc bits ── */
hr { border: none; border-top: 1px solid var(--tda-border); }
small, .size-1, .size-2, .size-3 { color: var(--tda-muted); }
.center.size-1 a { color: var(--tda-accent2); }
.about-rosariosis summary { color: var(--tda-muted); cursor: pointer; }
.about-rosariosis summary:hover { color: var(--tda-accent); }

/* Scrollbars (Chromium) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--tda-card); }
::-webkit-scrollbar-thumb { background: rgba(255,140,0,.35); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: var(--tda-accent); }

/* ── Admin top bar (#adminmenu) ── */
.adminmenu, #adminmenu {
  background: rgba(13,13,26,.97) !important;
  border-bottom: 1px solid var(--tda-border) !important;
  color: var(--tda-text) !important;
}
.adminmenu a, #adminmenu a {
  color: var(--tda-text) !important;
  text-decoration: none;
}
.adminmenu a:hover, #adminmenu a:hover { color: var(--tda-accent) !important; }
.adminmenu .current, .adminmenu .selected { color: var(--tda-accent) !important; }

/* ── #menu-top header (logo + username + date stack) ── */
#menu-top {
  background: rgba(13,13,26,.92) !important;
  border-bottom: 1px solid var(--tda-border) !important;
  padding: 14px 12px 10px !important;
  text-align: center;
}
#menu-top .logo, #menu-top a img.logo {
  display: block !important;
  height: auto !important;
  max-width: 180px !important;
  width: 100% !important;
  margin: 0 auto 10px !important;
  filter: drop-shadow(0 0 6px rgba(255,140,0,.35));
}
#menu-top .username,
#menu-top .br-after {
  display: block;
  font-family: 'Orbitron', sans-serif !important;
  font-size: .82rem !important;
  letter-spacing: .04em;
  color: var(--tda-text) !important;
  margin: 4px 0;
}
#menu-top .today-date,
#menu-top .proper-date {
  display: block;
  font-family: 'Poppins', sans-serif !important;
  font-size: .76rem !important;
  color: var(--tda-muted) !important;
  margin-top: 2px;
}

/* ── Sidebar admin menu (collapsible module list) ── */
.adminmenu, ul.adminmenu {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.menu-module {
  position: relative;
  list-style: none !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(255,140,0,.08) !important;
}
.menu-module:hover, .menu-module:focus-within {
  background: rgba(255,140,0,.04) !important;
}

a.menu-top, .menu-top {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 30px 10px 14px !important;   /* leave room on right for chevron */
  font-family: 'Orbitron', sans-serif !important;
  font-size: .82rem !important;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--tda-text) !important;
  text-decoration: none !important;
  text-shadow: none !important;
  background: transparent !important;
  border: none !important;
  line-height: 1.2 !important;
  min-height: 38px;
}
a.menu-top:hover, a.menu-top:focus,
.menu-module:hover a.menu-top, .menu-module:focus-within a.menu-top {
  color: var(--tda-accent2) !important;
  background: rgba(255,140,0,.06) !important;
}

/* chevron — use TutorDA orange so it stands out */
.menu-module:hover .menu-top::after,
.menu-module:focus-within .menu-top::after {
  color: var(--tda-accent) !important;
  font-weight: 900;
  font-size: .9rem !important;
  right: 10px !important;
  bottom: auto !important;
  top: 50% !important;
  transform: translateY(-50%);
  padding-top: 0 !important;
}

.menu-inter {
  list-style: none !important;
  padding: 6px 14px 6px 36px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: .76rem !important;
  font-weight: 500;
  color: var(--tda-muted) !important;
  border: none !important;
  text-transform: none;
  letter-spacing: normal;
}
.menu-inter a { color: var(--tda-text) !important; text-decoration: none !important; }
.menu-inter a:hover { color: var(--tda-accent) !important; }

/* tone the FlatSIS module-icon sprite into TutorDA orange */
.module-icon {
  width: 22px; height: 22px;
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: brightness(0) saturate(100%) invert(63%) sepia(90%) saturate(2400%) hue-rotate(360deg) brightness(102%) contrast(105%);
  opacity: .95;
}
.menu-module:hover .module-icon,
.menu-module:focus-within .module-icon { opacity: 1; }

/* ── Portal / Dashboard ── */
.dashboard, #dashboard {
  background: transparent !important;
  color: var(--tda-text) !important;
}
.dashboard-module-title {
  font-family: 'Orbitron', sans-serif !important;
  font-size: .85rem !important;
  letter-spacing: .04em;
  color: var(--tda-accent) !important;
  border-bottom: 1px solid var(--tda-border);
  padding-bottom: 6px; margin-bottom: 10px;
}
.dashboard-module-data {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 12px !important;
  padding: 16px !important;
  color: var(--tda-text) !important;
  margin-bottom: 14px;
}
.dashboard-module-data-tipmsg {
  background: var(--tda-card2) !important;
  border: 1px solid var(--tda-border) !important;
  color: var(--tda-muted) !important;
  border-radius: 8px !important;
  padding: 8px 10px !important;
  font-size: .82rem;
}

/* ── popTable (modal-style rows used everywhere) ── */
.popTable {
  background: var(--tda-card2) !important;
  color: var(--tda-text) !important;
  border: 1px solid var(--tda-border) !important;
  padding: 16px !important;
}

/* ── List views (.list-outer / .list-wrapper / .list-header / .list-nav) ── */
.list-outer, .list-wrapper {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 14px !important;
  padding: 14px !important;
  color: var(--tda-text) !important;
}
.list-header {
  background: rgba(255,140,0,.08) !important;
  color: var(--tda-accent) !important;
  border-bottom: 1px solid var(--tda-border) !important;
  font-family: 'Orbitron', sans-serif !important;
  font-size: .72rem !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 8px 12px !important;
}
.list-nav {
  background: transparent !important;
  color: var(--tda-muted) !important;
  padding: 10px 0 !important;
}
.list-nav a, .list-nav b {
  color: var(--tda-accent2) !important;
  font-family: 'JetBrains Mono', monospace;
  margin: 0 4px;
}
.list-nav b { color: var(--tda-accent) !important; font-weight: 700; }
.list-add-row, .list-save {
  color: var(--tda-success) !important;
}
.list-column-delete {
  color: var(--tda-error) !important;
}
.fixed-col {
  background: var(--tda-card2) !important;
  border-right: 1px solid var(--tda-border) !important;
}

/* ── Gradebook score colours (.score0–.score4) ── */
.score0 { background: rgba(239,68,68,.15) !important; color: #ff8a8a !important; }   /* failing */
.score1 { background: rgba(255,140,0,.12) !important; color: var(--tda-accent) !important; } /* low */
.score2 { background: rgba(255,215,0,.12) !important; color: var(--tda-accent2) !important; } /* mid */
.score3 { background: rgba(0,229,255,.10) !important; color: var(--tda-cyan) !important; }   /* good */
.score4 { background: rgba(34,197,94,.14) !important; color: #4ade80 !important; }            /* great */
.score0, .score1, .score2, .score3, .score4 {
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 600;
  border-radius: 4px;
  padding: 2px 6px;
}

/* ── Attendance codes ── */
.attendance-code {
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 700;
  border-radius: 4px;
  padding: 2px 8px;
  background: rgba(255,140,0,.08);
  color: var(--tda-accent2) !important;
  border: 1px solid var(--tda-border);
}

/* ── Charts / bars ── */
.chart, .bar {
  background: var(--tda-card2) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 8px;
}

/* ── Accounting / billing totals ── */
.accounting-totals, .accounting-staff-payroll-totals, .student-billing-totals {
  background: linear-gradient(135deg, rgba(255,140,0,.10), rgba(255,215,0,.04)) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 12px !important;
  color: var(--tda-text) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 600;
  padding: 12px 16px !important;
}

/* ── Transcripts / certificates blocks ── */
.transcript-certificate-block1, .transcript-certificate-block2 {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 12px !important;
  color: var(--tda-text) !important;
  padding: 14px !important;
}

/* ── Heading variants ── */
.header1, .header2, h3.title, .title h3, .h3multi, .h3selected, .bigger {
  font-family: 'Orbitron', sans-serif !important;
  color: var(--tda-text);
}
.h3selected { color: var(--tda-accent) !important; }
.h3multi { color: var(--tda-cyan) !important; }
.bigger { font-size: 1.05rem; }
.sizep2 { font-size: 1.15rem; }

/* ── Disabled fields (visibility on dark) ── */
input:disabled, select:disabled, textarea:disabled, .disabled {
  opacity: .55 !important;
  background: rgba(60,60,90,.4) !important;
  color: var(--tda-muted) !important;
  cursor: not-allowed !important;
}

/* ── Minicolors picker ── */
.minicolors-input, .minicolors-swatch {
  background: rgba(0,0,0,.3) !important;
  border-color: var(--tda-border) !important;
}

/* ── Password strength ── */
.password-input-wrapper { position: relative; }
.password-strength-bars { display: flex; gap: 4px; margin-top: 6px; }
.password-strength-bars > * {
  height: 4px; flex: 1; background: rgba(255,255,255,.1); border-radius: 2px;
}
.password-strength-bars > .filled { background: linear-gradient(90deg, var(--tda-accent), var(--tda-accent2)); }

/* ── Tooltips / tipmsg ── */
.tipmsg-label, .onmouseover-tipmsg {
  color: var(--tda-cyan) !important;
  border-bottom: 1px dotted var(--tda-cyan);
  cursor: help;
}
.footerhelp-content {
  background: var(--tda-card2) !important;
  border: 1px solid var(--tda-border) !important;
  color: var(--tda-text) !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
}

/* ── Legends ── */
.legend-square {
  display: inline-block; width: 12px; height: 12px;
  border-radius: 3px; margin-right: 5px; vertical-align: middle;
  border: 1px solid var(--tda-border);
}
.legend-red { color: var(--tda-error) !important; }

/* ── Import / CSV flow ── */
.import-form, .import-button {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  color: var(--tda-text) !important;
  border-radius: 10px !important;
  padding: 12px !important;
}

/* ── Installation poll (first login) ── */
#divPortalPoll, .divPortalPoll {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 12px !important;
  color: var(--tda-text) !important;
  padding: 16px !important;
}

/* ── User photo / avatar ── */
.user-photo, .student .picture, .class-picture {
  border-radius: 12px !important;
  border: 2px solid var(--tda-border) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.25);
}

/* ── Captcha / create-account / ajax-error ── */
.captcha {
  background: var(--tda-card2) !important;
  border: 1px solid var(--tda-border) !important;
  color: var(--tda-text) !important;
  font-family: 'JetBrains Mono', monospace !important;
  letter-spacing: .15em;
  border-radius: 6px;
  padding: 6px 10px;
}
.create-account {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 14px !important;
  color: var(--tda-text) !important;
  padding: 18px !important;
}
.ajax-error {
  background: rgba(239,68,68,.10) !important;
  border: 1px solid rgba(239,68,68,.3) !important;
  color: var(--tda-text) !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
}

/* ── Address / phone / email link helpers ── */
.address, .phone-link, .md-link a, a.md-link {
  color: var(--tda-accent2) !important;
}

/* ── Calendar helper classes (block / event / poptable) ── */
.calendar-block {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 12px !important;
  padding: 8px !important;
}
.calendar-event {
  background: rgba(255,140,0,.10) !important;
  border-left: 3px solid var(--tda-accent) !important;
  border-radius: 4px;
  padding: 4px 8px;
  color: var(--tda-text) !important;
  font-size: .78rem;
}
.calendar-event-poptable {
  background: var(--tda-card) !important;
  color: var(--tda-text) !important;
  border: 1px solid var(--tda-border) !important;
}
.calendar-menu, .calendar-newevent { color: var(--tda-accent) !important; }

/* ── Updated / widefat (WordPress-derived classes) ── */
.widefat {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  color: var(--tda-text) !important;
}
.updated {
  background: rgba(34,197,94,.10) !important;
  border: 1px solid rgba(34,197,94,.3) !important;
  color: var(--tda-text) !important;
}

/* ── Markdown preview area ── */
.markdown-to-html, .md-preview {
  background: var(--tda-card2) !important;
  border: 1px solid var(--tda-border) !important;
  color: var(--tda-text) !important;
  border-radius: 10px !important;
  padding: 12px !important;
}
.markdown-to-html code, .md-preview code {
  background: rgba(0,0,0,.4) !important;
  color: var(--tda-cyan) !important;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace !important;
}
.markdown-to-html pre, .md-preview pre {
  background: rgba(0,0,0,.4) !important;
  border: 1px solid var(--tda-border) !important;
  color: var(--tda-text) !important;
  border-radius: 10px !important;
  padding: 12px !important;
}

/* ── Add-on placeholders (community plugins) ── */
.addon-readme, .addon-upsell-premium {
  background: var(--tda-card2) !important;
  border: 1px solid var(--tda-border) !important;
  color: var(--tda-text) !important;
  border-radius: 10px !important;
  padding: 12px !important;
}
.button-upsell-premium { background: linear-gradient(135deg, var(--tda-accent2), var(--tda-accent)) !important; }

/* ── Colorbox modal (lightbox library used by SIS) ── */
#colorbox, #cboxWrapper, #cboxContent, #cboxLoadedContent {
  background: var(--tda-card) !important;
  color: var(--tda-text) !important;
}
#cboxTopLeft, #cboxTopCenter, #cboxTopRight,
#cboxMiddleLeft, #cboxMiddleRight,
#cboxBottomLeft, #cboxBottomCenter, #cboxBottomRight {
  background: var(--tda-card) !important;
}
#cboxClose { color: var(--tda-accent) !important; }

/* ── select2 dropdowns (used by some SIS modules) ── */
.select2-select, .select2-container--default .select2-selection {
  background: rgba(0,0,0,.3) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 8px !important;
  color: var(--tda-text) !important;
}
.select2-container--default .select2-selection__rendered { color: var(--tda-text) !important; }
.select2-dropdown { background: var(--tda-card) !important; border: 1px solid var(--tda-border) !important; }
.select2-results__option--highlighted {
  background: rgba(255,140,0,.15) !important;
  color: var(--tda-accent) !important;
}

/* ── TinyMCE editor frame ── */
.tinymce, .tinymce-html, .tinymce-document, .tinymce-horizontal,
.tox-tinymce, .mce-tinymce {
  border: 1px solid var(--tda-border) !important;
  border-radius: 10px !important;
  overflow: hidden;
}
.tox-toolbar, .tox-toolbar__primary, .tox-statusbar {
  background: var(--tda-card2) !important;
  color: var(--tda-text) !important;
}
.tox-edit-area, .tox-edit-area__iframe { background: #fff !important; } /* keep editor body white for legibility */

/* ── PDF wkhtmltopdf wrappers (shouldn't apply via web; included for safety) ── */
.wkhtmltopdf-body-wrapper, .wkhtmltopdf-header, .wkhtmltopdf-footer {
  color: #000 !important; background: #fff !important;
}

/* ── File inputs (no more bare white rectangle) ── */
input[type=file] {
  background: rgba(0,0,0,.35) !important;
  color: #ffffff !important;
  border: 1px dashed rgba(255,140,0,.35) !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  cursor: pointer;
  font-family: 'Poppins', sans-serif !important;
  font-size: .85rem !important;
  min-height: 38px;
  color-scheme: dark;
}
input[type=file]::-webkit-file-upload-button,
input[type=file]::file-selector-button {
  background: linear-gradient(135deg, var(--tda-accent), var(--tda-accent2)) !important;
  color: #0d0d1a !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 6px 18px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  font-size: .85rem !important;
  cursor: pointer !important;
  margin-right: 12px !important;
  transition: transform .15s, box-shadow .15s;
}
input[type=file]::-webkit-file-upload-button:hover,
input[type=file]::file-selector-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(255,140,0,.32);
}

/* ── Date / time / month / week native pickers — orange calendar icon ── */
input[type=date], input[type=datetime-local], input[type=time],
input[type=month], input[type=week] {
  color-scheme: dark;
}
input[type=date]::-webkit-calendar-picker-indicator,
input[type=datetime-local]::-webkit-calendar-picker-indicator,
input[type=time]::-webkit-calendar-picker-indicator,
input[type=month]::-webkit-calendar-picker-indicator,
input[type=week]::-webkit-calendar-picker-indicator,
input[type=color]::-webkit-color-swatch-wrapper {
  filter: invert(63%) sepia(90%) saturate(2400%) hue-rotate(360deg) brightness(102%) contrast(105%) !important;
  cursor: pointer;
  opacity: 1 !important;
}

/* ── Select2 (multi-select dropdowns like "Select some Options") ── */
.select2-container--default .select2-selection,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  background: rgba(0,0,0,.3) !important;
  border: 1px solid var(--tda-border) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  min-height: 38px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #ffffff !important;
  line-height: 36px !important;
  padding-left: 12px !important;
}
.select2-container--default .select2-selection__placeholder,
.select2-container--default .select2-search--inline .select2-search__field::placeholder {
  color: var(--tda-muted) !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  padding: 4px 8px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: rgba(255,140,0,.15) !important;
  border: 1px solid rgba(255,140,0,.35) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 2px 10px !important;
  margin: 2px 4px 2px 0 !important;
  font-size: .82rem;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: var(--tda-accent) !important;
  margin-right: 6px !important;
  font-weight: 700;
}
.select2-container--open .select2-dropdown {
  background: var(--tda-card) !important;
  border: 1px solid var(--tda-border) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.5) !important;
}
.select2-container--default .select2-results__option {
  color: #ffffff !important;
  background: transparent !important;
  padding: 8px 12px !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted {
  background: rgba(255,140,0,.15) !important;
  color: var(--tda-accent2) !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
  background: rgba(255,140,0,.08) !important;
  color: var(--tda-accent) !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  background: rgba(0,0,0,.4) !important;
  border: 1px solid var(--tda-border) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  padding: 6px 10px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--tda-accent) transparent transparent transparent !important;
}

/* ── WRITE / PREVIEW tab pair (markdown editor toggle) ── */
.md-link, a.md-link, .markdown-tab {
  font-family: 'Orbitron', sans-serif !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.md-link:not(.active) { color: var(--tda-muted) !important; opacity: .7; }
.md-link.active, .md-link:hover { color: var(--tda-accent) !important; opacity: 1; }

/* Print: revert to plain so reports print correctly */
@media print {
  html, body { background: #fff !important; color: #000 !important; }
  .postbox, table, td, th, .list-outer, .list-wrapper, .dashboard-module-data,
  .accounting-totals, .student-billing-totals, .transcript-certificate-block1, .transcript-certificate-block2 {
    background: #fff !important; color: #000 !important; border-color: #ccc !important;
    box-shadow: none !important;
  }
  .button-primary, input[type=submit], button { background: none !important; color: #000 !important; }
  a { color: #000 !important; text-decoration: underline !important; }
}
