.tusc-console{
	width:100%;
	max-width:none;
	margin:0;
	padding:0;
	display:grid;
	grid-template-columns:220px minmax(0,1fr);
	gap:0;
	align-items:start;
	font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:#1f2937
}
.tusc-sidebar{
	position:sticky;
	top:84px;
	align-self:start;
	min-width:0;
	padding:0 24px 0 0;
	border-right:1px solid #e5e7eb
}
.admin-bar .tusc-sidebar{top:116px}
.tusc-school-switcher{
	margin:0 0 16px;
	padding:0 0 16px;
	border-bottom:1px solid #e5e7eb
}
.tusc-school-switcher label{
	display:grid;
	gap:6px;
	margin:0;
	color:#64748b;
	font-size:12px;
	font-weight:800
}
.tusc-school-switcher select,.tusc-form input,.tusc-form select,.tusc-form textarea{
	width:100%;
	max-width:520px;
	padding:8px;
	border:1px solid #d1d5db;
	border-radius:8px;
	background:#fff;
	color:#111827
}
.tusc-school-switcher select{
	max-width:100%;
	min-height:38px;
	font-size:14px;
	font-weight:700
}
.tusc-nav{
	display:flex;
	flex-direction:column;
	gap:4px;
	margin:0;
	padding:0
}
.tusc-nav a{
	display:flex;
	align-items:center;
	min-height:40px;
	padding:9px 12px;
	border:1px solid transparent;
	border-radius:10px;
	text-decoration:none;
	background:transparent;
	color:#334155;
	font-size:14px;
	font-weight:700
}
.tusc-nav a:hover,.tusc-nav a:focus{
	background:#f1f5f9;
	color:#0f172a;
	text-decoration:none
}
.tusc-nav a.is-active{
	background:#0f2a4a;
	color:#fff;
	border-color:#0f2a4a;
	box-shadow:0 8px 18px rgba(15,42,74,.16)
}
.tusc-main{
	min-width:0;
	width:100%;
	padding:0 0 0 24px
}
.tusc-card{
	background:transparent;
	border:0;
	border-radius:0;
	padding:0;
	margin:0 0 32px;
	box-shadow:none
}
.tusc-card h3{margin:0 0 14px;font-size:18px;line-height:1.4}
.tusc-form{display:grid;gap:12px;margin:8px 0}
.tusc-form label{display:grid;gap:4px;font-weight:600}
.tusc-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:auto;
	max-width:max-content;
	border:0;
	border-radius:999px;
	padding:8px 14px;
	background:#2563eb;
	color:#fff;
	text-decoration:none;
	cursor:pointer;
	font-weight:700
}
.tusc-button:hover,.tusc-button:focus{color:#fff;text-decoration:none;background:#1d4ed8}
.tusc-button-danger{background:#dc2626}
.tusc-table{width:100%;border-collapse:collapse;font-size:14px}
.tusc-table th,.tusc-table td{border-bottom:1px solid #e5e7eb;text-align:left;padding:8px;vertical-align:top}
.tusc-table th{background:#f8fafc}
.tusc-notice{border-radius:10px;padding:10px 12px;margin:0 0 14px}
.tusc-success{background:#ecfdf5;color:#065f46}
.tusc-error{background:#fef2f2;color:#991b1b}
.tusc-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.tusc-metrics div{border:1px solid #e5e7eb;border-radius:12px;padding:14px;background:#f8fafc}
.tusc-metrics strong{font-size:26px}
.tusc-thread{border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin:10px 0}
.tusc-messages{background:#f8fafc;border-radius:12px;padding:12px;margin:10px 0}
@media (max-width: 960px){
	.tusc-console{
		grid-template-columns:1fr;
		gap:16px
	}
	.tusc-sidebar{
		position:static;
		padding:0 0 12px;
		border-bottom:1px solid #e5e7eb;
		border-right:0;
		padding:0 0 12px
	}
	.tusc-nav{
		display:grid;
		grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
		gap:8px
	}
	.tusc-nav a{justify-content:center}
}

.tusc-help{margin:0 0 18px;color:#475569;line-height:1.7}

/* 1.2.2: 左カラムは固定し、スクロールは本文側だけに限定します。 */
.tusc-console{
	height:calc(100vh - var(--turnup-console-header-height,64px) - 48px);
	min-height:0;
	overflow:hidden;
	align-items:stretch;
}
.admin-bar .tusc-console{
	height:calc(100vh - var(--turnup-console-header-height,64px) - 80px);
}
.tusc-sidebar{
	position:relative;
	top:auto;
	height:100%;
	min-height:0;
	overflow-y:auto;
	overscroll-behavior:contain;
}
.admin-bar .tusc-sidebar{
	top:auto;
}
.tusc-main{
	height:100%;
	min-height:0;
	overflow-y:auto;
	overscroll-behavior:contain;
	padding-bottom:48px;
}
.tusc-main > *:last-child{
	margin-bottom:0;
}

@media (max-width: 960px){
	.tusc-console{
		height:auto;
		min-height:0;
		overflow:visible;
		align-items:start;
	}
	.admin-bar .tusc-console{
		height:auto;
	}
	.tusc-sidebar{
		position:static;
		height:auto;
		overflow:visible;
	}
	.tusc-main{
		height:auto;
		overflow:visible;
		padding-bottom:0;
	}
	body.turnup-console-theme:not(.turnup-console-login-screen){
		height:auto;
		overflow:auto;
	}
	body.turnup-console-theme:not(.turnup-console-login-screen) .turnup-console-shell,
	body.turnup-console-theme:not(.turnup-console-login-screen) .turnup-console-content-wrap,
	body.turnup-console-theme:not(.turnup-console-login-screen) .turnup-console-main{
		height:auto;
		min-height:0;
		overflow:visible;
	}
}
