/* Math Salad video-driven commercial interface
   Warm cinematic family-learning palette inspired by the approved flagship video. */
:root{
	--ms-ink:#173226;
	--ms-green:#2f8f5b;
	--ms-green-deep:#17623c;
	--ms-green-soft:#e9f7ef;
	--ms-orange:#f39a3d;
	--ms-orange-deep:#d8751d;
	--ms-cream:#fff9ee;
	--ms-sun:#ffd76a;
	--ms-red:#d94b4b;
	--ms-blue:#3887c9;
	--ms-gray:#8b938e;
	--ms-card:#ffffff;
	--ms-shadow:0 18px 50px rgba(37,74,52,.14);
	--ms-radius:28px;
}
body{
	background:
		radial-gradient(circle at 12% 10%,rgba(255,215,106,.22),transparent 28rem),
		radial-gradient(circle at 88% 4%,rgba(47,143,91,.13),transparent 30rem),
		linear-gradient(180deg,#fffdf7 0%,#f6fbf7 52%,#fff8ed 100%);
	color:var(--ms-ink);
}
.ms-page,.ms-account-page,.app,.ms-school-shell{position:relative}
.ms-page:before,.ms-account-page:before,.app:before,.ms-school-shell:before{
	content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
	background-image:
		radial-gradient(circle at 18% 35%,rgba(243,154,61,.08) 0 2px,transparent 3px),
		radial-gradient(circle at 78% 22%,rgba(47,143,91,.08) 0 2px,transparent 3px);
	background-size:44px 44px,58px 58px;
}
.ms-account-card,.card,.ms-section,.ms-school-panel{
	border:1px solid rgba(47,143,91,.12)!important;
	box-shadow:var(--ms-shadow)!important;
	border-radius:var(--ms-radius)!important;
	background:rgba(255,255,255,.96)!important;
}
.ms-button,.ms-account-button,.btn,.student-action,.ms-school-btn{
	border-radius:999px!important;
	font-weight:900!important;
	letter-spacing:.01em;
	transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.ms-button:hover,.ms-account-button:hover,.btn:hover,.student-action:hover,.ms-school-btn:hover{
	transform:translateY(-2px);
	box-shadow:0 10px 24px rgba(33,80,54,.16);
}
.ms-button.green,.ms-account-button.green,.student-action,.ms-school-btn.warm{
	background:linear-gradient(135deg,var(--ms-green),var(--ms-green-deep))!important;
	color:#fff!important;
	border-color:transparent!important;
}
.ms-button.orange,.ms-account-button.orange{
	background:linear-gradient(135deg,#ffad4f,var(--ms-orange-deep))!important;
	color:#fff!important;
	border-color:transparent!important;
}
.ms-mobile-hero,.student-focus-card,.ms-dashboard-head{
	position:relative;overflow:hidden;
}
.ms-mobile-hero:after,.student-focus-card:after,.ms-dashboard-head:after{
	content:"";position:absolute;width:220px;height:220px;border-radius:50%;
	background:radial-gradient(circle,rgba(255,215,106,.34),rgba(255,215,106,0) 68%);
	right:-80px;top:-90px;pointer-events:none;
}
.ms-student-session-bar{
	background:linear-gradient(90deg,var(--ms-green-deep),var(--ms-green));
	box-shadow:0 10px 30px rgba(23,98,60,.22);
}
.app .hero h1,.ms-school-hero h1,.ms-dashboard-head h1{
	letter-spacing:-.045em;
}
.app .card{overflow:visible}
.app .topbar .pill{
	background:var(--ms-green-soft)!important;
	color:var(--ms-green-deep)!important;
	border:1px solid rgba(47,143,91,.18)!important;
}
.ms-get-help{
	background:linear-gradient(135deg,#fff1e6,#ffe1c3)!important;
	color:#8b4a11!important;border:1px solid #ffd0a0!important;
	box-shadow:0 6px 16px rgba(217,117,29,.08);
}
.ms-get-help.requested{
	background:linear-gradient(135deg,#ffe8e8,#ffd1d1)!important;
	color:#922!important;border-color:#f1aaaa!important;
}
.board{
	border-radius:24px!important;
	background:linear-gradient(180deg,#fff 0%,#fffdf8 100%)!important;
	box-shadow:inset 0 0 0 1px rgba(47,143,91,.08);
}
.keypad .key,.keys button{
	border-radius:18px!important;
	box-shadow:0 8px 18px rgba(37,74,52,.09)!important;
}

/* School command center */
.ms-school-shell{max-width:1480px;margin:0 auto;padding:28px 22px 70px}
.ms-school-hero{
	min-height:250px;border-radius:34px;padding:38px;
	display:flex;align-items:flex-end;justify-content:space-between;gap:30px;
	background:
		linear-gradient(120deg,rgba(23,98,60,.97),rgba(47,143,91,.93) 58%,rgba(243,154,61,.92)),
		radial-gradient(circle at 82% 20%,rgba(255,255,255,.24),transparent 32%);
	color:#fff;box-shadow:0 26px 70px rgba(23,98,60,.25);overflow:hidden;position:relative;
}
.ms-school-hero:before{
	content:"";position:absolute;width:340px;height:340px;border-radius:50%;
	border:40px solid rgba(255,255,255,.08);right:-70px;top:-130px;
}
.ms-school-hero>div{position:relative;z-index:1}
.ms-school-eyebrow,.ms-section-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.76rem;font-weight:1000}
.ms-school-hero h1{font-size:clamp(2rem,4vw,4.3rem);line-height:.97;margin:.45rem 0 .8rem;max-width:860px}
.ms-school-hero p{max-width:760px;font-size:1.06rem;line-height:1.6;opacity:.92;margin:0}
.ms-school-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ms-school-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;text-decoration:none;border:0;cursor:pointer}
.ms-school-btn.ghost{background:#fff;color:var(--ms-green-deep);border:1px solid rgba(23,98,60,.12)}
.ms-school-btn.warm{background:linear-gradient(135deg,#ffb756,#ef8c2f)!important}
.ms-school-notice{margin:18px 0;background:#e7f7ed;border:1px solid #a8d8b9;padding:12px 16px;border-radius:16px;font-weight:800}
.ms-school-notice.error{background:#fff0f0;border-color:#f1b0b0;color:#8d2626}
.ms-pulse-strip{
	display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;
	margin:-32px 24px 24px;position:relative;z-index:2;
}
.ms-pulse-strip>div{
	background:#fff;border:1px solid rgba(47,143,91,.11);border-radius:20px;padding:16px;
	box-shadow:0 13px 30px rgba(37,74,52,.12);display:grid;grid-template-columns:auto auto;gap:2px 9px;align-items:center;
}
.ms-pulse-strip strong{font-size:1.55rem}
.ms-pulse-strip small{grid-column:2;color:#66756c;font-weight:800}
.dot,.status-light{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 0 0 5px rgba(0,0,0,.04)}
.dot.help,.status-help .status-light{background:var(--ms-red)}
.dot.assisting,.status-assisting .status-light{background:var(--ms-blue)}
.dot.struggling,.status-struggling .status-light{background:#e9b52f}
.dot.working,.status-working .status-light{background:var(--ms-green)}
.dot.offline,.status-offline .status-light{background:#a2aaa5}
.ms-school-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.ms-school-tabs a{padding:10px 15px;border-radius:999px;background:#fff;border:1px solid rgba(47,143,91,.13);text-decoration:none;color:var(--ms-green-deep);font-weight:900}
.ms-school-panel{padding:28px;margin:0 0 22px}
.ms-school-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.ms-school-heading h2{font-size:clamp(1.55rem,2.7vw,2.45rem);margin:.3rem 0 .35rem;letter-spacing:-.035em}
.ms-school-heading p{margin:0;color:#65726a;max-width:760px;line-height:1.55}
.ms-section-kicker{color:var(--ms-orange-deep)}
.ms-filter-tools{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.ms-filter{border:1px solid #dce9df;background:#fff;color:#496153;border-radius:999px;padding:9px 12px;font-weight:900;cursor:pointer}
.ms-filter.active{background:var(--ms-green-deep);color:#fff;border-color:var(--ms-green-deep)}
.ms-filter.attention{border-color:#e8a755;color:#98550f}
.ms-same-problem{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff7df;border:1px solid #f0ce7b;border-radius:18px;padding:13px 16px;margin-bottom:16px}
.ms-same-problem strong{color:#805311}.ms-same-problem span{font-size:.9rem;color:#655336}
.ms-class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:14px}
.ms-student-tile{
	border:1px solid #e2ebe5;border-radius:22px;padding:16px;background:#fff;
	box-shadow:0 10px 26px rgba(37,74,52,.08);transition:.2s ease;
}
.ms-student-tile:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(37,74,52,.12)}
.ms-student-tile.status-help{border-color:#efb2b2;background:linear-gradient(180deg,#fff8f8,#fff)}
.ms-student-tile.status-struggling{border-color:#efd989;background:linear-gradient(180deg,#fffcef,#fff)}
.ms-student-tile.status-assisting{border-color:#abd2ef;background:linear-gradient(180deg,#f5fbff,#fff)}
.tile-top{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}
.tile-top strong{display:block;font-size:1.05rem}.tile-top small{display:block;color:#78827c;margin-top:2px}
.status-copy{font-size:.72rem;font-weight:1000;text-transform:uppercase;letter-spacing:.06em;color:#65756a}
.tile-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}
.tile-metrics>div{background:#f6faf7;border-radius:14px;padding:9px;min-width:0}
.tile-metrics span{display:block;font-size:.68rem;color:#7b877f;text-transform:uppercase;font-weight:900}
.tile-metrics strong{font-size:.87rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quiet-flag{background:#fff3c9;color:#7d5a0d;padding:7px 9px;border-radius:10px;font-size:.78rem;font-weight:900;margin-bottom:8px}
.memory-line{font-size:.76rem;color:#6c786f;margin-bottom:9px}
.tile-actions{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}
.tile-actions a,.read-only-action{padding:8px 10px;border-radius:999px;background:var(--ms-green-soft);color:var(--ms-green-deep);text-decoration:none;font-size:.78rem;font-weight:900}
.read-only-action{background:#f0f2f1;color:#727b76}
.ms-inline-intervention{display:grid;gap:7px;border-top:1px solid #edf2ee;padding-top:10px;margin-top:10px}
.ms-inline-intervention select,.ms-inline-intervention input,.ms-assignment-builder input,.ms-assignment-builder select,.ms-assignment-builder textarea,.rescue-form input{
	width:100%;border:1px solid #d9e6dc;border-radius:12px;padding:9px 10px;background:#fff;color:var(--ms-ink)
}
.ms-inline-intervention button,.text-button{border:0;background:none;color:var(--ms-green-deep);font-weight:1000;text-align:left;padding:3px;cursor:pointer}
.ms-snapshot-row{display:flex;justify-content:flex-end;margin-top:16px}
.ms-assignment-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(420px,1.2fr);gap:20px}
.ms-assignment-builder{display:grid;gap:12px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#f4fbf6,#fff8ed);border:1px solid #dce9df}
.ms-assignment-builder label>span,.rescue-form label>span{display:block;font-size:.78rem;text-transform:uppercase;font-weight:1000;color:#647369;margin-bottom:5px}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-triple{display:grid;grid-template-columns:.7fr .7fr 1.4fr;gap:10px}
.scope-choice,.builder-options{display:flex;gap:14px;flex-wrap:wrap;font-size:.9rem;font-weight:800}
.student-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:150px;overflow:auto;background:#fff;border:1px solid #e1ebe4;border-radius:14px;padding:9px}
.student-checks label{font-size:.83rem}
.ms-assignment-list{display:grid;gap:12px;align-content:start}
.assignment-card{border:1px solid #e2ebe5;border-radius:20px;padding:16px;background:#fff;box-shadow:0 9px 23px rgba(37,74,52,.07)}
.assignment-top{display:flex;justify-content:space-between;gap:15px}.assignment-top strong{display:block;font-size:1.02rem}.assignment-top span{font-size:.78rem;color:#748078}
.assignment-due{font-weight:900;color:#8b5c1d!important}
.assignment-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}
.assignment-stats span{background:#f6faf7;padding:8px;border-radius:11px;font-size:.76rem}.assignment-stats b{display:block;font-size:1.05rem}
.assignment-students{border-top:1px solid #edf2ee;margin-top:8px}
.assignment-students>div{display:grid;grid-template-columns:1fr auto 45px;gap:8px;padding:8px 0;border-bottom:1px solid #f0f3f1;font-size:.82rem;align-items:center}
.assignment-status{padding:4px 7px;border-radius:999px;background:#f1f3f2;font-weight:900}
.assignment-status.completed{background:#def3e5;color:#256c43}.assignment-status.late{background:#ffe3e3;color:#922}.assignment-status.in_progress{background:#e4f1fb;color:#245f8c}
.ms-rescue-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ms-rescue-card{border:1px solid #e3ece6;border-radius:22px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfb)}
.ms-rescue-card h3{font-size:1.25rem;margin:0 0 5px}.ms-rescue-card p{color:#6f7973;line-height:1.5}
.rescue-form{display:grid;gap:10px}.rescue-active{display:grid;gap:3px;background:#eef9f2;padding:12px;border-radius:14px;margin:12px 0}
.effect-list{display:grid;gap:8px}.effect-list>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:9px;border-bottom:1px solid #edf2ee;align-items:center}
.effect-list small,.muted{color:#7b847f}
.read-only-badge{background:#edf1ee;border-radius:999px;padding:8px 12px;color:#66736b;font-weight:900;font-size:.8rem}
.ms-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.ms-admin-grid>div{padding:16px;border-radius:18px;background:linear-gradient(145deg,#f2faf5,#fff8ee);border:1px solid #e0ebe3}
.ms-admin-grid span,.ms-admin-grid small{display:block;color:#738077;font-size:.75rem}.ms-admin-grid strong{font-size:1.8rem;display:block;margin:4px 0}
.ms-audit-card{border:1px solid #e4ebe6;border-radius:18px;padding:16px}.ms-audit-card h3{margin-top:0}
.audit-row{display:grid;grid-template-columns:140px 1fr 1fr;gap:12px;padding:8px 0;border-bottom:1px solid #f0f3f1;font-size:.82rem}
.ms-empty-school{grid-column:1/-1;text-align:center;padding:30px;border:1px dashed #cedbd2;border-radius:18px;color:#758078}

@media (max-width:980px){
	.ms-school-hero{align-items:flex-start;flex-direction:column}
	.ms-pulse-strip{grid-template-columns:repeat(3,1fr);margin:-20px 12px 20px}
	.ms-school-heading{flex-direction:column}.ms-filter-tools{justify-content:flex-start}
	.ms-assignment-layout,.ms-rescue-grid{grid-template-columns:1fr}
	.ms-admin-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
	.ms-school-shell{padding:12px 10px 54px}.ms-school-hero{border-radius:24px;padding:24px 20px;min-height:300px}
	.ms-school-hero h1{font-size:2.35rem}.ms-pulse-strip{grid-template-columns:repeat(2,1fr);margin:12px 0 18px}
	.ms-school-panel{padding:17px;border-radius:22px!important}
	.ms-class-grid{grid-template-columns:1fr}.form-pair,.form-triple{grid-template-columns:1fr}
	.student-checks{grid-template-columns:1fr}.assignment-stats{grid-template-columns:repeat(2,1fr)}
	.ms-admin-grid{grid-template-columns:1fr}.audit-row{grid-template-columns:1fr;gap:2px}
	.assignment-top{flex-direction:column}
}

/* Preview admin control center */
.ms-preview-control{max-width:1050px!important}
.ms-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:22px}
.ms-preview-grid a{display:grid;gap:7px;min-height:125px;padding:20px;border-radius:22px;text-decoration:none;background:linear-gradient(145deg,#fff8e9,#eef9f2);border:1px solid rgba(47,143,91,.16);box-shadow:0 12px 28px rgba(37,74,52,.08);color:#20352a}
.ms-preview-grid a strong{font-size:1.05rem;color:#236b45}.ms-preview-grid a span{color:#6c776f;line-height:1.45}
.ms-preview-grid a:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(37,74,52,.13)}

/* Student homework experience */
.ms-homework-active,.ms-homework-tray{
	max-width:1180px;margin:16px auto 0;padding:14px 18px;border-radius:22px;
	background:linear-gradient(135deg,#fff7e7,#eff9f2);border:1px solid rgba(47,143,91,.14);
	box-shadow:0 12px 28px rgba(37,74,52,.09);display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.ms-homework-active>div{display:grid;gap:2px}.ms-homework-active span,.ms-homework-tray-title span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:1000;color:var(--ms-orange-deep)}
.ms-homework-active strong,.ms-homework-tray-title strong{font-size:1.05rem}.ms-homework-active small{color:#6f7c73}
.ms-homework-active p{margin:0;flex:1;min-width:220px;color:#5e6b62}.ms-homework-active a{margin-left:auto;text-decoration:none;font-weight:900;color:var(--ms-green-deep)}
.ms-homework-tray{display:block}.ms-homework-tray-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.ms-homework-tray-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.ms-homework-tray-list a{display:grid;gap:3px;text-decoration:none;color:var(--ms-ink);background:#fff;border:1px solid #e4ece6;padding:11px 13px;border-radius:15px}
.ms-homework-tray-list a span{font-weight:900}.ms-homework-tray-list a small{color:#78827c}
.ms-parent-homework{margin:18px 0;padding:18px;border-radius:20px;background:linear-gradient(180deg,#f7fbf8,#fff9ef);border:1px solid #e1ebe4}
.ms-parent-homework h3{margin:0 0 10px}.ms-parent-homework-grid{display:grid;gap:8px}.ms-parent-homework-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px;background:#fff;border-radius:14px;border:1px solid #e7eee9}
.ms-parent-homework-row small{color:#78827c}.ms-parent-homework-row b{font-size:.78rem;padding:5px 8px;border-radius:999px;background:#eff4f0}

@media(max-width:640px){.ms-homework-active,.ms-homework-tray{margin:10px 10px 0}.ms-parent-homework-row{grid-template-columns:1fr}.ms-homework-active a{margin-left:0}}

/* Flagship video modal */
.ms-video-player-wrap{margin-top:14px;border-radius:20px;overflow:hidden;background:#102219;box-shadow:0 18px 45px rgba(16,34,25,.28)}
.ms-video-player-wrap video{width:100%;height:auto;display:block;max-height:70vh;background:#000}
.ms-modal-card.video-mode{width:min(920px,94vw);max-width:none}
.ms-modal-card.video-mode #ms-modal-copy{display:none}
