/* =========================================================================
   UoM A&F — Admin & Login Skin
   -------------------------------------------------------------------------
   Aligns the WordPress admin chrome (and the login screen) with the
   Stanford Cardinal Red identity used on the public site. Loaded for ALL
   admin / login views, but most visible to non-administrator backend users
   such as the `professor` role from the eclass plugin (which has limited
   wp-admin access for course management, announcements, assignments,
   resources, and quizzes).
   ========================================================================= */

:root {
	--uom-cardinal-red:        #8C1515;
	--uom-cardinal-red-dark:   #5A0E0E;
	--uom-cardinal-red-light:  #B83A4B;
	--uom-sandstone:           #D2C295;
	--uom-sandstone-light:     #F4F1E6;
	--uom-black:               #2E2D29;
	--uom-cool-grey:           #53565A;
	--uom-warm-grey:           #544948;
	--uom-fog:                 #DAD7CB;
	--uom-off-white:           #FAFAF7;
	--uom-white:               #FFFFFF;
	--uom-font-display:        'Source Serif 4', Georgia, serif;
	--uom-font-sans:           'Source Sans 3', -apple-system, BlinkMacSystemFont,
	                           'Segoe UI', Helvetica, Arial, sans-serif;
}

/* =========================================================================
   1. ADMIN-BAR (top toolbar) — applies to both frontend (when logged in)
   and the wp-admin chrome.
   ========================================================================= */
#wpadminbar {
	background: var(--uom-black) !important;
	height: 36px !important;
	font-family: var(--uom-font-sans) !important;
}
#wpadminbar .ab-item,
#wpadminbar a.ab-item,
#wpadminbar > #wp-toolbar span.ab-label,
#wpadminbar > #wp-toolbar span.noticon {
	color: rgba(255, 255, 255, 0.86) !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em !important;
}
#wpadminbar .ab-icon::before,
#wpadminbar .ab-item::before {
	color: var(--uom-sandstone) !important;
}
#wpadminbar .quicklinks > ul > li:hover > .ab-item,
#wpadminbar .quicklinks > ul > li.hover > .ab-item,
#wpadminbar .quicklinks > ul > li > .ab-item:focus {
	background: var(--uom-cardinal-red) !important;
	color: var(--uom-white) !important;
}
#wpadminbar .ab-top-menu > li.menupop.hover > .ab-sub-wrapper {
	background: var(--uom-black) !important;
	border-top: 2px solid var(--uom-cardinal-red) !important;
}
#wpadminbar .ab-submenu .ab-item {
	color: rgba(255, 255, 255, 0.78) !important;
}
#wpadminbar .ab-submenu .ab-item:hover {
	background: var(--uom-cardinal-red) !important;
	color: var(--uom-white) !important;
}
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon::before {
	color: var(--uom-sandstone) !important;
}
#wpadminbar #wp-admin-bar-my-account .display-name,
#wpadminbar #wp-admin-bar-my-account .username {
	color: var(--uom-white) !important;
}

/* Push frontend body down 36px (default, but make sure when our bar is
 * shown on professor's frontend pages). */
html.wp-toolbar { padding-top: 36px !important; }


/* =========================================================================
   2. WP-ADMIN CHROME (sidebar, headings, links, buttons)
   ========================================================================= */
body.wp-admin {
	font-family: var(--uom-font-sans) !important;
	background: var(--uom-off-white) !important;
}
body.wp-admin #wpwrap { background: var(--uom-off-white) !important; }
body.wp-admin #wpcontent, body.wp-admin #wpbody-content {
	background: transparent !important;
}

/* Sidebar */
body.wp-admin #adminmenuback,
body.wp-admin #adminmenuwrap,
body.wp-admin #adminmenu {
	background: var(--uom-black) !important;
}
body.wp-admin #adminmenu a {
	color: rgba(255, 255, 255, 0.85) !important;
	font-family: var(--uom-font-sans) !important;
	font-size: 13.5px !important;
	letter-spacing: 0.015em !important;
}
body.wp-admin #adminmenu div.wp-menu-image::before,
body.wp-admin #adminmenu li.wp-has-current-submenu .wp-menu-image::before,
body.wp-admin #adminmenu li.current a.menu-top .wp-menu-image::before {
	color: var(--uom-sandstone) !important;
}
body.wp-admin #adminmenu .wp-submenu li.current a,
body.wp-admin #adminmenu .wp-submenu li.current a:focus,
body.wp-admin #adminmenu .wp-submenu li.current a:hover {
	color: var(--uom-sandstone) !important;
}
body.wp-admin #adminmenu li.menu-top:hover,
body.wp-admin #adminmenu li.opensub > a.menu-top,
body.wp-admin #adminmenu li > a.menu-top:focus {
	background: var(--uom-cardinal-red) !important;
	color: var(--uom-white) !important;
}
body.wp-admin #adminmenu li.menu-top:hover div.wp-menu-image::before,
body.wp-admin #adminmenu li.opensub div.wp-menu-image::before,
body.wp-admin #adminmenu li > a.menu-top:focus div.wp-menu-image::before {
	color: var(--uom-white) !important;
}
body.wp-admin #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
body.wp-admin #adminmenu li.wp-menu-open,
body.wp-admin #adminmenu li.current a.menu-top {
	background: var(--uom-cardinal-red-dark) !important;
	color: var(--uom-white) !important;
	border-left: 4px solid var(--uom-sandstone) !important;
	padding-left: calc(0.5rem - 4px) !important;
}
body.wp-admin #adminmenu .wp-submenu {
	background: #1f1e1c !important;
	border-left: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* Page headings */
body.wp-admin .wrap > h1,
body.wp-admin .wrap > h2 {
	font-family: var(--uom-font-display) !important;
	font-weight: 500 !important;
	color: var(--uom-black) !important;
	letter-spacing: -0.01em !important;
	font-size: 1.85rem !important;
	margin: 1.5rem 0 1.25rem !important;
}

/* Primary buttons → Cardinal Red */
body.wp-admin .button-primary,
body.wp-admin .wp-core-ui .button-primary {
	background: var(--uom-cardinal-red) !important;
	border-color: var(--uom-cardinal-red-dark) !important;
	color: var(--uom-white) !important;
	box-shadow: 0 4px 10px rgba(140, 21, 21, 0.18) !important;
	border-radius: 0 !important;
	font-family: var(--uom-font-sans) !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	font-size: 12.5px !important;
	padding: 0.55rem 1.1rem !important;
	height: auto !important;
	line-height: 1.2 !important;
}
body.wp-admin .button-primary:hover,
body.wp-admin .wp-core-ui .button-primary:hover,
body.wp-admin .wp-core-ui .button-primary:focus {
	background: var(--uom-cardinal-red-dark) !important;
	border-color: var(--uom-cardinal-red-dark) !important;
	transform: translateY(-1px);
}
body.wp-admin .wp-core-ui .button {
	border-radius: 0 !important;
	font-family: var(--uom-font-sans) !important;
	letter-spacing: 0.04em !important;
}

/* Links inside admin */
body.wp-admin a,
body.wp-admin .wp-core-ui a {
	color: var(--uom-cardinal-red);
}
body.wp-admin a:hover,
body.wp-admin a:focus { color: var(--uom-cardinal-red-dark); }

/* Postbox / metabox */
body.wp-admin .postbox-header,
body.wp-admin .postbox h2.hndle {
	background: var(--uom-off-white);
	font-family: var(--uom-font-display);
	font-weight: 500;
	color: var(--uom-black);
	border-bottom: 1px solid var(--uom-fog);
}

/* Checkbox + radio accent */
body.wp-admin input[type=checkbox],
body.wp-admin input[type=radio] { accent-color: var(--uom-cardinal-red); }

/* Notices: keep WP semantics, just add a Cardinal Red left bar to errors. */
body.wp-admin .notice-error { border-left-color: var(--uom-cardinal-red) !important; }


/* =========================================================================
   3. ECLASS plugin admin pages — strong cardinal accent
   ========================================================================= */
body.wp-admin .toplevel_page_accfinbsc-ec-prof .wrap h1,
body.wp-admin [class*="page_accfinbsc-ec"] .wrap h1,
body.wp-admin [class*="page_accfinbsc-ac"] .wrap h1,
body.wp-admin [class*="page_accfinbsc-sp"] .wrap h1 {
	font-family: var(--uom-font-display) !important;
	color: var(--uom-cardinal-red) !important;
	border-bottom: 2px solid var(--uom-cardinal-red);
	padding-bottom: 0.6rem !important;
	display: inline-block;
}

/* Tables */
body.wp-admin .wp-list-table thead th {
	font-family: var(--uom-font-sans);
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--uom-black);
}
body.wp-admin .wp-list-table tbody tr:hover {
	background: var(--uom-sandstone-light) !important;
}


/* =========================================================================
   4. LOGIN SCREEN (wp-login.php) — DARK THEME
   -------------------------------------------------------------------------
   Mirrors the home-page hero (linear-gradient(115deg, #2E1010 0%,
   #5B0E0E 40%, #8C1515 100%)) with subtle radial highlights and a
   full-bleed dark frame around an editorial white card.
   ========================================================================= */
html, body.login {
	min-height: 100vh;
}
body.login {
	background:
		radial-gradient(circle at 18% 22%, rgba(212, 195, 149, 0.10) 0%, transparent 38%),
		radial-gradient(circle at 82% 78%, rgba(184, 58, 75, 0.18) 0%, transparent 45%),
		linear-gradient(115deg, #2E1010 0%, #5B0E0E 40%, #8C1515 100%) !important;
	background-attachment: fixed !important;
	color: rgba(255, 255, 255, 0.86) !important;
	font-family: var(--uom-font-sans) !important;
	position: relative;
}
/* Faint grid overlay echoing the front-page hero. */
body.login::before {
	content: "";
	position: fixed; inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 80px 80px;
	pointer-events: none;
	z-index: 0;
}
body.login #login {
	position: relative;
	z-index: 1;
	padding-top: 6vh !important;
}

/* Logo block: replace WP mark with the school + dept text in light. */
body.login h1 { margin-bottom: 1.5rem !important; }
body.login h1 a {
	background-image: none !important;
	width: auto !important; height: auto !important;
	font-family: var(--uom-font-display) !important;
	font-size: 1.85rem !important;
	line-height: 1.15 !important;
	font-weight: 500 !important;
	color: var(--uom-white) !important;
	text-indent: 0 !important;
	letter-spacing: -0.012em !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}
body.login h1 a::before {
	content: "Graduate School of Business";
	display: block;
}
body.login h1 a::after {
	content: "Department of Accounting & Finance";
	display: block;
	font-family: var(--uom-font-sans) !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--uom-sandstone) !important;
	margin-top: 0.55rem !important;
	text-shadow: none;
}

/* The login card itself: dark glassy panel with sandstone hairline. */
body.login form {
	background: rgba(15, 10, 10, 0.55) !important;
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-top: 4px solid var(--uom-sandstone) !important;
	border-radius: 0 !important;
	box-shadow:
		0 30px 60px rgba(0, 0, 0, 0.45),
		0 6px 12px rgba(0, 0, 0, 0.18) !important;
	padding: 32px 28px 26px !important;
	color: rgba(255, 255, 255, 0.92) !important;
}

/* Field labels above each input */
body.login label {
	color: var(--uom-sandstone) !important;
	font-family: var(--uom-font-sans) !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
}

/* Inputs */
body.login form .input,
body.login input[type=text],
body.login input[type=password],
body.login input[type=email] {
	background: rgba(255, 255, 255, 0.06) !important;
	color: var(--uom-white) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 0 !important;
	font-family: var(--uom-font-sans) !important;
	font-size: 15px !important;
	padding: 0.65rem 0.85rem !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}
body.login form .input::placeholder,
body.login input[type=text]::placeholder,
body.login input[type=password]::placeholder,
body.login input[type=email]::placeholder {
	color: rgba(255, 255, 255, 0.45) !important;
}
body.login form .input:focus,
body.login input[type=text]:focus,
body.login input[type=password]:focus,
body.login input[type=email]:focus {
	background: rgba(255, 255, 255, 0.10) !important;
	border-color: var(--uom-sandstone) !important;
	box-shadow: 0 0 0 3px rgba(212, 195, 149, 0.18) !important;
	outline: none !important;
}

/* Show-password eye icon: keep it visible against the dark input */
body.login .input + .button.wp-hide-pw,
body.login .button.wp-hide-pw {
	background: transparent !important;
	color: var(--uom-sandstone) !important;
	border: 0 !important;
	box-shadow: none !important;
}
body.login .button.wp-hide-pw:hover { color: var(--uom-white) !important; }

/* Remember me row */
body.login .forgetmenot label {
	color: rgba(255, 255, 255, 0.78) !important;
	font-size: 11px !important;
	letter-spacing: 0.12em !important;
}
body.login input[type=checkbox] {
	background: rgba(255, 255, 255, 0.10) !important;
	border-color: rgba(255, 255, 255, 0.35) !important;
	border-radius: 0 !important;
	accent-color: var(--uom-sandstone) !important;
}
body.login input[type=checkbox]:checked {
	background: var(--uom-sandstone) !important;
	border-color: var(--uom-sandstone) !important;
}
body.login input[type=checkbox]:checked::before {
	color: var(--uom-cardinal-red-dark) !important;
}

/* Submit: warm sandstone CTA on dark panel */
body.login .submit { margin-top: 0.5rem !important; }
body.login .button-primary {
	background: var(--uom-sandstone) !important;
	border-color: var(--uom-sandstone) !important;
	color: var(--uom-cardinal-red-dark) !important;
	border-radius: 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	font-weight: 700 !important;
	font-size: 12.5px !important;
	padding: 0.75rem 1.4rem !important;
	height: auto !important; line-height: 1.2 !important;
	width: 100%;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.30) !important;
	transition: all 0.25s ease !important;
}
body.login .button-primary:hover,
body.login .button-primary:focus {
	background: #E5D9B6 !important;
	border-color: #E5D9B6 !important;
	color: var(--uom-cardinal-red-dark) !important;
	transform: translateY(-1px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.40) !important;
}

/* Below-form links (Lost password, ← Back to site) */
body.login #nav,
body.login #backtoblog {
	margin: 1rem 0 0 !important;
	padding: 0 !important;
	text-align: center !important;
	font-size: 12.5px !important;
}
body.login #nav a,
body.login #backtoblog a,
body.login a {
	color: rgba(255, 255, 255, 0.78) !important;
	font-family: var(--uom-font-sans) !important;
	letter-spacing: 0.04em !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}
body.login #nav a:hover,
body.login #backtoblog a:hover,
body.login a:hover {
	color: var(--uom-sandstone) !important;
}

/* Language switcher (language dropdown + button at bottom of login) */
body.login .language-switcher {
	margin-top: 1.25rem !important;
	color: rgba(255, 255, 255, 0.55) !important;
}
body.login .language-switcher select {
	background: rgba(255, 255, 255, 0.08) !important;
	color: var(--uom-white) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-radius: 0 !important;
}

/* Privacy policy link in footer */
body.login .privacy-policy-page-link a {
	color: rgba(255, 255, 255, 0.55) !important;
}

/* Notices / messages on the login screen */
body.login .message,
body.login #login_error {
	background: rgba(15, 10, 10, 0.55) !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: var(--uom-white) !important;
	border: 1px solid rgba(255, 255, 255, 0.10) !important;
	border-left: 4px solid var(--uom-sandstone) !important;
	border-radius: 0 !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.30) !important;
}
body.login #login_error {
	border-left-color: #E78A8A !important;
	color: #FFE5E5 !important;
}
body.login #login_error a,
body.login .message a {
	color: var(--uom-sandstone) !important;
	text-decoration: underline !important;
}

/* Tighter type rhythm + a comfortable max width on small screens */
body.login #login {
	width: 360px !important;
	max-width: calc(100vw - 2.5rem) !important;
}
body.login.login-action-login form #user_pass { letter-spacing: 0.05em; }
