/* MES UI Renewal · WHITE PREMIUM SYSTEM · v12.166CW · 2026-09-08
   Single authoritative visual layer for student / teacher / director shells.
   Visual only: workflow, data, permissions, routing and attendance logic are untouched. */
:root{
  --mes-ink:#20262d;
  --mes-ink-soft:#46515d;
  --mes-muted:#69737e;
  --mes-bg:#ffffff;
  --mes-paper:#ffffff;
  --mes-paper-warm:#fffdfa;
  --mes-paper-cool:#ffffff;
  --mes-line:#7b8793;
  --mes-line-strong:#566370;
  --mes-line-soft:#9aa4ae;
  --mes-brand:#596d82;
  --mes-brand-deep:#34475a;
  --mes-brand-pale:#e7edf1;
  --mes-gold:#9a7b45;
  --mes-danger:#a84036;
  --mes-success:#356e59;
  --mes-warning:#8e6327;
  --mes-radius-sm:8px;
  --mes-radius-md:12px;
  --mes-radius-lg:18px;
  --mes-shadow-sm:0 4px 10px rgba(31,39,48,.09),0 1px 2px rgba(31,39,48,.05),inset 0 1px 0 rgba(255,255,255,.96);
  --mes-shadow-md:0 15px 34px rgba(31,39,48,.13),0 4px 10px rgba(31,39,48,.07),inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(71,83,95,.035);
  --mes-shadow-lg:0 28px 62px rgba(31,39,48,.17),0 7px 18px rgba(31,39,48,.09),inset 0 1px 0 rgba(255,255,255,.99),inset 0 -1px 0 rgba(71,83,95,.04);
  /* legacy aliases */
  --navy:var(--mes-brand-deep);--deep:var(--mes-brand-deep);--blue:var(--mes-brand);--gold:var(--mes-gold);
  --gray:var(--mes-muted);--text:var(--mes-ink);--line:var(--mes-line);--bg:var(--mes-bg);
}

/* ===== 1. PAGE SURFACE / BRAND TEXTURE ===== */
body.nb-shell,body.master-compact,body.teacher-compact,body.notice-login-page{
  margin:0;
  color:var(--mes-ink)!important;
  font-family:Pretendard,"Noto Sans KR","Malgun Gothic",Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background-color:#ffffff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='58' viewBox='0 0 104 58'%3E%3Ctext x='8' y='21' font-family='Arial,sans-serif' font-size='8.5' font-weight='700' letter-spacing='1.5' fill='%238fb7df' fill-opacity='.38'%3EMES%3C/text%3E%3Ctext x='63' y='48' font-family='Arial,sans-serif' font-size='8.5' font-weight='700' letter-spacing='1.5' fill='%238fb7df' fill-opacity='.30'%3EMES%3C/text%3E%3C/svg%3E")!important;
  background-size:104px 58px!important;
  background-attachment:fixed!important;
}
body.nb-shell .nb-app,body.master-compact .nb-app,body.teacher-compact .nb-app{position:relative;z-index:1;min-width:0}
body.nb-shell .nb-app,body.master-compact .nb-app,body.teacher-compact .nb-app{
  display:grid!important;grid-template-columns:196px minmax(0,1fr)!important;min-height:100vh!important;background:transparent!important;
}
body.nb-shell .nb-main,body.master-compact .nb-main,body.teacher-compact .nb-main{min-width:0;color:var(--mes-ink)!important;background:transparent!important}
body.master-compact .nb-main,body.teacher-compact .nb-main{padding:18px 22px 40px!important;overflow-x:hidden!important}

/* ===== 2. SIDEBAR SURFACE / TEXT BRAND ===== */
body.nb-shell .nb-sidebar,body.master-compact .nb-sidebar,body.teacher-compact .nb-sidebar{
  background:linear-gradient(180deg,rgba(255,255,255,.995),rgba(249,250,249,.985))!important;
  color:var(--mes-ink)!important;
  border-right:2px solid var(--mes-line-strong)!important;
  box-shadow:15px 0 40px rgba(31,39,48,.15),3px 0 9px rgba(31,39,48,.055),inset -1px 0 0 rgba(255,255,255,.99)!important;
}
body.master-compact .nb-sidebar,body.teacher-compact .nb-sidebar{width:196px!important;min-width:196px!important;padding:13px 9px!important}
.nb-crest.mes-real-crest{
  clip-path:none!important;width:auto!important;height:auto!important;min-height:72px!important;margin:3px 6px 16px!important;padding:12px 10px!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
  background:transparent!important;border:0!important;text-decoration:none!important;text-align:left!important;color:var(--mes-ink)!important;
}
.nb-crest.mes-real-crest img{display:none!important}
.nb-crest.mes-real-crest:before{content:"MES";font:900 32px/.9 Georgia,"Times New Roman",serif;letter-spacing:.055em;color:#263442;text-shadow:0 1px 0 #fff}
.nb-crest.mes-real-crest:after{content:"More Excellent Students";margin-top:8px;font:750 8.5px/1.2 Pretendard,"Noto Sans KR",sans-serif;letter-spacing:.115em;color:#747f89;white-space:nowrap}

/* Role menu visuals are owned only by assets/mes-role-menu.css. */

/* ===== 3. PREMIUM HERO / TOP BARS ===== */
body.master-compact .nb-topbar,body.teacher-compact .nb-topbar,
body.master-compact .nb-dashboard-strip,body.teacher-compact .nb-dashboard-strip{
  margin-bottom:12px!important;padding:14px 16px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(248,249,248,.98))!important;
  border:1.7px solid var(--mes-line-strong)!important;border-radius:12px!important;box-shadow:var(--mes-shadow-md)!important;
}
body.master-compact .nb-topbar h1,body.teacher-compact .nb-topbar h1{margin:0!important;color:var(--mes-ink)!important;font-size:20px!important;line-height:1.3!important;letter-spacing:-.04em!important}
body.master-compact .nb-topbar p,body.teacher-compact .nb-topbar p{margin:4px 0 0!important;color:var(--mes-muted)!important;font-size:11px!important}

body.nb-shell .ns-hero,body.nb-shell .bgv-hero,body.nb-shell .gv-hero,body.nb-shell .portal-hero,
body.nb-shell .rt-hero,body.nb-shell.sf-shell .sf-hero{
  position:relative!important;overflow:hidden!important;isolation:isolate;
  background:linear-gradient(118deg,#ffffff 0%,#ffffff 62%,#fffaf0 100%)!important;
  color:var(--mes-ink)!important;border:1.8px solid var(--mes-line-strong)!important;border-radius:18px!important;box-shadow:var(--mes-shadow-lg)!important;
}
body.nb-shell .ns-hero:before,body.nb-shell .bgv-hero:before,body.nb-shell .gv-hero:before,body.nb-shell .portal-hero:before,
body.nb-shell .rt-hero:before,body.nb-shell.sf-shell .sf-hero:before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(circle,rgba(80,98,116,.20) 1px,transparent 1.2px);background-size:18px 18px;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 58%,transparent 95%);
}
body.nb-shell .ns-hero h1,body.nb-shell .bgv-hero h1,body.nb-shell .gv-hero h1,body.nb-shell .portal-hero h1,
body.nb-shell .rt-hero h1,body.nb-shell.sf-shell .sf-hero h1{color:var(--mes-ink)!important;text-shadow:0 1px 0 #fff}
body.nb-shell .ns-hero p,body.nb-shell .bgv-hero p,body.nb-shell .gv-hero p,body.nb-shell .portal-hero p,
body.nb-shell .rt-hero p,body.nb-shell.sf-shell .sf-hero p{color:#606c78!important}

/* ===== 4. CARDS / PANELS / SECTION DEPTH ===== */
body.nb-shell :is(.nb-card,.card,.panel,.section,.rt-card,.rt-report-panel,.mes-card,.mes-panel,.resource-card,.bgv-card,.bgv-admin,.gv-card,.one-point),
body.master-compact :is(.nb-card,.card,.panel,.section,.rt-card,.mes-card,.mes-panel),
body.teacher-compact :is(.nb-card,.card,.panel,.section,.rt-card,.mes-card,.mes-panel){
  background:#ffffff!important;
  border:1.8px solid #5f6d79!important;border-radius:13px!important;
  box-shadow:var(--mes-shadow-md)!important;
}
body.nb-shell :is(.nb-card,.card,.panel,.section,.rt-card,.resource-card):hover{
  border-color:#596775!important;box-shadow:0 15px 34px rgba(31,39,48,.13),0 4px 10px rgba(31,39,48,.07),inset 0 1px 0 #fff!important;
}
body.master-compact .nb-card,body.teacher-compact .nb-card{padding:13px 14px!important;margin-bottom:11px!important}
body.master-compact .nb-card-title,body.teacher-compact .nb-card-title{margin-bottom:9px!important;padding-bottom:8px!important;border-bottom:1.35px solid #a2abb4!important}
body.nb-shell .nb-card-title h2,body.nb-shell .nb-card-title h3,body.master-compact .nb-card-title h2,body.teacher-compact .nb-card-title h2{color:var(--mes-ink)!important;letter-spacing:-.03em!important}
body.nb-shell .nb-card-title p,body.master-compact .nb-card-title p,body.teacher-compact .nb-card-title p{color:var(--mes-muted)!important}

/* ===== 5. FORMS ===== */
body.nb-shell input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),body.nb-shell select,body.nb-shell textarea,
body.master-compact input,body.master-compact select,body.master-compact textarea,
body.teacher-compact input,body.teacher-compact select,body.teacher-compact textarea{
  box-sizing:border-box!important;background-color:#fff!important;color:var(--mes-ink)!important;
  border:1.6px solid var(--mes-line)!important;border-radius:8px!important;
  box-shadow:inset 0 1px 2px rgba(31,39,48,.045),0 1px 0 rgba(255,255,255,.9)!important;
}
body.nb-shell input:focus,body.nb-shell select:focus,body.nb-shell textarea:focus,
body.master-compact input:focus,body.master-compact select:focus,body.master-compact textarea:focus,
body.teacher-compact input:focus,body.teacher-compact select:focus,body.teacher-compact textarea:focus{
  border-color:#536c84!important;outline:3px solid rgba(83,108,132,.11)!important;outline-offset:0!important;
  box-shadow:inset 0 1px 2px rgba(31,39,48,.035),0 3px 9px rgba(55,75,95,.08)!important;
}
body.nb-shell input::placeholder,body.nb-shell textarea::placeholder{color:#939ca6!important;opacity:1}

/* ===== 6. BUTTONS / TABS ===== */
body.nb-shell .nb-btn,body.master-compact .nb-btn,body.teacher-compact .nb-btn{
  min-height:31px!important;padding:6px 11px!important;border:1.5px solid #75818d!important;border-radius:8px!important;
  background:linear-gradient(180deg,#fff,#f6f7f6)!important;color:#303a44!important;
  box-shadow:0 3px 7px rgba(31,39,48,.09),inset 0 1px 0 rgba(255,255,255,.98)!important;
  font-size:11px!important;font-weight:820!important;transform:none!important;
}
body.nb-shell .nb-btn:hover,body.master-compact .nb-btn:hover,body.teacher-compact .nb-btn:hover{background:linear-gradient(180deg,#fff,#eef1f2)!important;border-color:#5f6d7a!important;transform:translateY(-1px)!important}
body.nb-shell .nb-btn:is(.navy,.primary),body.master-compact .nb-btn:is(.navy,.primary),body.teacher-compact .nb-btn:is(.navy,.primary){
  background:linear-gradient(180deg,#50657a,#3e5265)!important;color:#fff!important;border-color:#33495c!important;
  box-shadow:0 5px 11px rgba(47,67,86,.18),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
body.nb-shell .nb-btn.danger,body.master-compact .nb-btn.danger,body.teacher-compact .nb-btn.danger{background:linear-gradient(180deg,#fff8f7,#f8e7e5)!important;color:var(--mes-danger)!important;border-color:#c7948e!important}
body.nb-shell .nb-inline-tabs button,body.nb-shell .nb-inline-tabs .nb-tab{
  background:linear-gradient(180deg,#fff,#f5f6f5)!important;color:#4d5863!important;border:1.5px solid #788490!important;border-radius:8px!important;font-weight:820!important;box-shadow:var(--mes-shadow-sm)!important;
}
body.nb-shell .nb-inline-tabs button.active,body.nb-shell .nb-inline-tabs .nb-tab.active{background:#e6ecef!important;color:#293744!important;border-color:#5f7182!important;box-shadow:inset 0 -2px 0 #607589,0 3px 8px rgba(31,39,48,.08)!important}

/* ===== 7. TABLES — STRONGER, CLEANER GRID ===== */
body.nb-shell table,body.master-compact table,body.teacher-compact table{
  max-width:100%;border:2px solid #586572!important;border-collapse:collapse!important;background:#fff!important;
  box-shadow:0 10px 24px rgba(31,39,48,.10)!important;
}
body.nb-shell table th,body.nb-shell table td,body.master-compact table th,body.master-compact table td,body.teacher-compact table th,body.teacher-compact table td{border:1.35px solid #77838f!important}
body.nb-shell table th,body.master-compact table th,body.teacher-compact table th{
  background:linear-gradient(180deg,#f0f2f3,#e7eaec)!important;color:#29333d!important;font-weight:880!important;box-shadow:inset 0 -1px 0 rgba(71,83,95,.16)!important;
}
body.nb-shell table td,body.master-compact table td,body.teacher-compact table td{background:rgba(255,255,255,.97)!important}
body.nb-shell table tbody tr:nth-child(even) td,body.master-compact table tbody tr:nth-child(even) td,body.teacher-compact table tbody tr:nth-child(even) td{background:#fafaf8!important}
body.master-compact .nb-table-wrap,body.master-compact .table-wrap,body.teacher-compact .nb-table-wrap,body.teacher-compact .table-wrap{border:1.5px solid #697581!important;border-radius:10px!important;box-shadow:var(--mes-shadow-sm)!important;overflow:auto}

/* ===== 8. BADGES / STATES ===== */
.mes-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 8px;border:1px solid transparent;border-radius:999px;font-size:10.5px;font-weight:850;line-height:1.1;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.mes-badge--info{background:#edf2f5;color:#4d6175;border-color:#bbc7d1}.mes-badge--success{background:#edf6f1;color:var(--mes-success);border-color:#b8d2c6}.mes-badge--gold{background:#f6f1e6;color:#79633a;border-color:#d7c8a8}.mes-badge--warning{background:#fbf3e8;color:var(--mes-warning);border-color:#dfc59f}.mes-badge--danger{background:#fff1ef;color:var(--mes-danger);border-color:#d9aaa5}

/* ===== 9. LOGIN PAGES ===== */
.notice-login-page{background-color:#ffffff!important}
.notice-login-page .site-header{background:rgba(255,255,255,.965)!important;color:var(--mes-ink)!important;border-bottom:1.7px solid var(--mes-line-strong)!important;box-shadow:0 8px 24px rgba(31,39,48,.08)!important}
.notice-login-page .site-header .nav a{background:linear-gradient(180deg,#fff,#f6f7f6)!important;color:#46515d!important;border:1.4px solid var(--mes-line)!important;border-radius:8px!important;font-size:11px!important;font-weight:780!important;box-shadow:var(--mes-shadow-sm)!important}
.notice-login-page .page-hero,.notice-login-page .nb-login-hero,.notice-login-page .teacher-login-hero{
  position:relative!important;overflow:hidden!important;background:linear-gradient(118deg,#ffffff 0%,#ffffff 62%,#fffaf0 100%)!important;color:var(--mes-ink)!important;
  border:1.7px solid var(--mes-line-strong)!important;border-radius:18px!important;box-shadow:var(--mes-shadow-lg)!important;
}
.notice-login-page .teacher-login-card,.notice-login-page .nb-login-card{background:rgba(255,255,255,.99)!important;border:1.7px solid var(--mes-line-strong)!important;border-radius:14px!important;box-shadow:var(--mes-shadow-lg)!important}
.notice-login-page button[type="submit"],.notice-login-page .nb-btn.navy,.notice-login-page .btn-primary{background:linear-gradient(180deg,#50657a,#3e5265)!important;color:#fff!important;border:1px solid #33495c!important;box-shadow:0 7px 16px rgba(47,67,86,.18)!important}

/* ===== 10. REGULAR TEST SHARED SHELL ===== */
#mesRegularSystemShell{display:grid!important;grid-template-columns:196px minmax(0,1fr)!important;gap:18px!important;align-items:start!important}
#mesRegularSideMenu{background:linear-gradient(180deg,#fff,#f8f9f8)!important;border:1.7px solid var(--mes-line-strong)!important;border-radius:14px!important;padding:10px!important;box-shadow:var(--mes-shadow-md)!important}
#mesRegularTopTabs{display:flex!important;gap:7px!important;align-items:center!important;flex-wrap:wrap!important;margin:0 0 14px!important;padding:8px!important;border:1.6px solid var(--mes-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:var(--mes-shadow-sm)!important}
#mesRegularTopTabs button{width:auto!important;margin:0!important;min-height:34px!important;padding:7px 14px!important;border:1.4px solid #7d8995!important;border-radius:8px!important;background:linear-gradient(180deg,#fff,#f4f5f4)!important;color:#3f4a56!important;font-size:11px!important;font-weight:850!important;box-shadow:var(--mes-shadow-sm)!important}
#mesRegularTopTabs button.active{background:#e5eaed!important;color:#26313d!important;border-color:#5f7182!important;box-shadow:inset 0 -2px 0 #607589!important}
#mesRegularSystemShell .mes-regular-workspace{min-width:0!important}

/* ===== 11. PREMIUM ROLE HOME ===== */
.mes-role-home{max-width:1440px;margin:0 auto;padding:24px 28px 58px;color:var(--mes-ink);font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif}
.mes-role-hero{
  position:relative;overflow:hidden;isolation:isolate;min-height:194px;padding:33px 36px;
  border:2.1px solid #556370;border-radius:21px;
  background:linear-gradient(118deg,#ffffff 0%,#ffffff 62%,#fffaf0 100%);
  box-shadow:0 32px 68px rgba(31,40,50,.19),0 8px 20px rgba(31,40,50,.09),inset 0 1px 0 rgba(255,255,255,1),inset 0 -2px 0 rgba(77,90,103,.045);
}
.mes-role-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(circle,rgba(68,87,105,.26) 1px,transparent 1.2px);background-size:18px 18px;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.7) 58%,transparent 94%)}
.mes-role-hero:after{display:none!important;content:none!important}
.mes-role-eyebrow{font-size:10px;font-weight:900;letter-spacing:.17em;color:#63717e;text-transform:uppercase;margin-bottom:13px}
.mes-role-hero h1{margin:0;font-size:clamp(28px,3.2vw,44px);letter-spacing:-.055em;line-height:1.08;color:#202a34;text-shadow:0 1px 0 #fff}
.mes-role-hero p{margin:12px 0 0;max-width:650px;font-size:13px;line-height:1.7;color:#626e79;font-weight:650}
.mes-role-hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:21px}.mes-role-chip{display:inline-flex;align-items:center;min-height:29px;padding:5px 10px;border:1.4px solid #87939e;border-radius:999px;background:rgba(255,255,255,.74);color:#53616e;font-size:10px;font-weight:820;box-shadow:0 3px 8px rgba(31,39,48,.06),inset 0 1px 0 #fff}
.mes-home-alert{margin-top:16px;border:1.6px solid #9b8054;border-radius:14px;background:linear-gradient(135deg,#fffaf0,#f6efe1);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 10px 24px rgba(94,73,38,.09),inset 0 1px 0 #fff}.mes-home-alert strong{font-size:13px}.mes-home-alert p{margin:3px 0 0;font-size:11px;color:#716650}.mes-home-alert a{white-space:nowrap}
.mes-home-section{margin-top:18px}.mes-home-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.mes-home-section-head h2{margin:0;font-size:17px;letter-spacing:-.035em;color:#27313b}.mes-home-section-head p{margin:0;font-size:10.5px;color:#747f89}
.mes-home-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.mes-home-kpis.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.mes-home-card{position:relative;overflow:hidden;min-width:0;padding:17px;border:2px solid #566673;border-radius:15px;background:#ffffff;box-shadow:0 21px 44px rgba(31,40,50,.145),0 6px 14px rgba(31,40,50,.07),inset 0 1px 0 #fff,inset 0 -2px 0 rgba(66,82,96,.03);text-decoration:none;color:inherit}.mes-home-card.soft{background:#ffffff}.mes-home-card.warm{background:linear-gradient(145deg,#ffffff,#fffaf0)}.mes-home-card h3{margin:0;font-size:12px;color:#596671}.mes-home-card strong.mes-home-number{display:block;margin-top:8px;font-size:26px;line-height:1;color:#222c36;letter-spacing:-.04em}.mes-home-card small{display:block;margin-top:8px;font-size:9.5px;line-height:1.5;color:#7c8791}.mes-home-card .mes-home-go{display:inline-flex;margin-top:12px;font-size:9.5px;font-weight:850;color:#4f6b83}
.mes-home-grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:11px}.mes-home-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.mes-home-list{display:grid;gap:7px;margin-top:11px}.mes-home-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1.3px solid #87939e;border-radius:9px;background:#ffffff;box-shadow:0 3px 8px rgba(31,39,48,.05);font-size:10.5px}.mes-home-row strong{font-size:11px}.mes-home-row span{color:#6f7a84}.mes-home-empty{padding:16px 12px;border:1.3px dashed #88949f;border-radius:9px;color:#747f89;font-size:10.5px;text-align:center;background:#ffffff}
.mes-learning-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.mes-learning-card{min-height:142px;padding:18px;border:1.8px solid #60707e;border-radius:15px;background:#ffffff;position:relative;overflow:hidden;box-shadow:0 17px 34px rgba(31,40,50,.13),0 3px 8px rgba(31,40,50,.05),inset 0 1px 0 #fff}.mes-learning-card:after{content:attr(data-code);position:absolute;right:8px;bottom:-23px;font:900 72px/1 Georgia,serif;color:rgba(73,91,108,.09)}.mes-learning-card b{font-size:21px;letter-spacing:.06em}.mes-learning-card p{margin:5px 0 0;color:#747f89;font-size:10px}.mes-learning-card strong{display:block;margin-top:19px;font-size:13px;color:#334251}.mes-learning-card a{display:inline-block;margin-top:12px;font-size:9.5px;font-weight:850;color:#4f6b83;text-decoration:none}
.mes-home-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.mes-home-btn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border:1.4px solid #657482;border-radius:8px;background:linear-gradient(180deg,#fff,#f3f5f4);color:#34414e;font-size:9.5px;font-weight:850;text-decoration:none;box-shadow:var(--mes-shadow-sm)}.mes-home-btn.primary{background:linear-gradient(180deg,#50657a,#3e5265);color:#fff;border-color:#33495c}

/* ===== 12. MISC QUIET ELEMENTS ===== */
body.master-compact .nb-sidebar>div[style*="External Passage"],body.master-compact .nb-sidebar>div[style*="margin-top:14px"],body.master-compact .nb-mascot-side,body.teacher-compact .nb-mascot-side{display:none!important}
body.nb-shell img,body.nb-shell video{max-width:100%}

@media(max-width:1200px),(hover:none) and (pointer:coarse){
  body.nb-shell .nb-app,body.master-compact .nb-app,body.teacher-compact .nb-app{display:flex!important;flex-direction:column!important;grid-template-columns:none!important}
  body.master-compact .nb-sidebar,body.teacher-compact .nb-sidebar{position:relative!important;width:100%!important;min-width:0!important;height:auto!important;padding:9px!important;border-right:0!important;border-bottom:2px solid var(--mes-line-strong)!important}
  body.master-compact .nb-main,body.teacher-compact .nb-main{width:100%!important;padding:10px!important}
}
@media(max-width:1050px){.mes-home-kpis,.mes-home-kpis.five{grid-template-columns:repeat(2,minmax(0,1fr))}.mes-home-grid-2,.mes-home-grid-3,.mes-learning-three{grid-template-columns:1fr}#mesRegularSystemShell{grid-template-columns:1fr!important}}
@media(max-width:700px){.mes-role-home{padding:12px}.mes-role-hero{padding:24px 20px;min-height:170px}.mes-home-kpis,.mes-home-kpis.five{grid-template-columns:1fr}.mes-home-alert{align-items:flex-start;flex-direction:column}}

@media print{
  body.nb-shell,body.master-compact,body.teacher-compact,body.notice-login-page{background:#fff!important;background-image:none!important}
  .mes-role-hero:before,body.nb-shell .ns-hero:before,body.nb-shell .bgv-hero:before,body.nb-shell .gv-hero:before,body.nb-shell .portal-hero:before,body.nb-shell .rt-hero:before,body.nb-shell.sf-shell .sf-hero:before{display:none!important}
}

/* ===== v12.166BK · role-home pending study status ===== */
.mes-pending-card{background:linear-gradient(145deg,#fffdfa 0%,#f7f3eb 100%)!important}
.mes-pending-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:30px;padding:0 9px;border:1px solid #8b7858;border-radius:999px;background:#fffaf0;color:#66563f;font-size:13px;font-weight:900}
.mes-pending-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1.5px solid #858f99;border-radius:10px;background:rgba(255,255,255,.92)}
.mes-pending-main{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;min-width:0}.mes-pending-main strong{font-size:11.5px;color:#2d3741;min-width:0}.mes-pending-main small{grid-column:2;display:block;color:#737d87;font-size:9.8px;line-height:1.4}.mes-pending-kind{display:inline-flex;align-items:center;justify-content:center;grid-row:1/3;min-width:52px;padding:4px 6px;border:1px solid #8d7a58;border-radius:7px;background:#f6efe2;color:#66553a;font-size:9px;font-weight:900}.mes-pending-state{flex:0 0 auto;display:inline-flex;padding:4px 7px;border:1px solid #967f89;border-radius:999px;background:#f5eef2;color:#725461;font-size:9px;font-weight:900}
@media(max-width:700px){.mes-pending-row{align-items:flex-start}.mes-pending-main{grid-template-columns:1fr}.mes-pending-kind{grid-row:auto;justify-self:start}.mes-pending-main small{grid-column:auto}.mes-pending-state{margin-top:1px}}


/* ===== 166BL role-home compact pending rows + calendar ===== */
.mes-pending-card .mes-home-list{display:grid;gap:5px}
.mes-pending-line{display:grid;grid-template-columns:28px 62px 92px 48px minmax(68px,90px) minmax(110px,1fr) 90px 54px;align-items:center;gap:7px;min-height:31px;padding:5px 8px;border:1.5px solid #7f8994;border-radius:7px;background:#fff;color:#303740;font-size:10.5px;line-height:1.2;white-space:nowrap;overflow:hidden}
body[data-role="student"] .mes-pending-line{grid-template-columns:28px 62px 92px 48px minmax(110px,1fr) 90px 54px}
.mes-pending-no{font-weight:900;color:#4a535d;text-align:right}.mes-pending-kind{min-width:0!important;padding:3px 5px!important;border-radius:5px!important;font-size:9px!important;grid-row:auto!important}.mes-pending-class,.mes-pending-date,.mes-pending-student,.mes-pending-item,.mes-pending-result{overflow:hidden;text-overflow:ellipsis}.mes-pending-item{font-weight:850;color:#28313a}.mes-pending-state{justify-self:end;padding:3px 6px!important;border-radius:6px!important}
.mes-calendar-card{background:linear-gradient(145deg,#fff 0%,#f7f9fa 100%)!important}.mes-role-calendar{margin-top:8px}.mes-cal-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:7px;margin-bottom:9px}.mes-cal-head strong{text-align:center;font-size:14px;color:#2c333b}.mes-cal-head button{height:30px;border:1.5px solid #7f8994;border-radius:7px;background:#fff;color:#3d4650;font-size:18px;cursor:pointer}.mes-cal-week,.mes-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.mes-cal-week span{text-align:center;font-size:9.5px;font-weight:850;color:#68727e;padding:3px}.mes-cal-day{min-height:108px;padding:7px;border:1.5px solid #87929d;border-radius:8px;background:#fff;overflow:visible}.mes-cal-day.muted{background:#f4f5f6;border-color:#c2c7cd}.mes-cal-day.today{outline:2px solid #75879a;outline-offset:-2px;background:#f4f7f9}.mes-cal-day b{display:block;margin-bottom:5px;font-size:10px;color:#3e4650}.mes-cal-day span.mes-cal-event{display:block;margin-top:3px;padding:3px 5px;border-radius:5px;font-size:8.4px;font-weight:760;line-height:1.35;white-space:normal;overflow:visible;text-overflow:clip;word-break:keep-all;overflow-wrap:anywhere}.mes-cal-day span.mes-cal-event.academy{background:#e8eef4;color:#3f5368;border:1px solid #bcc9d5}.mes-cal-day span.mes-cal-event.admission-test{background:#f7ead4;color:#76552b;border:1px solid #d8b980}.mes-cal-day span.mes-cal-event.first-class{background:#e8f1ea;color:#42604a;border:1px solid #aac1b0}.mes-cal-day small{display:block;margin-top:2px;color:#7b8490;font-size:8px}.mes-calendar-legend{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 9px}.mes-calendar-legend span{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:800;color:#59636e}.mes-calendar-legend i{width:9px;height:9px;border-radius:3px;border:1px solid #9aa4ae}.mes-calendar-legend .academy i{background:#e8eef4;border-color:#bcc9d5}.mes-calendar-legend .admission-test i{background:#f7ead4;border-color:#d8b980}.mes-calendar-legend .first-class i{background:#e8f1ea;border-color:#aac1b0}body[data-role="master"] .mes-calendar-card{padding:18px}body[data-role="master"] .mes-cal-day{min-height:132px}
@media(max-width:900px){.mes-pending-line,body[data-role="student"] .mes-pending-line{display:flex;flex-wrap:wrap;white-space:normal;overflow:visible}.mes-cal-day,body[data-role="master"] .mes-cal-day{min-height:72px;padding:5px}.mes-cal-week,.mes-cal-grid{gap:3px}}

/* ===== 166BM calendar visibility + pending fix ===== */
.mes-cal-load-note{margin:0 0 8px;padding:7px 9px;border:1.5px solid #9aa4ae;border-radius:6px;background:#f7f8f9;color:#5f6974;font-size:9.5px;font-weight:750}

/* V10: Hero uses dots; page body uses repeated MES wordmark texture. */
body:not(.nb-shell):not(.master-compact):not(.teacher-compact):not(.ha-body-pattern-off){
  background-color:#eef0f1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='54' viewBox='0 0 96 54'%3E%3Ctext x='8' y='21' font-family='Arial,sans-serif' font-size='8' font-weight='700' letter-spacing='1.5' fill='%23576675' fill-opacity='.31'%3EMES%3C/text%3E%3Ctext x='58' y='46' font-family='Arial,sans-serif' font-size='8' font-weight='700' letter-spacing='1.5' fill='%23576675' fill-opacity='.25'%3EMES%3C/text%3E%3C/svg%3E");
  background-size:96px 54px;
  background-attachment:fixed;
}
@media print{body.nb-shell,body.master-compact,body.teacher-compact{background:#fff!important;background-image:none!important}.mes-role-hero:before{display:none!important}}


/* ===== 166BP student home core: pending first / learning left / calendar right ===== */
.mes-student-core-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}
.mes-student-core-grid>.mes-home-card{height:100%;margin:0}
.mes-student-learning-panel .mes-learning-stack{grid-template-columns:1fr;gap:8px}
.mes-student-learning-panel .mes-learning-card{min-height:106px;padding:13px 15px}
.mes-student-learning-panel .mes-learning-card strong{margin-top:9px}
.mes-student-learning-panel .mes-learning-card a{margin-top:8px}
.mes-student-core-grid .mes-calendar-card{min-width:0}
.mes-student-core-grid .mes-cal-day{min-height:66px}
@media(max-width:980px){.mes-student-core-grid{grid-template-columns:1fr}.mes-student-learning-panel .mes-learning-stack{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.mes-student-learning-panel .mes-learning-stack{grid-template-columns:1fr}}

/* ===== v12.166BU · student hero class info + urgent pending ===== */
body[data-role="student"] .mes-student-hero{min-height:238px;padding:25px 28px}
.mes-student-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:28px;align-items:stretch;position:relative;z-index:1}
.mes-student-hero-intro{align-self:center;min-width:0}
.mes-student-info-panel{align-self:stretch;padding:16px 17px;border:1.6px solid #78838e;border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 10px 24px rgba(39,49,60,.065);backdrop-filter:blur(7px);min-width:0}
.mes-student-info-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1.5px solid #9ba4ad}.mes-student-info-title span{font-size:8.5px;font-weight:900;letter-spacing:.16em;color:#7b858f}.mes-student-info-title strong{font-size:13px;color:#29333d}
.mes-student-class-time{display:grid;grid-template-columns:74px 1fr auto;gap:8px;align-items:center;padding:11px 0;border-bottom:1.5px solid #a4adb5}.mes-student-class-time small,.mes-student-books-head small{font-size:9px;font-weight:900;color:#69747e}.mes-student-class-time strong{font-size:13px;color:#202a34}.mes-student-class-time span{font-size:9.5px;font-weight:850;color:#68737e;white-space:nowrap}
.mes-student-books-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0 7px}.mes-student-books-head b{padding:3px 7px;border:1px solid #99a4ae;border-radius:999px;background:#f1f3f4;color:#56616b;font-size:8.5px}
.mes-student-book-table{display:grid;border:1.5px solid #87919b;border-radius:9px;overflow:hidden;background:#fff}.mes-student-book-row{display:grid;grid-template-columns:86px minmax(0,1fr);min-height:31px;border-bottom:1px solid #aab2ba}.mes-student-book-row:last-child{border-bottom:0}.mes-student-book-row span,.mes-student-book-row strong{display:flex;align-items:center;padding:6px 8px;font-size:9.5px;line-height:1.35}.mes-student-book-row span{background:#f2f4f5;border-right:1px solid #aab2ba;color:#65717c;font-weight:900}.mes-student-book-row strong{color:#2e3842;font-weight:800;word-break:keep-all}.mes-student-info-empty{padding:10px;border:1px dashed #a0a9b2;border-radius:8px;background:#f7f8f8;color:#7b858f;font-size:9.5px;text-align:center}
.mes-student-pending-section{padding:15px 16px 16px;border:1.6px solid #858f99;border-radius:14px;background:rgba(255,255,255,.9);transition:.18s ease}.mes-student-pending-section.has-pending{border:2px solid #b26a35;background:linear-gradient(135deg,#fff4e8 0%,#fffaf4 62%,#fff 100%);box-shadow:0 10px 25px rgba(155,85,35,.10)}.mes-student-pending-section.has-pending .mes-home-section-head h2{color:#7a381c}.mes-student-pending-section.has-pending .mes-home-section-head p{color:#8b6049;font-weight:760}.mes-student-pending-badge{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #a64f2d;border-radius:999px;background:#8f3e23;color:#fff;font-size:9px;font-weight:950;letter-spacing:.02em}
body[data-role="student"] .mes-student-pending-section.has-pending .mes-pending-line.urgent{border-color:#ad6539;background:#fff9f4;box-shadow:inset 4px 0 0 #a9542f;color:#3a2e28}.mes-student-pending-section.has-pending .mes-pending-line .mes-pending-no{color:#823d21;font-size:11px}.mes-student-pending-section.has-pending .mes-pending-kind{background:#8f3f24!important;border-color:#8f3f24!important;color:#fff!important;font-weight:950!important}.mes-student-pending-section.has-pending .mes-pending-item{color:#582e1f;font-weight:950}.mes-student-pending-section.has-pending .mes-pending-result{color:#744634;font-weight:850}.mes-student-pending-section.has-pending .mes-pending-state{background:#f6d9cc!important;border-color:#b7613c!important;color:#81391f!important;font-weight:950}.mes-pending-clear{border-color:#a9b3ab;background:#f7faf7;color:#64746a}
@media(max-width:1120px){.mes-student-hero-grid{grid-template-columns:1fr}.mes-student-info-panel{max-width:none}.mes-student-class-time{grid-template-columns:70px 1fr auto}}
@media(max-width:700px){body[data-role="student"] .mes-student-hero{padding:20px}.mes-student-hero-grid{gap:18px}.mes-student-class-time{grid-template-columns:1fr}.mes-student-class-time span{white-space:normal}.mes-student-book-row{grid-template-columns:74px minmax(0,1fr)}.mes-student-pending-section{padding:12px}}


/* ===== v12.166BX · FINAL COMMON MENU + STAFF PERMISSION UI ===== */
.mes-access-preset-row{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:9px;padding:9px 10px;border:1.5px solid #8e99a5;border-radius:10px;background:#ffffff}.mes-access-preset-row label{display:grid;gap:4px;font-size:10px;font-weight:900;color:#38434f}.mes-access-preset-row select{min-width:150px;padding:6px 8px;border:1.5px solid #7f8994;border-radius:8px;background:#fff}.mes-access-preset-row span{font-size:9.5px;color:#737e89;font-weight:750}
.mes-access-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.mes-access-group-card{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1.5px solid #8d98a3;border-radius:10px;background:#fff;cursor:pointer}.mes-access-group-card input{appearance:auto!important;width:16px!important;height:16px!important;margin:1px 0 0!important;flex:0 0 auto}.mes-access-group-card span{display:grid;gap:3px}.mes-access-group-card b{font-size:11px;color:#29343f}.mes-access-group-card small{font-size:9px;line-height:1.4;color:#74808b}.mes-access-details{margin-top:9px;padding:8px 9px;border:1px solid #9da6af;border-radius:9px;background:#fafaf9}.mes-access-details summary{cursor:pointer;font-size:10px;font-weight:900;color:#4c5864}
@media(max-width:1050px){.mes-access-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.mes-access-group-grid{grid-template-columns:1fr}.mes-access-preset-row{align-items:stretch;flex-direction:column}}

/* MES public holiday calendar treatment */
.mes-public-holiday{background:linear-gradient(180deg,#fff8f7 0%,#fff 100%)!important;border-color:#d7a7a1!important}
.mes-public-holiday>.nb-date,.mes-public-holiday>.admission-calendar-date,.mes-public-holiday>b{color:#a33b32!important}
.mes-holiday-label{display:block;margin:2px 0 3px;font-size:9px;line-height:1.15;font-weight:900;color:#a33b32;white-space:normal;word-break:keep-all}
.mes-cal-day .mes-holiday-label{font-size:9px;margin:1px 0 3px}
.rn-pick-day.mes-public-holiday{color:#a33b32!important;border-color:#d7a7a1!important;background:#fff8f7!important}
.rn-pick-day .mes-holiday-label{font-size:7px;line-height:1;margin-top:1px}
@media(max-width:700px){.mes-holiday-label{font-size:8px}}


/* ===== v12.166CW · WHITE SURFACE CORRECTION · 2026-09-08 =====
   User direction: restore bright white page surfaces across the renewal layer,
   retain a subtle MES watermark, and prevent login hero clipping. */
body.nb-shell,body.master-compact,body.teacher-compact,body.notice-login-page{
  background-color:#fff!important;
}
body.nb-shell .nb-main,body.master-compact .nb-main,body.teacher-compact .nb-main,
body.nb-shell .mes-role-home,body.master-compact .mes-role-home,body.teacher-compact .mes-role-home{
  background-color:transparent!important;
}
body.nb-shell :is(.nb-topbar,.nb-dashboard-strip,.nb-card,.card,.panel,.section,.mes-card,.mes-panel,.resource-card,.bgv-card,.bgv-admin,.gv-card,.one-point),
body.master-compact :is(.nb-topbar,.nb-dashboard-strip,.nb-card,.card,.panel,.section,.mes-card,.mes-panel),
body.teacher-compact :is(.nb-topbar,.nb-dashboard-strip,.nb-card,.card,.panel,.section,.mes-card,.mes-panel){
  background:#fff!important;
}
body.nb-shell :is(.ns-hero,.bgv-hero,.gv-hero,.portal-hero,.rt-hero),body.nb-shell.sf-shell .sf-hero,
.mes-role-hero{
  background:linear-gradient(118deg,#fff 0%,#fff 64%,#fffaf0 100%)!important;
}
.mes-home-card,.mes-home-card.soft{background:#fff!important}
.mes-home-card.warm{background:linear-gradient(145deg,#fff,#fffaf0)!important}
.mes-learning-card,.mes-home-row,.mes-home-empty{background:#fff!important}
body.nb-shell table td,body.master-compact table td,body.teacher-compact table td,
body.nb-shell table tbody tr:nth-child(even) td,body.master-compact table tbody tr:nth-child(even) td,body.teacher-compact table tbody tr:nth-child(even) td{
  background:#fff!important;
}

/* Login pages: white canvas + readable pale-blue MES texture + unclipped hero. */
.notice-login-page{
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='58' viewBox='0 0 104 58'%3E%3Ctext x='8' y='21' font-family='Arial,sans-serif' font-size='8.5' font-weight='700' letter-spacing='1.5' fill='%238fb7df' fill-opacity='.42'%3EMES%3C/text%3E%3Ctext x='63' y='48' font-family='Arial,sans-serif' font-size='8.5' font-weight='700' letter-spacing='1.5' fill='%238fb7df' fill-opacity='.33'%3EMES%3C/text%3E%3C/svg%3E")!important;
  background-size:104px 58px!important;
  background-attachment:fixed!important;
}
.notice-login-page .page-hero,.notice-login-page .nb-login-hero,.notice-login-page .teacher-login-hero{
  min-height:132px!important;
  height:auto!important;
  padding:22px 22px 20px!important;
  overflow:visible!important;
  background:linear-gradient(118deg,#fff 0%,#fff 64%,#fffaf0 100%)!important;
}
.notice-login-page .nb-login-hero-inner{
  min-height:88px!important;
  align-items:center!important;
}
.notice-login-page .nb-login-hero-copy{padding:2px 0 4px!important;overflow:visible!important}
.notice-login-page .nb-login-hero-copy h1{
  margin:0!important;
  padding:0 0 2px!important;
  line-height:1.24!important;
  overflow:visible!important;
}
.notice-login-page .nb-login-hero-copy p{margin:7px 0 0!important;line-height:1.55!important}
.notice-login-page .teacher-login-card,.notice-login-page .nb-login-card{background:#fff!important}
.notice-login-page .nb-login-note{background:#fff!important}
@media(max-width:640px){
  .notice-login-page .page-hero,.notice-login-page .nb-login-hero,.notice-login-page .teacher-login-hero{min-height:118px!important;padding:18px 14px 16px!important}
  .notice-login-page .nb-login-hero-inner{min-height:78px!important}
}

/* ===== v12.166CX · FINAL GLOBAL WHITE SURFACE =====
   All page-level gray fallback surfaces are white. The MES wordmark remains softly visible. */
html,body{
  background-color:#ffffff!important;
}
body:not(.ha-body-pattern-off){
  background-color:#ffffff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='58' viewBox='0 0 104 58'%3E%3Ctext x='8' y='21' font-family='Arial,sans-serif' font-size='8.5' font-weight='700' letter-spacing='1.5' fill='%238fb7df' fill-opacity='.30'%3EMES%3C/text%3E%3Ctext x='63' y='48' font-family='Arial,sans-serif' font-size='8.5' font-weight='700' letter-spacing='1.5' fill='%238fb7df' fill-opacity='.23'%3EMES%3C/text%3E%3C/svg%3E")!important;
  background-size:104px 58px!important;
  background-attachment:fixed!important;
}
/* Page shells and primary content surfaces that were changed to gray in the renewal are restored to white. */
:is(.container,.content,.nb-main,.ha-main,.mes-tool-main,.mes-regular-role-main){background-color:transparent!important}
:is(.panel,.card,.nb-card,.image-panel,.ha-top,.ha-board-wrap,.ha-guide,.ha-note-card,.ha-dialog,.nb-login-card,.teacher-login-card){background-color:#ffffff!important}

/* Login hero clipping correction: title/copy/mascot must remain fully visible. */
.notice-login-page :is(.page-hero,.nb-login-hero,.teacher-login-hero){min-height:148px!important;height:auto!important;padding:22px 20px 20px!important;overflow:visible!important}
.notice-login-page .nb-login-hero-inner{min-height:104px!important;height:auto!important;overflow:visible!important;align-items:center!important}
.notice-login-page .nb-login-hero-copy,.notice-login-page .nb-login-hero-copy h1,.notice-login-page .nb-login-hero-copy p{overflow:visible!important;max-height:none!important}

@media print{html,body,body:not(.ha-body-pattern-off){background:#fff!important;background-image:none!important}}

/* ===== v12.166DB · PURE WHITE SURFACE OVERRIDE · 2026-09-08 =====
   Remove dull gray structural shading across the entire site.
   Functional status colors/chips remain untouched; page, shell, panel and utility surfaces are pure white. */
html,body,
body.nb-shell,body.master-compact,body.teacher-compact,body.notice-login-page,
body:not(.ha-body-pattern-off){
  background-color:#fff!important;
}

/* Preserve the MES wordmark texture on white where the renewal layer uses it. */
body.nb-shell,body.master-compact,body.teacher-compact,body.notice-login-page,
body:not(.nb-shell):not(.master-compact):not(.teacher-compact):not(.ha-body-pattern-off){
  background-color:#fff!important;
}

/* Main structural surfaces: no gray tint or gray gradients. */
.nb-app,.nb-main,.content,.container,main,
body.nb-shell .nb-app,body.nb-shell .nb-main,
body.master-compact .nb-app,body.master-compact .nb-main,
body.teacher-compact .nb-app,body.teacher-compact .nb-main,
.notice-login-page .content,.notice-login-page main{
  background-color:transparent!important;
}

body.nb-shell .nb-sidebar,body.master-compact .nb-sidebar,body.teacher-compact .nb-sidebar,
body.nb-shell .nb-topbar,body.master-compact .nb-topbar,body.teacher-compact .nb-topbar,
body.nb-shell .nb-dashboard-strip,body.master-compact .nb-dashboard-strip,body.teacher-compact .nb-dashboard-strip,
.notice-login-page .page-hero,.notice-login-page .nb-login-hero,.notice-login-page .teacher-login-hero,
.notice-login-page .teacher-login-card,.notice-login-page .nb-login-card,
body.nb-shell :is(.nb-card,.card,.panel,.section,.rt-card,.rt-report-panel,.mes-card,.mes-panel,.resource-card,.bgv-card,.bgv-admin,.gv-card,.one-point),
body.master-compact :is(.nb-card,.card,.panel,.section,.rt-card,.mes-card,.mes-panel),
body.teacher-compact :is(.nb-card,.card,.panel,.section,.rt-card,.mes-card,.mes-panel),
.mes-role-hero,.mes-home-card,.mes-learning-card,.mes-calendar-card,
.mes-home-empty,.mes-student-info-empty,.mes-cal-load-note,
.mes-pending-row,.mes-pending-line,
.mes-rich-toolbar,.mes-rich-editor,
.nb-day,.nb-cal-day,.mes-cal-day{
  background:#fff!important;
  background-image:none!important;
}

/* Inputs and neutral utility boxes also stay white. */
body.nb-shell input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
body.nb-shell select,body.nb-shell textarea,
body.master-compact input,body.master-compact select,body.master-compact textarea,
body.teacher-compact input,body.teacher-compact select,body.teacher-compact textarea,
.notice-login-page input,.notice-login-page select,.notice-login-page textarea,
.mes-rich-toolbar button,.mes-rich-toolbar select{
  background:#fff!important;
}

/* Neutral empty/help/info surfaces that previously looked gray. */
.mes-home-shortcut-guide,.mes-login-guide,.nb-login-note,
.mes-workflow-guide,.mes-v7183-source-choice,.mes-v7183-step,
.mes-omr-submission-menu,.analysisBox,.tipBox,
.prScore,.prFooter,#mesAdmissionDetailBox .detailActions,
.mes-schedule-empty,.mes-schedule-table th,
.historyTable th,.prInfo th,
.mes-student-book-row span{
  background:#fff!important;
  background-image:none!important;
}

/* Calendar out-of-month cells: differentiate with text/border only, not gray fill. */
.mes-cal-day.muted,.mes-cal-day.today{
  background:#fff!important;
}

/* Avoid gray cast from heavy structural shadows. Keep only a light clean separation. */
body.nb-shell .nb-sidebar,body.master-compact .nb-sidebar,body.teacher-compact .nb-sidebar,
body.nb-shell .nb-topbar,body.master-compact .nb-topbar,body.teacher-compact .nb-topbar,
body.nb-shell .nb-dashboard-strip,body.master-compact .nb-dashboard-strip,body.teacher-compact .nb-dashboard-strip,
.notice-login-page .teacher-login-card,.notice-login-page .nb-login-card,
body.nb-shell :is(.nb-card,.card,.panel,.section,.rt-card,.rt-report-panel,.mes-card,.mes-panel,.resource-card,.bgv-card,.bgv-admin,.gv-card,.one-point),
body.master-compact :is(.nb-card,.card,.panel,.section,.rt-card,.mes-card,.mes-panel),
body.teacher-compact :is(.nb-card,.card,.panel,.section,.rt-card,.mes-card,.mes-panel),
.mes-role-hero,.mes-home-card,.mes-learning-card,.mes-calendar-card{
  box-shadow:0 5px 16px rgba(31,39,48,.07)!important;
}

/* ===== v12.166DC · ABSOLUTE WHITE NEUTRAL SURFACES · 2026-09-08 =====
   Final pass: remove all dull neutral gray fills, including legacy inline styles.
   Semantic state colors (success/warning/error/holiday) are intentionally preserved. */
html,body,.nb-shell,.nb-app,.nb-main,.content,.container,main,
.nb-sidebar,.nb-topbar,.nb-dashboard-strip,
.nb-card,.card,.panel,.section,.mes-card,.mes-panel,
.teacher-login-card,.nb-login-card,.nb-login-note,
.ha-main,.ha-top,.ha-board-wrap,.ha-guide,.ha-note-card,
.mes-calendar-card,.mes-home-card,.mes-learning-card,
.mes-home-empty,.mes-student-info-empty,.mes-cal-load-note,
.mes-pending-row,.mes-pending-line,.mes-rich-toolbar,.mes-rich-editor,
.nb-day,.nb-cal-day,.mes-cal-day,.mes-cal-day.muted,.mes-cal-day.today,
.nb-submission-item,.nb-notice-item,.location-row{
  background-color:#fff!important;
}
/* Neutral gradients/shades from old screens: force pure white. */
.nb-sidebar,.nb-topbar,.nb-dashboard-strip,.page-hero,.nb-login-hero,.teacher-login-hero,
.mes-role-hero,.mes-home-card.soft,.mes-calendar-card{
  background:#fff!important;
  background-image:none!important;
}
/* Legacy inline neutral fills that survived the previous global layer. */
[style*="background:#f8fafc"],[style*="background: #f8fafc"],
[style*="background:#f7f8f9"],[style*="background: #f7f8f9"],
[style*="background:#f7f9fa"],[style*="background: #f7f9fa"],
[style*="background:#f4f5f6"],[style*="background: #f4f5f6"],
[style*="background:#f3f4f6"],[style*="background: #f3f4f6"],
[style*="background:#f2f4f5"],[style*="background: #f2f4f5"],
[style*="background:#eef2f7"],[style*="background: #eef2f7"],
[style*="background:#eef2f5"],[style*="background: #eef2f5"],
[style*="background:#eef0f1"],[style*="background: #eef0f1"],
[style*="background:#f6f7f8"],[style*="background: #f6f7f8"],
[style*="background:#f6f7f6"],[style*="background: #f6f7f6"],
[style*="background:#f7f8fb"],[style*="background: #f7f8fb"]{
  background:#fff!important;
  background-image:none!important;
}
/* Same neutral shades when declared as background-color inline. */
[style*="background-color:#f8fafc"],[style*="background-color: #f8fafc"],
[style*="background-color:#f3f4f6"],[style*="background-color: #f3f4f6"],
[style*="background-color:#eef2f7"],[style*="background-color: #eef2f7"],
[style*="background-color:#eef0f1"],[style*="background-color: #eef0f1"]{
  background-color:#fff!important;
}
/* Neutral table headings/cells are white too; borders provide separation. */
table th,table td,.mes-schedule-table th,.historyTable th,.prInfo th{
  background-color:#fff!important;
}
/* Remove gray cast from large neutral shadows. */
.nb-sidebar,.nb-topbar,.nb-dashboard-strip,.nb-card,.card,.panel,.section,
.teacher-login-card,.nb-login-card,.mes-role-hero,.mes-home-card,.mes-learning-card,.mes-calendar-card{
  box-shadow:0 3px 10px rgba(23,39,64,.045)!important;
}

/* ===== v12.166DS · staff pending board — single canonical layout ===== */
/*
  This is the only staff-pending layout block.
  Legacy DL two-column and DP/DQ override layers were removed to prevent stale layout conflicts.
*/
.mes-pending-filter{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin:0 0 9px;padding:7px 8px;
  border:1.2px solid #b5bdc6;border-radius:8px;background:#fff;
}
.mes-pending-filter .mes-pending-search,
.mes-pending-filter select{
  box-sizing:border-box;height:30px;min-width:0;width:auto;
  padding:0 25px 0 8px;border:1.2px solid #939da7;border-radius:6px;
  background:#fff;color:#27313a;font-size:10px;font-weight:800;line-height:30px;
}
.mes-pending-filter .mes-pending-search{width:132px;padding-right:8px;font-weight:700}
#staffPendingClassFilter{width:142px}
#staffPendingDateFilter{width:106px}
.mes-pending-filter select:disabled{opacity:.55}
.mes-pending-filter button{
  height:30px;min-width:48px;padding:0 11px;border:1px solid #26384a;
  border-radius:6px;background:#26384a;color:#fff;font-size:10px;font-weight:900;cursor:pointer;
}

#staffPendingList.mes-pending-grade-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;align-items:start;
}
.mes-pending-grade-col{min-width:0;border:1.3px solid #aab4be;border-radius:8px;background:#fff;overflow:hidden}
.mes-pending-grade-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px;border-bottom:1px solid #cbd2d9;background:#fafbfc}
.mes-pending-grade-head strong{font-size:12px;color:#26313c;font-weight:950}
.mes-pending-grade-head span{font-size:8.8px;color:#717c87;font-weight:800}
.mes-pending-grade-body{display:grid;gap:6px;padding:6px}
.mes-pending-student-group{border:1px solid #d0d6dc;border-radius:6px;background:#fff;overflow:hidden}
.mes-pending-student-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 6px;background:#f7f8f9;border-bottom:1px solid #dce1e5}
.mes-pending-student-head strong{font-size:10px;color:#27323c;font-weight:950}
.mes-pending-student-head span{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:17px;padding:0 5px;border-radius:999px;background:#eceff2;color:#5f6973;font-size:8.5px;font-weight:900}
.mes-pending-student-items{display:grid}

/* one row = date | full item label | score | compact delete */
#staffPendingList .mes-pending-item-row{
  display:flex;align-items:center;justify-content:flex-start;gap:4px;
  min-height:30px;padding:3px 4px 3px 6px;
  border-top:1px solid #eef1f3;font-size:8.8px;
  white-space:nowrap;overflow:hidden;
}
#staffPendingList .mes-pending-item-row:first-child{border-top:0}
#staffPendingList .mes-pending-item-row .mes-pending-date{
  flex:0 0 auto;min-width:0;color:#66717c;font-weight:800;text-align:left;white-space:nowrap;
}
#staffPendingList .mes-pending-item-row .mes-pending-item{
  flex:0 1 auto;min-width:0;max-width:calc(100% - 92px);color:#303a44;font-weight:850;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.18;font-size:9px;
}
#staffPendingList .mes-pending-item-row .mes-pending-result{
  flex:0 0 auto;min-width:14px;margin:0;color:#8a5a3c;font-weight:950;text-align:left;white-space:nowrap;
}
#staffPendingList .mes-pending-item-row .mes-pending-delete{
  flex:0 0 auto;position:static;transform:none;margin:0;height:20px;min-width:27px;padding:0 4px;
  border:1px solid #b85c5c;border-radius:4px;background:#fff;color:#a33f3f;
  font-size:7.8px;font-weight:900;line-height:18px;cursor:pointer;
}
#staffPendingList .mes-pending-item-row .mes-pending-delete:hover{background:#fff4f4}
#staffPendingList .mes-pending-item-row .mes-pending-delete:disabled{opacity:.45;cursor:wait}
.mes-pending-grade-empty{padding:16px 6px;text-align:center;color:#89939d;font-size:9px;font-weight:700}

@media(max-width:1150px){#staffPendingList.mes-pending-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
  #staffPendingList.mes-pending-grade-grid{grid-template-columns:1fr}
  .mes-pending-filter .mes-pending-search{width:120px}
  #staffPendingClassFilter{width:128px}
  #staffPendingDateFilter{width:102px}
}

