* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html,
body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	color: #2c3e50;
	font-weight: 400;
	position: relative;
	width: 100vw;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,
		'Helvetica Neue', sans-serif;
}

a {
	color: #555;
	text-decoration: none;
}

a:hover {
	color: #555;
	text-decoration: none;
}

a:visited {
	color: #555;
}

label {
	display: block;
}

input,
button,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
	-webkit-padding: 0.4em 0;
	padding: 0.4em;
	margin: 0 0 0.5em 0;
	box-sizing: border-box;
	border: 1px solid #ccc;
	border-radius: 2px;
}

input:disabled {
	color: #ccc;
}

button {
	color: #333;
	background-color: #f4f4f4;
	outline: none;
}

button:disabled {
	color: #999;
}

button:not(:disabled):active {
	background-color: #ddd;
}

button:focus {
	border-color: #666;
}

span.error {
	color: red;
	margin-left: 5px;
	font-size: 14px;
}

div.disabled {
	pointer-events: none;
	opacity: 0.5;
}

.dimmed {
	opacity: 0.5; /* Dim the card */
	pointer-events: none; /* Disable interactions */
}

.ec {
	height: 85vh;
}
.ec-day-grid .ec-uniform .ec-days {
	min-height: 150px !important;
}
.ec-title {
	font-weight: 600;
	margin-top: -20px;
}
.ec-event:hover {
	cursor: pointer;
}
@media screen and (max-width: 768px) {
	.ec-title {
		display: none;
	}
}

input[type='time'],
input[type='date'] {
	display: inherit;
}
input[readonly] {
	background-color: transparent; /* 浅灰色背景 */
	color: #000000; /* 暗灰色文字 */
	border: 1px solid #ccc; /* 浅灰色边框 */
}

.auth-box {
	width: 420px;
}
.footnote {
	font-size: 13px;
}
.logout-icon {
	font-size: 20px;
}
.cursor-pointer {
	cursor: pointer;
}
.resource-content {
	min-height: 120px;
	max-height: 200px;
	overflow-y: auto;
}
.break-word {
	overflow-wrap: break-word;
	word-wrap: break-word;
}
.is-relative {
	position: relative;
}
.white-space-pre {
	white-space: pre;
}
.is-fullheight {
	height: 100%;
}
.is-icon-button {
	border: none;
	background: none;
	padding: 0;
	margin-bottom: -8px;
	box-shadow: none;
	outline: none;
}
.is-icon-button:focus,
.is-icon-button:active,
.is-icon-button:hover {
	outline: none;
	box-shadow: none !important;
	background: none !important;
}
.glasslook {
	padding-top: 0;
	padding-bottom: 0;
	border: none;
	border-radius: 5px;
	background-color: rgba(255, 255, 255, 0.2); /* Semi-transparent white */
	color: white; /* Button text color */
	backdrop-filter: blur(5px); /* Blur effect for the glass-like feel */
	border: 1px solid rgba(255, 255, 255, 0.3); /* Optional: adds a light border for more glass effect */
	cursor: pointer;
	transition: background-color 0.3s ease;
	height: 1.5em;
	margin-right: 5px;
}
.min-fullheight {
	min-height: 100vh;
}
.icon.is-small {
	margin-left: 0 !important;
}

:root {
	/* Primary Colors (Blue) */
	--bulma-primary: #0056b3;
	--bulma-primary-light: #e1f0ff;
	--bulma-primary-dark: #003366;

	/* Info (Teal) */
	--bulma-info: #007e8a;
	--bulma-info-light: #e0f7fa;
	--bulma-info-dark: #004d56;

	/* Success (Green) */
	--bulma-success: #107c10;
	--bulma-success-light: #e6f4e6;
	--bulma-success-dark: #0a4e0a;

	/* Warning (Orange) */
	--bulma-warning: #ffd500;
	--bulma-warning-light: #ffebd6;
	--bulma-warning-dark: #ffd500;

	/* Danger (Red) */
	--bulma-danger: #c0101e;
	--bulma-danger-light: #fde8ea;
	--bulma-danger-dark: #a50c1a;

	/* Light (Background) */
	--bulma-light: #f8f9fa;
	--bulma-light-dark: #f5f5f5;
}

/* === Primary === */
.aoda-bg-primary {
	background-color: var(--bulma-primary);
	color: white;
}
.aoda-text-primary {
	color: var(--bulma-primary);
}

/* === Info === */
.aoda-bg-info {
	background-color: var(--bulma-info);
	color: white;
}
.aoda-text-info {
	color: var(--bulma-info);
}

/* === Success === */
.aoda-bg-success {
	background-color: var(--bulma-success);
	color: white;
}
.aoda-text-success {
	color: var(--bulma-success);
}

/* === Warning === */
.aoda-bg-warning {
	background-color: var(--bulma-warning);
	color: black; /* higher contrast than white */
}
.aoda-text-warning {
	color: var(--bulma-warning);
}

/* === Danger === */
.aoda-bg-danger {
	background-color: var(--bulma-danger);
	color: white;
}
.aoda-text-danger {
	color: var(--bulma-danger);
}

/* === Light === */
.aoda-bg-light {
	background-color: var(--bulma-light-dark);
	color: #333;
}
.aoda-text-light {
	color: var(--bulma-light-dark);
}

.survey-info {
	margin-left: 10px;
	max-width: 98%;
}
.rich {
	outline: 0;
}
.rich.preview {
	pointer-events: none;
}
.rich h1 {
	font-size: 1.8rem;
	line-height: 1.2;
	margin: 0.6em 0 0.35em;
}
.rich h2 {
	font-size: 1.5rem;
	line-height: 1.25;
	margin: 0.6em 0 0.35em;
}
.rich h3 {
	font-size: 1.25rem;
	line-height: 1.3;
	margin: 0.5em 0 0.3em;
}
.rich h4 {
	font-size: 1.1rem;
	margin: 0.4em 0 0.25em;
}
.rich h5 {
	font-size: 1rem;
	margin: 0.35em 0 0.2em;
}
.rich h6 {
	font-size: 0.95rem;
	letter-spacing: 0.02em;
	margin: 0.3em 0 0.2em;
}

.rich p,
.rich ul,
.rich ol {
	margin: 0;
}
.rich ul {
	list-style: disc;
	padding-left: 1.1rem;
}
.rich ol {
	list-style: decimal;
	padding-left: 1.1rem;
}
.rich li {
	margin: 0.15em 0;
}
.rich :last-child {
	margin-bottom: 0;
}
.rich a {
	text-decoration: underline;
	/* Bulma $info = hsl(204, 86%, 53%) */
	color: hsl(204, 86%, 53%);
}
.rich a:hover,
.rich a:focus {
	/* darken a bit for hover/focus */
	color: hsl(204, 71%, 39%);
}
.rich a:visited {
	color: hsl(204, 86%, 43%);
}
.title-input[readonly] {
	background: whitesmoke;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.swal2-html-container ul {
	list-style-type: disc; /* show bullets */
	list-style-position: outside; /* classic hanging indent */
	margin: 0; /* adjust as you like */
	padding-left: 1.1rem;
}
/* Some resets make li display:block; force list-item just in case */
.swal2-html-container li {
	display: list-item;
}
.swal2-html-container li::marker {
	font-size: 0.9em;
}

/* app.css */
.my-toast {
	min-height: 70px;
	width: 500px;
	max-width: 90vw;
	background: #111;
	color: #fff;
	padding: 12px 14px;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.my-title {
	font-weight: 600;
	font-size: 16px;
}
.my-desc {
	opacity: 0.9;
}

.my-progress {
	height: 6px; /* your “status bar” thickness */
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.3);
}
