@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root{--ink:#171725;--muted:#92919d;--paper:#f5f6fb;--purple:#6b5bdf;--purple-soft:#ebe9ff;--line:#e7e7ef;--white:#fff;--cyan:#dff3fa;--pink:#f8e5f9}*{box-sizing:border-box}body{margin:0;background:#b8bec8;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}.sidebar{position:fixed;inset:68px auto 52px max(32px,calc((100vw - 1768px)/2));width:266px;background:#fff;border-radius:27px 0 0 27px;padding:40px 34px;display:flex;flex-direction:column;z-index:5}.brand{color:#161524;text-decoration:none;display:flex;align-items:center;gap:12px;font:700 25px Manrope}.brand-mark{width:39px;height:39px;border-radius:50%;background:linear-gradient(135deg,#806cf4,#5a48cf);display:grid;place-items:center;color:#fff;font-size:23px;box-shadow:0 7px 13px #6957dd33}.brand-dot{color:var(--purple)}nav{margin-top:70px;display:grid;gap:19px}.nav-link{color:var(--ink);text-decoration:none;font-size:17px;font-weight:600;display:flex;gap:14px;align-items:center}.nav-link span{display:grid;place-items:center;width:19px;color:#22212d;font-size:19px}.nav-link.active{font-weight:700}.nav-link.active span{color:var(--purple)}.sidebar-bottom{margin-top:auto}.sidebar-bottom p{color:var(--muted);font-size:12px;margin:0 0 18px;text-transform:uppercase}.sidebar-bottom strong,.sidebar-bottom span{display:none}main{margin:68px max(32px,calc((100vw - 1768px)/2)) 52px calc(max(32px,calc((100vw - 1768px)/2)) + 266px);min-height:calc(100vh - 120px);background:#f7f8fd;border-radius:0 27px 27px 0;padding:36px 34px 50px;max-width:1502px}.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:25px}.crumb{display:none}.topbar-right{font-size:0;display:flex;gap:17px;align-items:center;order:-1;flex:1}.topbar-right:before{content:'⌕  Search your workspace…';background:#fff;border:1px solid #dddde5;border-radius:31px;color:#aaa9b3;font-size:16px;padding:15px 24px;width:min(100%,877px);box-shadow:0 1px 2px #00000005}.topbar-right:after{content:'✉  ◉  |  Agnez';white-space:pre;background:#fff0;color:#181724;font-size:17px;letter-spacing:10px;padding:12px}.live-dot{display:none}.menu-button{display:none}.view{display:none;max-width:100%;margin:30px auto 0}.view.active{display:block}.hero{background:linear-gradient(111deg,#6b5ae0,#6f60df);border-radius:26px;min-height:273px;color:#fff;padding:29px 30px;position:relative;overflow:hidden;display:flex;align-items:flex-start}.hero:after,.hero:before{content:'✦';position:absolute;color:#b9afff;font-size:200px;line-height:1;opacity:.65}.hero:before{right:150px;top:-55px}.hero:after{right:-43px;bottom:-85px;font-size:235px}.hero>div:first-child{position:relative;z-index:1;max-width:690px}.eyebrow{font:600 13px Manrope;letter-spacing:3px;color:#eceaff;margin:0 0 18px}.hero h1{font:500 clamp(35px,3.1vw,53px)/1.01 Manrope;letter-spacing:-2.4px;margin:0}.hero h1 em{font-style:normal}.hero h1 br{display:none}.hero-note{position:absolute;bottom:28px;left:30px;z-index:1}.hero-note span{display:none}.hero-note p{margin:0}.hero-note p:before{content:'Open workspace';font:600 14px Manrope;display:inline-block;padding:14px 25px;background:#17151d;color:#fff;border-radius:27px}.hero-note p{font-size:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:26px 0 32px}.metric{background:#fff;border-radius:23px;min-height:90px;padding:18px 22px;display:flex;flex-direction:column;justify-content:center;position:relative}.metric:before{content:'◈';position:absolute;left:14px;width:46px;height:46px;display:grid;place-items:center;border-radius:17px;background:var(--purple-soft);color:var(--purple);font-size:21px}.metric:nth-child(2):before{content:'▣';background:var(--pink);color:#d665d5}.metric:nth-child(3):before{content:'▤';background:var(--cyan);color:#53afd7}.metric:nth-child(4){display:none}.metric strong,.metric span{margin-left:72px}.metric strong{font:500 13px 'DM Sans';color:var(--muted);order:-1}.metric span{font:700 20px Manrope;color:var(--ink);letter-spacing:-1px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:8px 0 17px}.section-heading .eyebrow{display:none}.section-heading h2{font:700 24px Manrope;letter-spacing:-1.3px;margin:0}.section-heading>span{display:none}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.source-card{background:var(--white);border:0;border-radius:22px;padding:23px;min-height:281px;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:.2s;overflow:hidden}.source-card:hover{transform:translateY(-4px);box-shadow:0 15px 28px #302b6320}.source-icon{width:100%;height:126px;border-radius:17px;display:grid;place-items:center;font-size:0;background:linear-gradient(130deg,#9b8b72,#313943 48%,#c58a45)!important;position:relative}.source-card:nth-child(2) .source-icon{background:linear-gradient(130deg,#d4d7d7,#eef3ed 42%,#676b67)!important}.source-card:nth-child(3) .source-icon{background:linear-gradient(135deg,#c0a78b,#31302d 45%,#d2d5d5)!important}.source-icon:after{content:'LIVE WORKSPACE';font:700 10px Manrope;letter-spacing:1px;color:#fff;background:#0006;border-radius:13px;padding:6px 9px}.source-card h3{font:700 18px/1.25 Manrope;margin:15px 0 5px;letter-spacing:-.6px}.source-card p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.source-footer{margin-top:auto;padding-top:13px;border-top:4px solid var(--purple);display:flex;justify-content:space-between;align-items:end;font:12px 'DM Sans';color:var(--muted)}.source-footer b{color:var(--purple);font-size:20px}.quick-section{margin-top:35px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.quick-card{border-radius:15px;padding:17px 20px;background:#fff;text-decoration:none;color:var(--ink);font-size:14px;font-weight:700;display:flex;justify-content:space-between}.quick-card span{color:var(--purple)}.page-title{display:flex;align-items:end;justify-content:space-between;border-bottom:0;padding:0;margin-bottom:22px}.page-title .eyebrow{color:var(--purple);margin-bottom:7px}.page-title h1{font:700 37px Manrope;letter-spacing:-1.8px;margin:0}.page-title h1 em{font-style:normal;color:var(--purple)}.page-title>div>p{color:var(--muted);font-size:14px;margin:7px 0 0}.outline-button{border:0;border-radius:25px;background:var(--purple);color:#fff;padding:12px 17px;text-decoration:none;font-size:12px;font-weight:700}.sheet-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:17px}.sheet-tab{border:0;border-radius:16px;background:#fff;padding:9px 13px;cursor:pointer;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:700}.sheet-tab.active{background:var(--purple);color:#fff}.data-shell{background:#fff;border:0;border-radius:20px;overflow:hidden}.data-toolbar{padding:17px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:13px}.data-toolbar input{border:1px solid var(--line);border-radius:16px;padding:8px 11px;font:12px 'DM Sans';width:210px}.table-wrap{overflow:auto;min-height:180px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:13px 15px;white-space:nowrap;text-align:left;border-bottom:1px solid #f0f0f5}th{background:#fafaff;color:#817f8b;font:600 10px Manrope;letter-spacing:.6px;text-transform:uppercase}td{color:#3e3d49}.empty-state,.loading{padding:40px;text-align:center;color:var(--muted);font-size:12px}.link-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:23px}.resource-link{border-radius:17px;padding:17px;background:#fff;text-decoration:none;color:var(--ink);font-size:13px;font-weight:700}.resource-link small{display:block;color:var(--muted);font:10px Manrope;margin-bottom:6px}.resource-link span{float:right;color:var(--purple)}
@media(min-width:1130px){main{padding-right:485px;position:relative}.dashboard-side{display:block}.view#dashboard:after{content:'Performance\A\A          30  ─ ─ ─\A\A      █  █  █\A\A     10     20     30\A\AYour mentors\A\A  ●  Academic Tracker     +\A\A  ●  Operations Hub        +\A\A  ●  Acops Center          +';white-space:pre-wrap;position:absolute;right:34px;top:88px;width:410px;min-height:635px;background:#fff;border-radius:26px;padding:24px 28px;font:700 20px/1.5 Manrope;box-shadow:0 1px 4px #24205007;color:#171725}.view#dashboard:before{content:'Activity overview';position:absolute;right:83px;top:179px;z-index:1;font:500 12px Manrope;color:#8c8a94;background:#f4f4fb;border-radius:18px;padding:14px 24px}.hero{min-height:273px}.source-card{min-height:277px}.source-card p{display:none}}
@media(max-width:1129px){body{background:#f0f1f6}.sidebar{inset:0 auto 0 0;border-radius:0;width:220px}main{margin:0 0 0 220px;border-radius:0;min-height:100vh}.hero{margin-top:12px}}
@media(max-width:760px){
  .sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:min(86vw,310px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    z-index:1000!important;
    background:#ffffff!important;
    padding:clamp(20px,4vh,30px) clamp(16px,4vw,24px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    border-radius:0 24px 24px 0!important;
    border-right:1px solid #e7e7ef!important;
    box-shadow:12px 0 36px rgba(23,21,37,.16)!important;
    transition:transform .28s cubic-bezier(0.16,1,0.3,1),box-shadow .28s ease!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .sidebar nav{
    display:flex!important;
    flex-direction:column!important;
    gap:clamp(8px,1.8vh,16px)!important;
    margin-top:clamp(20px,3.5vh,36px)!important;
    overflow-y:auto!important;
    flex:1!important;
    padding-right:4px!important;
  }
  .sidebar nav .nav-link{
    font-size:clamp(13px,3.8vw,15px)!important;
    padding:clamp(8px,1.5vh,12px) clamp(10px,2.5vw,14px)!important;
    border-radius:12px!important;
  }
  .sidebar-bottom{
    display:block!important;
    margin-top:auto!important;
    padding-top:14px!important;
    border-top:1px solid var(--line)!important;
  }
  .sidebar-bottom p{
    font-size:11px!important;
    margin:0!important;
  }
  .brand{font-size:clamp(18px,5vw,22px)!important}
  .brand small{display:inline!important;font-size:11px!important;opacity:.8}
  .brand-mark{width:34px!important;height:34px!important;font-size:19px!important}
  /* Disable layout transitions by default to prevent refresh glitch */
  .sidebar, main, .nav-toggle, .academic-dock {
    transition: none !important;
  }
  body.is-toggling .sidebar,
  body.is-toggling main,
  body.is-toggling .nav-toggle,
  body.is-toggling .academic-dock {
    transition: transform .28s cubic-bezier(0.16,1,0.3,1), margin-left .28s ease, left .28s ease !important;
  }
  body.nav-hidden .sidebar{
    transform:translateX(-105%)!important;
    box-shadow:none!important;
    pointer-events:none!important;
  }
  main{margin:0!important;padding:clamp(14px,3.5vw,24px)!important;border-radius:0!important;min-height:100dvh!important;width:100%!important}
  .topbar{height:42px}
  .topbar-right:before{font-size:13px;padding:11px 16px}
  .topbar-right:after{display:none}
  .view{margin-top:18px}
  .hero{min-height:245px;padding:27px 23px;border-radius:21px}
  .hero h1{font-size:34px}
  .metrics,.source-grid,.quick-grid,.link-board{grid-template-columns:1fr}
  .metrics{gap:12px}
  .metric{min-height:76px}
  .page-title{align-items:start;flex-direction:column;gap:15px}
  .data-toolbar{gap:10px}
  .data-toolbar input{width:145px}
}

/* Sidebar Backdrop for Mobile/Tablet overlay */
.sidebar-backdrop{
  position:fixed;
  inset:0;
  z-index:998;
  background:rgba(15,13,27,.45);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  opacity:1;
  pointer-events:auto;
  transition:opacity .28s ease,visibility .28s ease;
  visibility:visible;
}
body.nav-hidden .sidebar-backdrop{
  opacity:0;
  pointer-events:none;
  visibility:hidden;
}
@media(min-width:1130px){
  .sidebar-backdrop{display:none!important}
}

/* Phone Landscape Mode Adaptations */
@media(max-width:920px) and (max-height:500px){
  .sidebar{padding:14px 16px!important}
  .sidebar nav{margin-top:14px!important;gap:6px!important}
  .sidebar nav .nav-link{padding:6px 10px!important;font-size:13px!important}
  .brand{font-size:17px!important}
  .brand-mark{width:28px!important;height:28px!important;font-size:16px!important}
}

/* Full-viewport dashboard: dock the navigation instead of floating the app shell. */
@media(min-width:1130px){body{background:#f7f8fd}.sidebar{inset:0 auto 0 0;width:266px;border-radius:0;border-right:1px solid #edecf3}.sidebar-bottom{padding-bottom:18px}main{margin:0 0 0 266px;min-height:100vh;max-width:none;border-radius:0}}

/* Data workspaces use every available pixel; only the dashboard reserves room for its summary panel. */
@media(min-width:1130px){main{padding-right:34px}.view#dashboard{margin-right:451px}.view:not(#dashboard){width:100%;max-width:none}.data-shell{width:100%}}

.sqt-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}.filter-switch{background:#ebeaf4;border-radius:16px;padding:4px;display:flex;gap:2px}.filter-switch button,.control-button{border:0;background:transparent;color:#6f6d7a;font:700 12px 'DM Sans';padding:9px 12px;border-radius:12px;cursor:pointer}.filter-switch button.active,.control-button{background:var(--purple);color:#fff}.sqt-controls select,.sqt-controls input{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;font:600 12px 'DM Sans';color:var(--ink)}.sqt-controls label{font-size:12px;color:var(--muted);margin-right:7px}.sqt-controls #sqtSearch{min-width:190px}.sqt-summary{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:13px;margin-bottom:18px}.sqt-summary>div{background:#fff;border-radius:18px;padding:16px 18px}.sqt-summary span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.sqt-summary strong{font:700 24px Manrope}.sqt-table-shell thead th.sqt-sort-th{cursor:pointer;user-select:none;transition:color .12s,background .12s}.sqt-table-shell thead th.sqt-sort-th:hover{color:#4a3fc7;background:#f3f1ff}.sqt-table-shell thead th.sqt-sort-th.active{color:#6b5bdf}.sqt-table-shell thead th .sqt-sort-label{display:inline-flex;align-items:center;gap:4px}.sqt-table-shell thead th .sqt-sort-arrow{font-size:8px;line-height:1;color:#6b5bdf;min-width:8px}
.sqt-table-shell{margin-bottom:37px}.sqt-percent{font-weight:800;color:#4b9a6d}.sqt-percent.low{color:#db6e5c}.warning,.good{font-size:11px;font-weight:800;border-radius:12px;padding:6px 9px}.warning{color:#b4533f;background:#fff0ec}.good{color:#35815a;background:#eaf7ef}.delta{font-weight:700;font-size:12px;color:#8a8894}.delta.up{color:#3d9a66}.delta.down{color:#dc685a}.sqt-progress,.sqt-analysis{background:#fff;border-radius:22px;padding:24px;margin-top:22px}.sqt-analysis h2{font:700 24px Manrope;margin:0 0 10px}.sqt-analysis .eyebrow{color:var(--purple);margin-bottom:6px}.sqt-analysis p:last-child{color:#65636d;line-height:1.65;margin:0}.sqt-chart{display:grid;gap:12px}.chart-row{display:grid;grid-template-columns:220px 1fr 45px;gap:13px;align-items:center;font-size:12px}.chart-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.chart-row>div{height:12px;border-radius:9px;background:#efeff6;overflow:hidden}.chart-row i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#8a7bf0,#6553dc)}.chart-row b{text-align:right;font-size:12px}@media(max-width:760px){.sqt-controls #sqtSearch{margin-left:0;min-width:0;width:100%}.sqt-summary{grid-template-columns:1fr}.chart-row{grid-template-columns:110px 1fr 40px}.sqt-controls{align-items:stretch}}

/* Keep all priority centers available without expanding the trend card indefinitely. */
.trend-priority ol{max-height:360px;overflow-x:hidden!important;overflow-y:auto!important;padding-right:4px}
.trend-priority li{min-width:0}
.trend-priority li span{min-width:0;flex:1}
.trend-priority li b{flex:0 0 auto}

/* Keep the Wave selector's chevron aligned with the Week selector. */
#sqtWave{-webkit-appearance:none;appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#272536 50%),linear-gradient(135deg,#272536 50%,transparent 50%);background-position:calc(100% - 22px) 48%,calc(100% - 16px) 48%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.trend-axis-label{font:700 11px 'DM Sans';fill:#66636f}

/* One consistent inset chevron for every dashboard dropdown. */
.sqt-controls select,.trend-controls select{-webkit-appearance:none;appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#272536 50%),linear-gradient(135deg,#272536 50%,transparent 50%);background-position:calc(100% - 22px) 48%,calc(100% - 16px) 48%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}

.sqt-analysis-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}.sqt-analysis-list li{border:1px solid #edebf4;border-radius:14px;padding:14px 16px;background:#fbfbfe}.sqt-analysis-list li>span{display:block;color:#7161df;font:700 11px 'Manrope';letter-spacing:.7px;text-transform:uppercase;margin-bottom:5px}.sqt-analysis-list p{margin:0!important;color:#65636d;line-height:1.55;font-size:13px}.sqt-analysis-list strong{color:#312f3c}@media(max-width:760px){.sqt-analysis-list{grid-template-columns:1fr}}

/* Observation Details keeps the source data clear and scannable without duplicating teachers. */
#observationPanel{padding-top:4px}#observationPanel[hidden],#sqtPanel[hidden]{display:none}.obs-header{margin:0 0 20px}.obs-header .eyebrow{color:var(--purple);margin-bottom:7px}.obs-header h2{font:700 30px Manrope;letter-spacing:-1.4px;margin:0}.obs-header>p:last-child{font-size:14px;color:var(--muted);margin:7px 0 0}.obs-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}.obs-controls select{border:1px solid var(--line);background-color:#fff;border-radius:14px;padding:10px 42px 10px 12px;color:var(--ink);font:600 12px 'DM Sans';-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#272536 50%),linear-gradient(135deg,#272536 50%,transparent 50%);background-position:calc(100% - 22px) 48%,calc(100% - 16px) 48%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.obs-controls #obsBranch{min-width:210px}.obs-count{font-size:12px;color:var(--muted);margin:0 0 9px}.obs-table-shell{margin-bottom:28px}.obs-table-shell td,.obs-table-shell th{padding:14px 17px}.obs-table-shell th:nth-child(1){width:25%}.obs-table-shell th:nth-child(2){width:23%}.obs-table-shell th:nth-child(3){width:19%}.obs-table-shell th:nth-child(4){width:15%;text-align:center}.obs-table-shell td:nth-child(4){text-align:center}.obs-status{display:inline-flex;background:#f0eff7;color:#5b5967;padding:5px 9px;border-radius:11px;font-size:11px;font-weight:700}.obs-score{font-weight:800}.obs-score.qualified{color:#33865a}.obs-score.unqualified{color:#cf6251}.obs-score.missing{color:#9996a1}.obs-link{color:#5e50cf;text-decoration:none;font-weight:800;font-size:12px}.obs-link:hover{text-decoration:underline}.obs-empty,.obs-loading{background:#fff;border-radius:20px;padding:46px 28px;text-align:center;color:var(--muted);font-size:13px}.obs-empty strong{display:block;color:var(--ink);font:700 18px Manrope;margin-bottom:7px}.obs-empty p{margin:0}.obs-detail-empty{min-height:250px;display:grid;place-content:center}.obs-detail-empty strong{font-size:20px}@media(max-width:760px){.obs-controls{align-items:stretch}.obs-controls select{width:100%}.obs-controls .filter-switch{width:100%}.obs-controls .filter-switch button{flex:1}.obs-table-shell .table-wrap{overflow-x:auto}.obs-table-shell table{min-width:690px}.obs-header h2{font-size:26px}}
#observationPanel .obs-table-shell th:nth-child(1){width:22%}#observationPanel .obs-table-shell th:nth-child(2){width:21%}#observationPanel .obs-table-shell th:nth-child(3){width:14%}#observationPanel .obs-table-shell th:nth-child(4){width:17%;text-align:left}#observationPanel .obs-table-shell td:nth-child(4){text-align:left}#observationPanel .obs-table-shell th:nth-child(5){width:13%;text-align:center}#observationPanel .obs-table-shell td:nth-child(5){text-align:center}.obs-role{display:inline-flex;background:#eeecff;color:#5e50cf;padding:5px 9px;border-radius:11px;font-size:11px;font-weight:800;white-space:nowrap}@media(max-width:760px){#observationPanel .obs-table-shell table{min-width:815px}}
#observationPanel .obs-table-shell .table-wrap{min-height:0}

/* Branch-level teacher observation workspace */
.obs-detail-controls .obs-teacher-search,.obs-detail-controls #obsRole,.obs-detail-controls #obsRole+.acops-select,.obs-detail-controls #obsQualification,.obs-detail-controls #obsQualification+.acops-select,.obs-detail-controls #obsStatus,.obs-detail-controls #obsStatus+.acops-select,.obs-detail-controls .obs-exclude-toggle{display:none!important}.obs-detail-controls{margin-bottom:12px}.obs-detail-controls .filter-switch{margin-right:auto}.obs-detail-controls .obs-branch-search{flex:1;max-width:430px}.obs-detail-controls #obsQuarter+.acops-select{min-width:180px}.obs-branch-summary{margin:0 0 16px;border:1px solid #e7e3f4;border-radius:20px;background:#fff;padding:20px}.obs-branch-summary-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center}.obs-branch-summary .eyebrow{margin:0 0 4px;color:#6b5bdf}.obs-branch-summary h3{margin:0;font:800 20px Manrope}.obs-branch-summary-head>div:first-child>span{display:block;margin-top:4px;color:#9995a1;font-size:10px}.obs-branch-progress,.obs-branch-total{min-width:145px;border-radius:15px;background:#f0eeff;padding:12px 15px}.obs-branch-total{background:#f6f5f9}.obs-branch-progress strong,.obs-branch-total strong{display:block;color:#5d4fce;font:850 22px Manrope}.obs-branch-total strong{color:#302d38}.obs-branch-progress span,.obs-branch-total span{display:block;margin-top:2px;color:#85818e;font-size:9px}.obs-branch-statuses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.obs-branch-statuses section{min-width:0;border-radius:14px;background:#edf8f1;padding:12px}.obs-branch-statuses section.ongoing{background:#fff5df}.obs-branch-statuses section.no-main{background:#f3f2f7}.obs-branch-statuses section.not-started{background:#fff0ee}.obs-branch-statuses section>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.obs-branch-statuses section span{color:#4d775e;font:800 10px Manrope;text-transform:uppercase;letter-spacing:.4px}.obs-branch-statuses section.ongoing span{color:#a06b13}.obs-branch-statuses section.no-main span{color:#716d79}.obs-branch-statuses section.not-started span{color:#b05c50}.obs-branch-statuses section strong{font:850 16px Manrope}.obs-branch-statuses ul{list-style:none;margin:9px 0 0;padding:9px 0 0;border-top:1px solid rgba(50,48,60,.08);display:grid;gap:5px}.obs-branch-statuses li,.obs-branch-statuses section>p{overflow:hidden;margin:0;color:#625e69;font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.obs-branch-statuses section>p{margin-top:9px;color:#9b97a1}.obs-teacher-tabs{margin-top:0}
.obs-teacher-tabs{display:flex;gap:8px;overflow-x:auto;margin:2px 0 18px;padding:4px 2px 10px;scrollbar-width:thin}.obs-teacher-tabs button{flex:0 0 auto;border:1px solid #e3e0ef;border-radius:999px;background:#fff;padding:10px 16px;color:#696674;font:750 12px 'DM Sans';cursor:pointer}.obs-teacher-tabs button:hover{border-color:#b9b1ef;color:#5f50cf}.obs-teacher-tabs button.active{border-color:#6b5bdf;background:#6b5bdf;color:#fff;box-shadow:0 6px 16px rgba(93,77,204,.2)}.obs-detail-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.obs-detail-toolbar .eyebrow,.obs-detail-meta .eyebrow,.obs-teacher-progress .eyebrow,.obs-teacher-analysis .eyebrow{margin:0 0 5px;color:#6b5bdf}.obs-detail-toolbar h3,.obs-detail-meta h3,.obs-teacher-progress h3,.obs-teacher-analysis h3{margin:0;font:800 21px Manrope}.obs-detail-toolbar>div>span{display:block;margin-top:5px;color:#96929e;font-size:11px}.obs-detail-toolbar label{display:grid;gap:6px;color:#8a8792;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.obs-detail-toolbar select{min-width:260px;border:1px solid #dfdce8;border-radius:13px;background:#fff;padding:10px 35px 10px 12px;color:#33313d;font:700 11px 'DM Sans'}.obs-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.obs-indicator-card{overflow:auto;border:1px solid #ebe9f2;border-radius:20px;background:#fff}.obs-indicator-card table{width:100%;border-collapse:collapse;table-layout:fixed}.obs-indicator-card th{background:#f5f3ff;color:#65616e;font:800 10px Manrope;text-align:left;text-transform:uppercase;letter-spacing:.5px}.obs-indicator-card th,.obs-indicator-card td{padding:15px 16px;border-bottom:1px solid #eeecf3;vertical-align:top}.obs-indicator-card th:nth-child(1){width:25%}.obs-indicator-card th:nth-child(2){width:9%;text-align:center}.obs-indicator-card th:nth-child(3){width:28%}.obs-indicator-card td:nth-child(2){text-align:center}.obs-indicator-card td{color:#6f6c78;font-size:11px;line-height:1.5}.obs-indicator-card td>strong{color:#2f2c39;font:750 12px/1.4 Manrope}.obs-indicator-card td>b{display:block;margin-bottom:3px;color:#3d3947;font-size:11px}.obs-indicator-card td>b+span{display:block}.obs-indicator-card .muted{color:#aaa7b0;font-style:italic}.obs-indicator-score{display:inline-flex;min-width:38px;justify-content:center;border-radius:10px;background:#eeedf3;padding:6px;color:#6d6975;font-weight:900}.obs-indicator-score.score-1,.obs-indicator-score.score-2{background:#fde9e6;color:#c55043}.obs-indicator-score.score-3{background:#fff2d8;color:#a96f09}.obs-indicator-score.score-4,.obs-indicator-score.score-5{background:#e7f5ec;color:#277b50}.obs-detail-meta{position:sticky;top:82px;border-radius:20px;background:#fff;padding:20px}.obs-detail-meta>h3{margin-bottom:13px}.obs-detail-meta>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid #eeecf3}.obs-detail-meta>div span,.obs-detail-meta section>span{color:#918e99;font-size:10px}.obs-detail-meta>div strong{max-width:58%;text-align:right;color:#34313d;font-size:11px}.obs-detail-meta a{color:#5f50cf;text-decoration:none}.obs-detail-meta section{margin-top:10px;border-radius:14px;background:#f7f6fb;padding:13px}.obs-detail-meta section p{margin:6px 0 0;color:#67636f;font-size:11px;line-height:1.55;white-space:pre-line}.obs-detail-source{display:block;margin-top:12px;border-radius:12px;background:#ece9ff;padding:10px;text-align:center;font:800 11px 'DM Sans'}.obs-teacher-progress,.obs-teacher-analysis{margin-top:20px;border:1px solid #ebe9f2;border-radius:20px;background:#fff;padding:22px}.obs-teacher-progress>div:first-child>p:last-child,.obs-teacher-analysis>div:first-child>p:last-child{margin:5px 0 0;color:#918e99;font-size:11px}.obs-teacher-chart{margin-top:17px;overflow:auto;border-radius:14px;background:#fbfafe;padding:8px}.obs-teacher-chart svg{display:block;width:100%;min-width:520px}.obs-teacher-chart line{stroke:#e4e2ed;stroke-dasharray:3 4}.obs-teacher-chart text{fill:#8b8793;font:600 10px 'DM Sans'}.obs-teacher-chart polyline{fill:none;stroke:#6b5bdf;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.obs-teacher-chart circle{fill:#fff;stroke:#6b5bdf;stroke-width:4}.obs-teacher-chart .target{stroke:#e58a79;stroke-width:1.5;stroke-dasharray:5 5}.obs-teacher-chart .target-label{fill:#c96151;font-weight:800}.obs-teacher-analysis{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px}.obs-teacher-analysis>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:14px}.obs-teacher-analysis section{border-radius:16px;background:#fff5f2;padding:17px}.obs-teacher-analysis section:last-child{background:#eef8f2}.obs-teacher-analysis h4{margin:0;font:800 13px Manrope}.obs-teacher-analysis section>p{margin:5px 0 12px;color:#88838d;font-size:10px}.obs-teacher-analysis ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.obs-teacher-analysis li{display:flex;justify-content:space-between;gap:10px;color:#56515d;font-size:10px}.obs-teacher-analysis li strong{max-width:75%}.obs-teacher-analysis li span{white-space:nowrap;font-weight:900}.obs-teacher-analysis section:first-child li span{color:#c65344}.obs-teacher-analysis section:last-child li span{color:#287d52}@media(max-width:1050px){.obs-detail-grid{grid-template-columns:1fr}.obs-detail-meta{position:static}.obs-teacher-analysis{grid-template-columns:1fr}}@media(max-width:700px){.obs-detail-toolbar{align-items:stretch;flex-direction:column}.obs-detail-toolbar label,.obs-detail-toolbar select{width:100%}.obs-indicator-card table{min-width:820px}.obs-teacher-analysis>div:last-child{grid-template-columns:1fr}}
@media(max-width:900px){.obs-branch-statuses{grid-template-columns:1fr 1fr}}@media(max-width:700px){.obs-branch-summary-head{grid-template-columns:1fr 1fr}.obs-branch-summary-head>div:first-child{grid-column:1/-1}.obs-branch-progress,.obs-branch-total{min-width:0}.obs-branch-statuses{grid-template-columns:1fr}}

/* Observation detail spacing and column-boundary fixes */
.obs-detail-controls .detail-hidden-filter{display:none!important}.obs-detail-controls{display:grid!important;grid-template-columns:max-content minmax(280px,1fr) 190px;align-items:center;gap:12px!important;margin-bottom:18px!important}.obs-detail-controls>.filter-switch{margin:0!important}.obs-detail-controls>.obs-branch-search{width:100%;max-width:none!important;min-width:0!important}.obs-detail-controls>#obsQuarter,.obs-detail-controls>#obsQuarter+.acops-select{width:190px;min-width:190px}.obs-branch-summary{padding:24px!important;margin-bottom:20px!important}.obs-branch-summary-head{gap:22px!important}.obs-branch-progress,.obs-branch-total{padding:15px 18px!important}.obs-branch-statuses{gap:14px!important;margin-top:20px!important}.obs-branch-statuses section{padding:15px!important}.obs-branch-statuses ul{margin-top:11px!important;padding-top:11px!important;gap:7px!important}.obs-teacher-tabs{padding-top:2px!important;margin-bottom:22px!important}.obs-indicator-card table{table-layout:fixed!important}.obs-indicator-card th:nth-child(1),.obs-indicator-card td:nth-child(1){width:27%!important;min-width:0!important;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;word-break:normal!important}.obs-indicator-card th:nth-child(2),.obs-indicator-card td:nth-child(2){width:10%!important;min-width:76px!important;text-align:center!important;white-space:nowrap!important}.obs-indicator-card th:nth-child(3),.obs-indicator-card td:nth-child(3){width:29%!important}.obs-indicator-card th:nth-child(4),.obs-indicator-card td:nth-child(4){width:34%!important}.obs-indicator-card td>strong{display:block;max-width:100%;white-space:normal!important;overflow-wrap:anywhere!important}.obs-indicator-score{position:relative;z-index:1}.obs-detail-meta [data-observed-by] strong{color:#5d4fce}@media(max-width:900px){.obs-detail-controls{grid-template-columns:1fr 190px}.obs-detail-controls>.filter-switch{grid-column:1/-1}.obs-branch-summary{padding:20px!important}}@media(max-width:620px){.obs-detail-controls{grid-template-columns:1fr}.obs-detail-controls>#obsQuarter,.obs-detail-controls>#obsQuarter+.acops-select{width:100%;min-width:0}.obs-branch-summary-head{gap:12px!important}}

/* Keep the three Detail controls adjacent and contain long observation copy. */
.obs-detail-controls{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important}.obs-detail-controls>.filter-switch{flex:0 0 auto!important}.obs-detail-controls>.obs-branch-search{flex:0 1 340px!important;width:340px!important}.obs-detail-controls>.acops-select{display:none!important}.obs-detail-controls>#obsQuarter+.acops-select{display:inline-block!important;flex:0 0 190px!important;width:190px!important;min-width:190px!important}.obs-indicator-card th:nth-child(3),.obs-indicator-card td:nth-child(3),.obs-indicator-card th:nth-child(4),.obs-indicator-card td:nth-child(4){min-width:0!important;max-width:0;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;word-break:break-word!important}.obs-indicator-card td:nth-child(3)>*,.obs-indicator-card td:nth-child(4)>*{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}@media(max-width:900px){.obs-detail-controls{flex-wrap:wrap!important}.obs-detail-controls>.filter-switch{flex-basis:100%!important}.obs-detail-controls>.obs-branch-search{flex:1 1 280px!important;width:auto!important}}@media(max-width:620px){.obs-detail-controls>*{flex:1 1 100%!important;width:100%!important}.obs-detail-controls>#obsQuarter+.acops-select{flex-basis:100%!important;width:100%!important;min-width:0!important}}

.obs-indicator-card{max-height:72vh;overflow:auto!important}.obs-indicator-card thead th{position:sticky!important;top:0;z-index:4;background:#f5f3ff!important;box-shadow:0 1px 0 #e7e4ef}

.obs-detail-controls>#obsQuarter{display:none!important}

@media(min-width:621px){.obs-detail-controls>.obs-branch-search{flex:0 0 340px!important;width:340px!important}}

#observationPanel .obs-detail-controls .obs-branch-search input#obsBranch{display:block;width:100%!important;min-width:0!important}

#observationPanel .obs-detail-controls>.filter-switch{flex:0 0 auto!important;width:max-content!important;max-width:100%!important;margin-right:0!important}
#observationPanel .obs-controls input#obsBranch,#observationPanel .obs-controls .obs-teacher-search input{min-width:210px;height:38px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;color:var(--ink);font:600 12px 'DM Sans';outline:none;box-sizing:border-box}#observationPanel .obs-controls input#obsBranch:focus,#observationPanel .obs-controls .obs-teacher-search input:focus{border-color:#6656dc;box-shadow:0 0 0 3px rgba(102,86,220,.12)}#observationPanel .obs-controls .obs-teacher-search input::placeholder{color:#85828d;opacity:1}@media(max-width:760px){#observationPanel .obs-controls input#obsBranch,#observationPanel .obs-controls .obs-teacher-search input{width:100%}}
#observationPanel .obs-branch-search,#observationPanel .obs-teacher-search{position:relative;min-width:210px}#observationPanel .obs-teacher-search{flex:1}#observationPanel .obs-teacher-search input{width:100%}#observationPanel .obs-branch-menu,#observationPanel .obs-teacher-menu{position:absolute;z-index:40;top:calc(100% + 7px);left:0;width:100%;max-height:238px;overflow-y:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 26px rgba(35,31,70,.14)}#observationPanel .obs-branch-menu button,#observationPanel .obs-branch-menu span,#observationPanel .obs-teacher-menu button,#observationPanel .obs-teacher-menu span{display:block;width:100%;border:0;background:transparent;padding:9px 10px;border-radius:9px;text-align:left;color:var(--ink);font:600 12px 'DM Sans'}#observationPanel .obs-branch-menu button:hover,#observationPanel .obs-teacher-menu button:hover{background:#f0eeff;color:#5e50cf}@media(max-width:760px){#observationPanel .obs-branch-search,#observationPanel .obs-teacher-search{width:100%}}
.obs-progress-shell th:not(:first-child),.obs-progress-shell td:not(:first-child){text-align:center}.obs-progress-count{display:inline-flex;min-width:34px;justify-content:center;padding:5px 9px;border-radius:11px;font-size:12px;font-weight:800}.obs-progress-count.done{background:#eaf7ef;color:#27764e}.obs-progress-count.ongoing{background:#fff5df;color:#9a6b12}.obs-progress-count.no-main{background:#f0eff7;color:#666273}.obs-progress-value{display:flex;align-items:center;justify-content:flex-end;gap:8px}.obs-progress-value strong{min-width:48px;font:800 13px Manrope;text-align:right}.obs-progress-value>span{display:block;width:64px;height:8px;border-radius:99px;background:#e9e7f1;overflow:hidden}.obs-progress-value i{display:block;height:100%;border-radius:inherit}.obs-progress-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;align-items:start}.obs-progress-layout .obs-table-shell{margin:0}.obs-progress-shell table{table-layout:fixed}.obs-progress-shell th,.obs-progress-shell td{padding:11px 10px!important}.obs-progress-shell th{white-space:normal;line-height:1.2}.obs-progress-shell th:nth-child(1){width:29%!important}.obs-progress-shell th:nth-child(2){width:12%!important}.obs-progress-shell th:nth-child(3),.obs-progress-shell th:nth-child(4){width:9%!important}.obs-progress-shell th:nth-child(5){width:14%!important}.obs-progress-shell th:nth-child(6){width:27%!important}.obs-progress-shell td:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obs-progress-overview{position:sticky;top:76px;background:#fff;border-radius:20px;padding:22px;box-shadow:0 2px 5px rgba(45,40,86,.04)}.obs-progress-overview>.eyebrow{color:#7161df;margin:0 0 6px}.obs-progress-overview h3{font:700 19px Manrope;margin:0 0 16px}.obs-overview-stat{padding:12px 0;border-top:1px solid #eeedf4;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.obs-overview-stat span{font-size:12px;color:#85828d}.obs-overview-stat strong{font:800 17px Manrope}.obs-low-progress{border-top:1px solid #eeedf4;margin-top:4px;padding-top:17px}.obs-low-progress h4{font:700 13px Manrope;margin:0 0 4px}.obs-low-progress>p{font-size:11px;color:#85828d;margin:0 0 12px}.obs-low-progress ol{list-style:none;padding:0;margin:0;display:grid;gap:8px}.obs-low-progress li{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#6f6c78}.obs-low-progress li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obs-low-progress li b{color:#c45443;font:800 11px Manrope}.obs-all-clear{color:#31885a;font-size:12px;font-weight:700}@media(max-width:1350px){.obs-progress-layout{grid-template-columns:1fr}.obs-progress-overview{position:static}.obs-progress-value>span{width:70px}}@media(max-width:760px){.obs-progress-shell table{min-width:760px!important}}
.obs-exclude-toggle{display:inline-flex;align-items:center;gap:8px;margin:0;color:#66636f;font:700 12px 'DM Sans';white-space:nowrap;cursor:pointer}.obs-exclude-toggle input{position:absolute;opacity:0;pointer-events:none}.obs-exclude-toggle span{position:relative;width:34px;height:20px;border-radius:99px;background:#d8d6e3;transition:background .18s ease}.obs-exclude-toggle span:after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #3a365433;transition:transform .18s ease}.obs-exclude-toggle input:checked+span{background:#6b5bdf}.obs-exclude-toggle input:checked+span:after{transform:translateX(14px)}@media(max-width:760px){.obs-exclude-toggle{width:100%}}
.obs-progress-count{width:34px;min-width:34px;justify-content:center;padding:0;border-radius:0;background:transparent!important}.obs-progress-count.done{color:#278458}.obs-progress-count.done.zero,.obs-progress-count.ongoing.attention{padding:5px 9px;border-radius:11px;background:#fde9e6!important;color:#c8493e}.obs-progress-count.ongoing.clear,.obs-progress-count.no-main.clear{color:#aaa7b2}.obs-progress-count.no-main.has-value{padding:5px 9px;border-radius:11px;background:#dedde5!important;color:#5f5c68}
#observationPanel .obs-progress-shell th:not(:first-child),#observationPanel .obs-progress-shell td:not(:first-child){text-align:center}
#smartAppPanel[hidden]{display:none}.smart-header{margin:0 0 18px}.smart-header .eyebrow{color:var(--purple);margin-bottom:7px}.smart-header h2{font:700 30px Manrope;letter-spacing:-1.4px;margin:0}.smart-header>p:last-child{font-size:14px;color:var(--muted);margin:7px 0 0}.smart-view-tabs{display:inline-flex;margin-bottom:14px}.smart-view-tabs button:disabled{cursor:not-allowed;opacity:.58}.smart-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.smart-controls select,.smart-controls input{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;color:var(--ink);font:600 12px 'DM Sans'}.smart-controls select{padding-right:38px}.smart-period{display:flex;align-items:center;gap:8px;color:#77747e;font-size:12px}.smart-period[hidden]{display:none}.smart-period label{display:flex;align-items:center;gap:5px}.smart-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.smart-summary>div{background:#fff;border-radius:17px;padding:17px 19px}.smart-summary span{display:block;color:#85828d;font-size:11px;margin-bottom:6px}.smart-summary strong{font:800 22px Manrope;color:#5e50cf}.smart-table-shell th:not(:first-child),.smart-table-shell td:not(:first-child){text-align:center}.smart-table-shell th{white-space:normal;line-height:1.25}.smart-table-shell th:first-child{width:36%}.smart-table-shell th:nth-child(2),.smart-table-shell th:nth-child(3){width:20%}.smart-table-shell th:nth-child(4){width:24%}.smart-usage{display:flex;align-items:center;justify-content:center;gap:9px}.smart-usage strong{min-width:48px;color:#494652}.smart-usage>span{display:block;width:70px;height:8px;border-radius:99px;background:#e9e7f1;overflow:hidden}.smart-usage i{display:block;height:100%;border-radius:inherit;background:#6b5bdf}.smart-note{margin:10px 3px 0;color:#8a8792;font-size:11px}@media(max-width:760px){.smart-summary{grid-template-columns:1fr}.smart-controls{align-items:stretch}.smart-controls>*{width:100%}.smart-period{flex-wrap:wrap}.smart-table-shell table{min-width:760px}.smart-header h2{font-size:26px}}
#observationPanel .obs-table-shell th:nth-child(4),#observationPanel .obs-table-shell td:nth-child(4){text-align:center}.obs-status.done{background:#e5f5eb;color:#237a4c}.obs-status.ongoing{background:#fff1cf;color:#a86e08}.obs-status.no-observation{background:transparent;color:#cb4b42;padding-left:0;padding-right:0}
.smart-detail-empty{min-height:270px;background:#fff;border-radius:20px;display:grid;place-content:center;text-align:center;padding:36px;color:#85828d}.smart-detail-empty strong{color:var(--ink);font:700 19px Manrope;margin-bottom:7px}.smart-detail-empty p{margin:0;font-size:12px}.smart-detail-count{margin:0 0 9px;color:#85828d;font-size:12px}.smart-detail-count strong{color:#5e50cf}.smart-detail-shell table{min-width:1240px}.smart-detail-shell th,.smart-detail-shell td{padding:12px 13px}.smart-detail-shell th{white-space:normal;text-align:center;line-height:1.2}.smart-detail-shell td:nth-child(4),.smart-detail-shell td:nth-child(8){text-align:center}.smart-detail-shell td:nth-child(2){max-width:330px;white-space:normal;line-height:1.4}.smart-connect{display:inline-flex;min-width:30px;justify-content:center;padding:4px 8px;border-radius:10px;font-weight:800}.smart-connect.yes{background:#e5f5eb;color:#237a4c}.smart-connect.no{background:#fde9e6;color:#c8493e}
.smart-branch-search{position:relative;min-width:240px}.smart-branch-search input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;color:var(--ink);font:600 12px 'DM Sans';outline:none}.smart-branch-search input:focus{border-color:#6656dc;box-shadow:0 0 0 3px rgba(102,86,220,.12)}.smart-branch-menu{position:absolute;z-index:45;top:calc(100% + 7px);left:0;width:100%;max-height:260px;overflow-y:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 26px rgba(35,31,70,.14)}.smart-branch-menu button,.smart-branch-menu span{display:block;width:100%;border:0;background:transparent;padding:9px 10px;border-radius:9px;text-align:left;color:var(--ink);font:600 12px 'DM Sans'}.smart-branch-menu button:hover{background:#f0eeff;color:#5e50cf}@media(max-width:760px){.smart-branch-search{width:100%}}
.smart-controls select{padding-right:42px;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#272536 50%),linear-gradient(135deg,#272536 50%,transparent 50%);background-position:calc(100% - 22px) 48%,calc(100% - 16px) 48%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.obs-progress-analysis{border-top:1px solid #eeedf4;margin-top:18px;padding-top:17px}.obs-progress-analysis h4{font:700 13px Manrope;margin:0 0 10px}.obs-progress-analysis>div{display:flex;align-items:center;gap:8px;margin-bottom:7px}.obs-progress-analysis>div span{width:25px;height:25px;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:900}.obs-progress-analysis>div strong{font:800 14px Manrope}.obs-progress-analysis p{margin:0;color:#77747e;font-size:11px;line-height:1.55}.obs-progress-analysis.increased>div span{background:#e5f5eb;color:#237a4c}.obs-progress-analysis.increased>div strong{color:#237a4c}.obs-progress-analysis.decreased>div span{background:#fde9e6;color:#c8493e}.obs-progress-analysis.decreased>div strong{color:#c8493e}.obs-progress-analysis.stagnant>div span{background:#eeedf3;color:#6d6976}.obs-progress-analysis.stagnant>div strong{color:#6d6976}.obs-progress-analysis.unavailable p{color:#9996a1}
.obs-progress-analysis.on-track>div span{background:#e5f5eb;color:#237a4c}.obs-progress-analysis.on-track>div strong{color:#237a4c}.obs-progress-analysis.attention>div span{background:#fde9e6;color:#c8493e}.obs-progress-analysis.attention>div strong{color:#c8493e}
.smart-table-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;align-items:start}.smart-glance{position:sticky;top:76px;background:#fff;border-radius:20px;padding:22px}.smart-glance>.eyebrow{color:#7161df;margin:0 0 6px;letter-spacing:1.8px}.smart-glance h3{font:700 19px Manrope;margin:0 0 16px}.smart-glance-stat{padding:12px 0;border-top:1px solid #eeedf4;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.smart-glance-stat span{font-size:12px;color:#85828d}.smart-glance-stat strong{font:800 17px Manrope}.smart-glance-definition{font-size:11px;line-height:1.55;color:#77747e;margin:15px 0}.smart-glance-definition strong{display:block;color:#302e3a;margin-bottom:3px}.smart-glance-target{font-size:11px;color:#6c6974}.smart-glance-rankings{border-top:1px solid #eeedf4;margin-top:16px;padding-top:4px}.smart-glance-rankings section{padding-top:13px}.smart-glance-rankings h4{font:700 12px Manrope;margin:0 0 8px}.smart-glance-rankings ol{list-style:none;padding:0;margin:0;display:grid;gap:7px}.smart-glance-rankings li{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#73707c}.smart-glance-rankings li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-trend-section{margin-top:28px;background:#fff;border-radius:20px;padding:28px}.smart-trend-header{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:20px}.smart-trend-header .eyebrow,.smart-analysis>.eyebrow{color:#7161df;margin:0 0 6px}.smart-trend-header h2,.smart-analysis>h2{font:700 24px Manrope;letter-spacing:-1px;margin:0}.smart-trend-header p:not(.eyebrow){margin:5px 0 0;color:#85828d;font-size:13px}.smart-trend-latest{background:#f0eeff;border-radius:15px;padding:12px 16px;min-width:140px}.smart-trend-latest span{display:block;color:#77728b;font-size:11px}.smart-trend-latest strong{font:800 22px Manrope;color:#5f50cf}.smart-trend-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.smart-trend-controls select,.smart-trend-controls input{border:1px solid #e2e1eb;background:#fff;border-radius:12px;padding:9px 42px 9px 11px;color:#33313e;font:600 12px "DM Sans"}.smart-trend-controls select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#272536 50%),linear-gradient(135deg,#272536 50%,transparent 50%);background-position:calc(100% - 22px) 48%,calc(100% - 16px) 48%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.smart-trend-period{display:flex;gap:8px;align-items:center;font-size:12px;color:#77747e}.smart-trend-period[hidden]{display:none}.smart-trend-period label{display:flex;gap:5px;align-items:center}.smart-trend-period button{border:0;border-radius:11px;background:#6b5bdf;color:#fff;padding:9px 12px;font:700 12px "DM Sans";cursor:pointer}.smart-trend-canvas{border:1px solid #ecebf3;border-radius:18px;padding:8px 10px;background:#fbfbfe;overflow-x:auto}.smart-trend-canvas svg{display:block;width:100%;height:auto}.smart-trend-grid line{stroke:#e7e6f0;stroke-dasharray:3 4}.smart-trend-grid text,.smart-trend-labels text{font:600 11px "DM Sans";fill:#898693}.smart-trend-target{stroke:#e58a79;stroke-width:1.5;stroke-dasharray:5 5}.smart-trend-target-label{font:700 10px "DM Sans";fill:#cf6251}.smart-trend-line{fill:none;stroke:#6b5bdf;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.smart-trend-canvas circle{fill:#fff;stroke:#6b5bdf;stroke-width:4}.smart-trend-empty{font:600 14px "DM Sans";fill:#8a8794}.smart-trend-axis{font:700 11px "DM Sans";fill:#77747e}.smart-analysis{margin-top:28px}.smart-analysis-list{list-style:none;padding:0;display:grid;gap:14px}.smart-analysis-list li{background:#fff;border-radius:20px;padding:20px 24px}.smart-analysis-list li>span{display:block;color:#7161df;font:800 12px Manrope;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}.smart-analysis-list p{margin:0;color:#66636f;font-size:14px;line-height:1.55}.smart-analysis-list strong{color:#34313e}.smart-analysis-list b{color:#c45443}@media(max-width:1100px){.smart-table-layout{grid-template-columns:1fr}.smart-glance{position:static}}@media(max-width:760px){.smart-trend-header{flex-direction:column}.smart-trend-controls>*{width:100%}.smart-trend-period{flex-wrap:wrap}.smart-trend-section{padding:20px}.smart-analysis-list li{padding:18px}}
.smart-analysis-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:22px;align-items:start;margin-top:18px}.smart-analysis-layout .smart-analysis-list{margin:0}.smart-teacher-priority{background:#fff;border-radius:20px;padding:22px}.smart-teacher-priority>.eyebrow{color:#7161df;margin:0 0 6px;letter-spacing:1.8px}.smart-teacher-priority h3{font:700 18px Manrope;margin:0}.smart-teacher-priority>p:not(.eyebrow){font-size:11px;color:#85828d;margin:5px 0 15px}.smart-teacher-priority ol{list-style:none;padding:0;margin:0;display:grid}.smart-teacher-priority li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid #eeedf4}.smart-teacher-priority li>span{min-width:0}.smart-teacher-priority li b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#34313e;font:700 12px Manrope}.smart-teacher-priority li small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#8b8893;font-size:10px;margin-top:3px}.smart-teacher-priority li>strong{flex:0 0 auto;color:#c8493e;font:800 13px Manrope}.smart-teacher-legend{display:flex;justify-content:flex-end;gap:13px;border-top:1px solid #eeedf4;padding-top:10px;color:#9a97a2;font-size:9px}.smart-teacher-legend span:first-child{color:#c8493e}.smart-teacher-clear{padding:16px 0;color:#278458;font-size:12px;font-weight:700}@media(max-width:1050px){.smart-analysis-layout{grid-template-columns:1fr}}@media(max-width:760px){.smart-teacher-priority{padding:18px}}
.smart-branch-button{border:0;background:transparent;padding:0;color:#403d49;font:800 12px Manrope;text-align:left;cursor:pointer}.smart-branch-button:hover,.smart-branch-button:focus-visible{color:#6656dc;text-decoration:underline}.smart-table-shell tbody tr.selected{background:#f0eeff}.smart-side-header{display:flex;align-items:flex-start;gap:11px;padding-bottom:15px;border-bottom:1px solid #eeedf4}.smart-side-header .eyebrow{margin:0 0 4px;color:#7161df;font-size:9px}.smart-side-header h3{margin:0;font:800 17px/1.3 Manrope}.smart-side-header>div>span{display:block;margin-top:4px;color:#85828d;font-size:10px}.smart-side-back{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border:1px solid #dedbe9;border-radius:10px;background:#fff;color:#6656dc;font-size:17px;cursor:pointer}.smart-side-back:hover{background:#f0eeff}.smart-side-session-list{display:grid;gap:10px;margin-top:14px;max-height:calc(100vh - 245px);overflow:auto}.smart-side-session-list article{padding:12px;border:1px solid #eceaf2;border-radius:14px;background:#fbfbfe}.smart-side-session-list article>div{display:flex;align-items:center;gap:7px}.smart-side-session-list article>div strong{font-size:10px}.smart-side-session-list article>div span{color:#8b8893;font-size:9px}.smart-side-session-list .smart-connect{margin-left:auto;font-size:8px}.smart-side-session-list h4{margin:9px 0 4px;font:750 11px/1.4 Manrope}.smart-side-session-list p{margin:0;color:#85828d;font-size:9px;line-height:1.45}.smart-side-empty{padding:24px 8px;color:#85828d;text-align:center;font-size:11px}@media(max-width:1100px){.smart-side-session-list{max-height:500px}}
.obs-overall-layout{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:20px;align-items:start}.obs-overall-layout .obs-table-shell{margin:0;min-width:0}.obs-priority-panel{position:sticky;top:76px;max-height:calc(100vh - 105px);overflow:auto;padding:21px;background:#fff;border:1px solid #eeecf4;border-radius:20px}.obs-priority-panel>.eyebrow{margin:0 0 5px;color:#6b5bdf;font-size:9px}.obs-priority-panel>h3{margin:0;font:800 18px Manrope}.obs-priority-scope{margin:5px 0 16px;color:#8b8793;font-size:10px}.obs-priority-panel section{padding:15px 0;border-top:1px solid #eeedf4}.obs-priority-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.obs-priority-heading h4{margin:0;font:800 12px Manrope}.obs-priority-heading p{margin:3px 0 0;color:#96929d;font-size:9px}.obs-priority-heading>strong{display:grid;min-width:25px;height:25px;place-items:center;border-radius:9px;background:#f0eeff;color:#5d4fce;font:800 10px Manrope}.obs-priority-panel ol{list-style:none;margin:10px 0 0;padding:0}.obs-priority-panel li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #f1eff5}.obs-priority-panel li>div{min-width:0}.obs-priority-panel li>div:first-child strong,.obs-priority-panel li>div:first-child span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-priority-panel li>div:first-child strong{font:750 10px Manrope}.obs-priority-panel li>div:first-child span{max-width:235px;margin-top:3px;color:#8b8793;font-size:8px}.obs-priority-panel li>div:last-child{flex:0 0 auto;text-align:right}.obs-priority-panel li b,.obs-priority-panel li small{display:block}.obs-priority-panel li b{font:800 10px Manrope}.obs-priority-panel li b.missing{color:#d18719}.obs-priority-panel li b.training{color:#c64f44}.obs-priority-panel li small{margin-top:3px;color:#96929d;font-size:8px}.obs-priority-empty{padding:14px 0 2px;color:#278158;font-size:9px;font-weight:700}@media(max-width:1150px){.obs-overall-layout{grid-template-columns:1fr}.obs-priority-panel{position:static;max-height:none}}
.smart-detail-shell td:nth-child(2),.smart-detail-shell td:nth-child(7){text-align:center}.smart-detail-shell td:nth-child(2){max-width:none;white-space:nowrap;line-height:normal}.smart-detail-shell td:nth-child(4){max-width:360px;white-space:normal;line-height:1.4;text-align:left}.smart-detail-shell td:nth-child(8){text-align:left}
.sessions-tabs{margin-bottom:18px}.session-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.session-controls select,.session-controls input{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;color:var(--ink);font:600 12px 'DM Sans';outline:none}.session-controls select{min-width:170px}.session-controls>input{min-width:210px;flex:1}.session-controls input:focus,.session-controls select:focus{border-color:#6656dc;box-shadow:0 0 0 3px rgba(102,86,220,.12)}.session-date{display:flex;align-items:center;gap:7px;color:#77747e;font-size:11px;font-weight:700}.session-date input{width:143px}.session-branch-search{position:relative;min-width:220px;flex:1}.session-branch-search input{width:100%}.session-branch-menu{position:absolute;z-index:50;top:calc(100% + 7px);left:0;width:100%;max-height:260px;overflow-y:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 26px rgba(35,31,70,.14)}.session-branch-menu button,.session-branch-menu span{display:block;width:100%;border:0;background:transparent;padding:9px 10px;border-radius:9px;text-align:left;color:var(--ink);font:600 12px 'DM Sans'}.session-branch-menu button:hover{background:#f0eeff;color:#5e50cf}.session-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.session-summary>div{background:#fff;border-radius:17px;padding:17px 19px}.session-summary span{display:block;color:#85828d;font-size:11px;margin-bottom:6px}.session-summary strong{font:800 22px Manrope;color:#5e50cf}.session-table-shell .data-toolbar span{color:var(--muted);font-size:12px}.session-table-shell th:not(:first-child),.session-table-shell td:not(:first-child){text-align:left}.session-table-shell th.session-number,.session-table-shell td.session-number{width:42px;text-align:center;color:#a5a2ad}.session-table-shell td{vertical-align:middle}.session-teacher{font-weight:800;color:#34313e}.session-muted{color:#8b8893}.session-total{display:inline-flex;min-width:36px;justify-content:center;padding:5px 9px;border-radius:11px;background:#eeecff;color:#5e50cf;font-weight:800}.fulfillment-rate{display:inline-flex;min-width:62px;justify-content:center;padding:5px 9px;border-radius:11px;background:#eaf7ef;color:#27764e;font-weight:800}.fulfillment-rate.low{background:#fde3df;color:#c43f35}.session-table-shell table{min-width:1180px}.session-table-shell th{white-space:nowrap}.session-table-shell td:nth-child(7){max-width:280px;white-space:normal;line-height:1.35}@media(max-width:760px){.session-summary{grid-template-columns:1fr}.session-controls>*{width:100%;min-width:0!important}.session-date{justify-content:space-between}.session-date input{width:auto}.session-table-shell table{min-width:1180px}}
.session-table-shell .table-wrap{isolation:isolate}.session-table-shell th:nth-child(-n+3),.session-table-shell td:nth-child(-n+3){position:sticky;background:#fff;z-index:2}.session-table-shell th:nth-child(-n+3){z-index:4;background:#f8f8fc}.session-table-shell th:nth-child(1),.session-table-shell td:nth-child(1){left:0;width:46px;min-width:46px}.session-table-shell th:nth-child(2),.session-table-shell td:nth-child(2){left:46px;width:118px;min-width:118px}.session-table-shell th:nth-child(3),.session-table-shell td:nth-child(3){left:164px;width:150px;min-width:150px;box-shadow:7px 0 10px -10px #312d4c99}.session-table-shell tr.session-running td{background:#e7f7ec;color:#235f3f}.session-table-shell tr.session-running td:nth-child(-n+3){background:#e7f7ec}.session-table-shell tr.session-passed td{background:#f1f1f4;color:#96939d}.session-table-shell tr.session-passed td:nth-child(-n+3){background:#f1f1f4}.session-table-shell tr.session-passed .session-teacher,.session-table-shell tr.session-passed strong{color:#77747e}.session-table-shell tr.session-running .session-teacher,.session-table-shell tr.session-running strong{color:#235f3f}
.session-controls select{-webkit-appearance:none;appearance:none;padding-right:44px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#292634 50%),linear-gradient(135deg,#292634 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.session-summary .fulfillment-average{border:1px solid transparent}.session-summary .fulfillment-average.target-met{background:#eaf7ef;border-color:#bfe6cb}.session-summary .fulfillment-average.target-met strong{color:#27764e}.session-summary .fulfillment-average.target-missed{background:#fff2ef;border-color:#ffd3ca}.session-summary .fulfillment-average.target-missed strong{color:#c45443}#fulfillmentSummary{grid-template-columns:repeat(4,1fr)}@media(max-width:760px){#fulfillmentSummary{grid-template-columns:1fr}}
.fulfillment-branch-search{position:relative;min-width:240px;flex:1}.fulfillment-branch-search input{width:100%}.fulfillment-table-shell{background:transparent;border-radius:0;box-shadow:none;overflow:visible}.fulfillment-table-shell .data-toolbar{justify-content:flex-start;padding:0 0 10px;border:0;background:transparent}.fulfillment-table-shell .data-toolbar>strong{display:none}.fulfillment-table-shell .data-toolbar span{color:var(--muted);font-size:12px}.fulfillment-table-shell .table-wrap{max-height:calc(100vh - 150px);overflow:auto;background:#fff;border-radius:17px}.fulfillment-table-shell table{min-width:900px;table-layout:fixed}.fulfillment-table-shell thead th{position:sticky;top:0;z-index:3;background:#f8f8fc;box-shadow:0 1px 0 #e7e7ef}.fulfillment-table-shell th,.fulfillment-table-shell td{vertical-align:middle;text-align:left}.fulfillment-table-shell th:nth-child(1),.fulfillment-table-shell td:nth-child(1){width:170px}.fulfillment-table-shell th:nth-child(2),.fulfillment-table-shell td:nth-child(2){width:330px;white-space:normal;line-height:1.4}.fulfillment-table-shell th:nth-child(3),.fulfillment-table-shell td:nth-child(3){width:110px;text-align:center}.fulfillment-table-shell th:nth-child(4),.fulfillment-table-shell td:nth-child(4){width:125px;text-align:center}.fulfillment-table-shell th:nth-child(5),.fulfillment-table-shell td:nth-child(5){width:135px;text-align:center}.fulfillment-table-shell th:nth-child(6),.fulfillment-table-shell td:nth-child(6){width:130px;text-align:center}@media(max-width:760px){.fulfillment-table-shell table{min-width:900px}}
.fulfillment-view-switch{display:inline-flex;margin:0 0 18px}.fulfillment-overall-controls{align-items:center}.fulfillment-overall-controls .acops-select{min-width:190px}.fulfillment-overall-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.fulfillment-overall-shell{margin:0}.fulfillment-overall-shell .data-toolbar span{color:var(--muted);font-size:12px}.fulfillment-overall-shell .table-wrap{max-height:calc(100vh - 190px);overflow:auto}.fulfillment-overall-shell table{table-layout:fixed}.fulfillment-overall-shell th:nth-child(1),.fulfillment-overall-shell td:nth-child(1){width:28%}.fulfillment-overall-shell th:nth-child(2),.fulfillment-overall-shell td:nth-child(2){width:16%;text-align:center}.fulfillment-overall-shell th:nth-child(3),.fulfillment-overall-shell td:nth-child(3){width:18%;text-align:center}.fulfillment-overall-shell th:nth-child(4),.fulfillment-overall-shell td:nth-child(4){width:18%;text-align:center}.fulfillment-overall-shell th:nth-child(5),.fulfillment-overall-shell td:nth-child(5){width:20%;text-align:center}.fulfillment-overall-shell thead th{position:sticky;top:0;z-index:2}.fulfillment-overview{background:#fff;border-radius:20px;padding:21px;position:sticky;top:86px}.fulfillment-overview .eyebrow{color:#7161df;margin:0 0 6px}.fulfillment-overview h3{font:700 19px Manrope;margin:0 0 18px}.fulfillment-overview-stat{padding:12px 0;border-top:1px solid #eeedf4;display:flex;justify-content:space-between;gap:12px;align-items:baseline}.fulfillment-overview-stat span{font-size:12px;color:#85828d}.fulfillment-overview-stat strong{font:700 17px Manrope}.fulfillment-overview-stat strong.on-target{color:#27764e}.fulfillment-overview-stat strong.below-target{color:#c45443}.fulfillment-overview-definition{font-size:12px;line-height:1.65;color:#77747e;margin:15px 0}.fulfillment-overview-definition strong{display:block;color:#302e3a;margin-bottom:3px}.fulfillment-overview-target{font-size:12px;margin:0;color:#6c6974}.fulfillment-overview-rankings{border-top:1px solid #eeedf4;margin-top:17px;padding-top:4px}.fulfillment-overview-rankings section{padding:14px 0 3px}.fulfillment-overview-rankings h4{font:700 12px Manrope;margin:0 0 8px;color:#34313e}.fulfillment-overview-rankings ol{list-style:none;padding:0;margin:0;display:grid;gap:7px}.fulfillment-overview-rankings li{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#73707c}.fulfillment-overview-rankings li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fulfillment-overview-rankings b{font:800 11px Manrope}.fulfillment-overview-rankings b.high{color:#31885a}.fulfillment-overview-rankings b.low{color:#cf6251}@media(max-width:1050px){.fulfillment-overall-layout{grid-template-columns:1fr}.fulfillment-overview{position:static}}@media(max-width:760px){.fulfillment-view-switch{display:flex}.fulfillment-view-switch button{flex:1}.fulfillment-overall-shell table{min-width:760px}}.fulfillment-view-switch[hidden]{display:none}.fulfillment-hq-shell .data-toolbar span{color:var(--muted);font-size:12px}.fulfillment-hq-shell .table-wrap{max-height:calc(100vh - 190px);overflow:auto}.fulfillment-hq-shell table{table-layout:fixed}.fulfillment-hq-shell th:nth-child(1),.fulfillment-hq-shell td:nth-child(1){width:30%}.fulfillment-hq-shell th:nth-child(n+2),.fulfillment-hq-shell td:nth-child(n+2){text-align:center}.fulfillment-hq-shell td:empty,.fulfillment-hq-shell td[colspan]{text-align:center;color:var(--muted)}.fulfillment-hq-empty{padding:40px 16px;text-align:center;color:var(--muted);font:600 13px 'DM Sans'}.fulfillment-hq-shell thead th.fulfillment-hq-sort-th{cursor:pointer;user-select:none;transition:color .12s,background .12s}.fulfillment-hq-shell thead th.fulfillment-hq-sort-th:hover{color:#4a3fc7;background:#f3f1ff}.fulfillment-hq-shell thead th.fulfillment-hq-sort-th.active{color:#6b5bdf}.fulfillment-hq-shell thead th .fulfillment-hq-sort-label{display:inline-flex;align-items:center;gap:4px}.fulfillment-hq-shell thead th .fulfillment-hq-sort-arrow{font-size:8px;line-height:1;color:#6b5bdf;min-width:8px}.fulfillment-hq-shell th:nth-child(1),.fulfillment-hq-shell td:nth-child(1){width:40%}.fulfillment-hq-shell th:nth-child(2),.fulfillment-hq-shell td:nth-child(2){width:13%;text-align:left}.fulfillment-hq-shell th:nth-child(n+3),.fulfillment-hq-shell td:nth-child(n+3){width:23.5%}
.session-teacher-search{position:relative;min-width:280px;flex:1}.session-teacher-search input{width:100%}.session-teacher-menu{position:absolute;z-index:50;top:calc(100% + 7px);left:0;width:100%;max-height:260px;overflow-y:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 26px rgba(35,31,70,.14)}.session-teacher-menu button,.session-teacher-menu span{display:block;width:100%;border:0;background:transparent;padding:9px 10px;border-radius:9px;text-align:left;color:var(--ink);font:600 12px 'DM Sans'}.session-teacher-menu button:hover{background:#f0eeff;color:#5e50cf}
.session-table-shell .table-wrap{max-height:calc(100vh - 150px);overflow:auto}.session-table-shell thead th{position:sticky;top:0;z-index:3;background:#f8f8fc;box-shadow:0 1px 0 #e7e7ef}.session-table-shell thead th:nth-child(-n+3){z-index:5}
.sqt-table-shell .table-wrap,.obs-table-shell .table-wrap,.smart-table-shell .table-wrap,.smart-detail-shell .table-wrap{max-height:calc(100vh - 150px);overflow:auto}.sqt-table-shell thead th,.obs-table-shell thead th,.smart-table-shell thead th,.smart-detail-shell thead th{position:sticky;top:0;z-index:3;background:#f8f8fc;box-shadow:0 1px 0 #e7e7ef}
.session-table-shell .table-wrap table{table-layout:fixed;min-width:1800px}.session-table-shell .table-wrap table th,.session-table-shell .table-wrap table td{text-align:center}.session-table-shell .table-wrap table th{white-space:normal;line-height:1.25}.session-table-shell .table-wrap table td:nth-child(7){text-align:left;max-width:none;white-space:normal;line-height:1.4}.session-table-shell .table-wrap table th:nth-child(1),.session-table-shell .table-wrap table td:nth-child(1){width:46px}.session-table-shell .table-wrap table th:nth-child(2),.session-table-shell .table-wrap table td:nth-child(2){width:118px}.session-table-shell .table-wrap table th:nth-child(3),.session-table-shell .table-wrap table td:nth-child(3){width:150px}.session-table-shell .table-wrap table th:nth-child(4),.session-table-shell .table-wrap table td:nth-child(4){width:220px}.session-table-shell .table-wrap table th:nth-child(5),.session-table-shell .table-wrap table td:nth-child(5){width:110px}.session-table-shell .table-wrap table th:nth-child(6),.session-table-shell .table-wrap table td:nth-child(6){width:115px}.session-table-shell .table-wrap table th:nth-child(7),.session-table-shell .table-wrap table td:nth-child(7){width:330px}.session-table-shell .table-wrap table th:nth-child(8),.session-table-shell .table-wrap table td:nth-child(8){width:180px}.session-table-shell .table-wrap table th:nth-child(9),.session-table-shell .table-wrap table td:nth-child(9){width:130px}.session-table-shell .table-wrap table th:nth-child(10),.session-table-shell .table-wrap table td:nth-child(10){width:80px}.session-table-shell .table-wrap table th:nth-child(11),.session-table-shell .table-wrap table td:nth-child(11){width:110px}.session-table-shell .table-wrap table th:nth-child(12),.session-table-shell .table-wrap table td:nth-child(12){width:105px}.session-table-shell .table-wrap table th:nth-child(13),.session-table-shell .table-wrap table td:nth-child(13){width:130px}
#teacherTotalsPanel[hidden]{display:none}.teacher-total-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.teacher-total-controls select,.teacher-total-controls input{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;color:var(--ink);font:600 12px 'DM Sans';outline:none}.teacher-total-controls select{-webkit-appearance:none;appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#292634 50%),linear-gradient(135deg,#292634 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.teacher-total-period{display:flex;align-items:center;gap:8px;color:#77747e;font-size:11px}.teacher-total-period[hidden]{display:none}.teacher-total-period label{display:flex;align-items:center;gap:5px}.teacher-total-branch-search,.teacher-total-teacher-search{position:relative;min-width:220px;flex:1}.teacher-total-branch-search input,.teacher-total-teacher-search input{width:100%}.teacher-total-menu{position:absolute;z-index:55;top:calc(100% + 7px);left:0;width:100%;max-height:260px;overflow-y:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 26px rgba(35,31,70,.14)}.teacher-total-menu button,.teacher-total-menu span{display:block;width:100%;border:0;background:transparent;padding:9px 10px;border-radius:9px;text-align:left;color:var(--ink);font:600 12px 'DM Sans'}.teacher-total-menu button:hover{background:#f0eeff;color:#5e50cf}.teacher-total-layout{display:grid;grid-template-columns:minmax(0,1fr) 450px;gap:22px;align-items:start}.teacher-total-table-shell{order:1}.teacher-total-overview{order:2;background:#fff;border-radius:20px;padding:22px;max-height:calc(100vh - 120px);overflow:auto}.teacher-total-overview>.eyebrow{color:#7161df;margin:0 0 6px}.teacher-total-overview h3{font:700 19px Manrope;margin:0 0 16px}.teacher-total-overview-stat{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-top:1px solid #eeedf4}.teacher-total-overview-stat span{font-size:11px;color:#85828d}.teacher-total-overview-stat strong{font:800 16px Manrope}.teacher-risk-section{border-top:1px solid #eeedf4;margin-top:12px;padding-top:14px}.teacher-risk-section h4{font:700 13px Manrope;margin:0 0 4px}.teacher-risk-section>p{color:#8a8792;font-size:10px;margin:0 0 10px}.teacher-risk-section ol{list-style:none;padding:0;margin:0;display:grid;gap:8px}.teacher-risk-section li{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#6f6c78}.teacher-risk-section li span{min-width:0}.teacher-risk-section li b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#393641}.teacher-risk-section li small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9996a1;margin-top:2px}.teacher-risk-section li>strong{flex:0 0 auto;color:#c8493e;font:800 11px Manrope}.teacher-risk-empty{color:#278458;font-size:11px;font-weight:700}.teacher-total-table-shell .table-wrap{max-height:calc(100vh - 150px);overflow:auto}.teacher-total-table-shell table{table-layout:fixed;width:100%}.teacher-total-table-shell thead th{position:sticky;top:0;z-index:3;background:#f8f8fc}.teacher-total-table-shell th,.teacher-total-table-shell td{text-align:center;white-space:normal;line-height:1.35;padding:11px 10px}.teacher-total-table-shell th:nth-child(1),.teacher-total-table-shell td:nth-child(1){width:28%;text-align:left}.teacher-total-table-shell th:nth-child(2),.teacher-total-table-shell td:nth-child(2){width:42%;text-align:left}.teacher-total-table-shell th:nth-child(3),.teacher-total-table-shell td:nth-child(3),.teacher-total-table-shell th:nth-child(4),.teacher-total-table-shell td:nth-child(4){width:15%}.teacher-score{display:inline-flex;min-width:48px;justify-content:center;padding:5px 9px;border-radius:11px;background:#eaf7ef;color:#27764e;font-weight:800}.teacher-score.unqualified,.teacher-score.missing{background:#fde9e6;color:#c8493e}@media(max-width:1050px){.teacher-total-layout{grid-template-columns:1fr}.teacher-total-overview{max-height:none}.teacher-total-table-shell{order:1}.teacher-total-overview{order:2}}@media(max-width:760px){.teacher-total-controls>*{width:100%;min-width:0}.teacher-total-period{flex-wrap:wrap}.teacher-total-table-shell table{min-width:700px}}
#teacherTotalsPanel[hidden]{display:none}.teacher-total-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.teacher-total-controls select,.teacher-total-controls input{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;color:var(--ink);font:600 12px 'DM Sans';outline:none}.teacher-total-controls select{-webkit-appearance:none;appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#292634 50%),linear-gradient(135deg,#292634 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.teacher-total-period{display:flex;align-items:center;gap:8px;color:#77747e;font-size:11px}.teacher-total-period[hidden]{display:none}.teacher-total-period label{display:flex;align-items:center;gap:5px}.teacher-total-branch-search,.teacher-total-teacher-search{position:relative;min-width:220px;flex:1}.teacher-total-branch-search input,.teacher-total-teacher-search input{width:100%}.teacher-total-menu{position:absolute;z-index:55;top:calc(100% + 7px);left:0;width:100%;max-height:260px;overflow-y:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 26px rgba(35,31,70,.14)}.teacher-total-menu button,.teacher-total-menu span{display:block;width:100%;border:0;background:transparent;padding:9px 10px;border-radius:9px;text-align:left;color:var(--ink);font:600 12px 'DM Sans'}.teacher-total-menu button:hover{background:#f0eeff;color:#5e50cf}.teacher-total-layout{display:grid;grid-template-columns:minmax(0,1fr) 450px;gap:22px;align-items:start}.teacher-total-table-shell{order:1}.teacher-total-overview{order:2;background:#fff;border-radius:20px;padding:22px;max-height:calc(100vh - 120px);overflow:auto}.teacher-total-overview>.eyebrow{color:#7161df;margin:0 0 6px}.teacher-total-overview h3{font:700 19px Manrope;margin:0 0 16px}.teacher-total-overview-stat{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-top:1px solid #eeedf4}.teacher-total-overview-stat span{font-size:11px;color:#85828d}.teacher-total-overview-stat strong{font:800 16px Manrope}.teacher-total-overview-stat.no-observation strong{color:#d79a16}.teacher-total-overview-stat.unqualified strong{color:#d54b42}.teacher-risk-section{border-top:1px solid #eeedf4;margin-top:12px;padding-top:14px}.teacher-risk-section h4{font:700 13px Manrope;margin:0 0 4px}.teacher-risk-section>p{color:#8a8792;font-size:10px;margin:0 0 10px}.teacher-risk-section ol{list-style:none;padding:0;margin:0;display:grid;gap:8px}.teacher-risk-section li{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#6f6c78}.teacher-risk-section li span{min-width:0}.teacher-risk-section li b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#393641}.teacher-risk-section li small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9996a1;margin-top:2px}.teacher-risk-section li>strong{flex:0 0 auto;color:#c8493e;font:800 11px Manrope}.teacher-risk-empty{color:#278458;font-size:11px;font-weight:700}.teacher-total-table-shell .table-wrap{max-height:calc(100vh - 150px);overflow:auto}.teacher-total-table-shell table{table-layout:fixed;width:100%}.teacher-total-table-shell thead th{position:sticky;top:0;z-index:3;background:#f8f8fc}.teacher-total-table-shell th,.teacher-total-table-shell td{text-align:center;white-space:normal;line-height:1.35;padding:11px 10px}.teacher-total-table-shell th:nth-child(1),.teacher-total-table-shell td:nth-child(1){width:28%;text-align:left}.teacher-total-table-shell th:nth-child(2),.teacher-total-table-shell td:nth-child(2){width:42%;text-align:left}.teacher-total-table-shell th:nth-child(3),.teacher-total-table-shell td:nth-child(3),.teacher-total-table-shell th:nth-child(4),.teacher-total-table-shell td:nth-child(4){width:15%}.teacher-score{display:inline-flex;min-width:48px;justify-content:center;padding:5px 9px;border-radius:11px;background:#eaf7ef;color:#27764e;font-weight:800}.teacher-score.unqualified,.teacher-score.missing{background:#fde9e6;color:#c8493e}@media(max-width:1050px){.teacher-total-layout{grid-template-columns:1fr}.teacher-total-overview{max-height:none}.teacher-total-table-shell{order:1}.teacher-total-overview{order:2}}@media(max-width:760px){.teacher-total-controls>*{width:100%;min-width:0}.teacher-total-period{flex-wrap:wrap}.teacher-total-table-shell table{min-width:700px}}
.teacher-total-heading{display:flex;align-items:baseline;gap:9px}.teacher-total-heading #teacherTotalCount{color:#8a8793;font-size:11px}.teacher-total-table-shell .data-toolbar>select{border:1px solid var(--line);border-radius:12px;background-color:#fff;padding:8px 38px 8px 11px;color:#494651;font:700 11px 'DM Sans';outline:none;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#292634 50%),linear-gradient(135deg,#292634 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}

/* Dashboard live performance cards */
#dashboard .hero h1 em{color:#6b5bdf;font-style:normal}
#dashboard .hero{min-height:auto;padding:18px 8px 28px;background:transparent;border-radius:0;color:#171725;overflow:visible}
#dashboard .hero:before,#dashboard .hero:after{display:none}
#dashboard .hero .eyebrow{color:#6b5bdf;margin-bottom:15px;font-weight:700}
#dashboard .hero h1{color:#171725;font:700 clamp(38px,4.15vw,62px)/1.02 Manrope;letter-spacing:-3.2px}
#dashboard .hero h1 span{color:#171725}
#dashboard .hero h1 br{display:block}
#dashboard .hero .hero-region{margin:10px 0 0;color:#92909d;font:500 clamp(16px,1.45vw,21px)/1.4 'DM Sans',Arial,sans-serif;letter-spacing:0}
#dashboard .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#dashboard .metric{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:17px;min-height:156px;padding:25px 27px;text-decoration:none;background:#fff;border:1px solid #efedf7;border-top:5px solid #dedbe8;border-radius:28px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
#dashboard .metric:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(45,39,90,.09)}
#dashboard .metric:before{display:none}
#dashboard .metric>span{margin-left:0}
#dashboard .metric-copy{display:flex;min-width:0;flex-direction:column}
#dashboard .metric small{color:#92909d;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#dashboard .metric strong{margin:5px 0 2px;color:#171522;font:800 32px Manrope;line-height:1.05}
#dashboard .metric b{color:#504d59;font:700 14px Manrope;line-height:1.25}
#dashboard .metric i{margin-top:11px;font:800 9px 'DM Sans';font-style:normal;text-transform:uppercase;letter-spacing:.7px}
#dashboard .metric-arrow{position:absolute;right:20px;bottom:16px;font-size:18px}
#dashboard .metric-status-low{border-top-color:#df6b63}
#dashboard .metric-status-low strong,#dashboard .metric-status-low i,#dashboard .metric-status-low .metric-arrow{color:#c84e45}
#dashboard .metric-status-good{border-top-color:#45a66d}
#dashboard .metric-status-good strong,#dashboard .metric-status-good i,#dashboard .metric-status-good .metric-arrow{color:#278158}
#dashboard .metric-status-neutral strong,#dashboard .metric-status-neutral i,#dashboard .metric-status-neutral .metric-arrow{color:#6b5bdf}
@media(max-width:980px){#dashboard .metrics{grid-template-columns:1fr}#dashboard .metric{min-height:132px}}

/* Dashboard schedule rail */
#dashboard:before,#dashboard:after{display:none!important}
#dashboard .dashboard-sessions{min-width:0;background:#fff;border:1px solid #efedf7;border-radius:28px;padding:25px 22px;align-self:start}
.dashboard-sessions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px}
.dashboard-sessions-head .eyebrow{color:#6b5bdf;margin:0 0 5px;font-size:10px}
.dashboard-sessions-head h2{font:800 24px Manrope;margin:0;letter-spacing:-1px}
.dashboard-sessions-head div>span{display:block;color:#92909d;font-size:11px;margin-top:4px}
.dashboard-sessions-head div>span b{color:#6b5bdf;font-weight:800;margin-left:5px}
.dashboard-sessions-head>a{flex:0 0 auto;color:#6b5bdf;text-decoration:none;font-size:11px;font-weight:800;padding-top:5px}
.dashboard-session-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:-2px 0 12px;padding:4px;border-radius:13px;background:#f2f1f7}
.dashboard-session-filter button{min-width:0;border:0;border-radius:10px;background:transparent;padding:8px 5px;color:#85818f;font:800 9px 'DM Sans';cursor:pointer;white-space:nowrap}
.dashboard-session-filter button.active{background:#fff;color:#5f50cf;box-shadow:0 2px 8px rgba(55,48,94,.1)}
.dashboard-session-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:15px}
.dashboard-session-summary>span{border-radius:13px;padding:9px 7px;text-align:center;font-size:9px;font-weight:700}
.dashboard-session-summary b{display:block;font:800 17px Manrope}
.dashboard-session-summary .running{background:#e7f7ec;color:#27704b}
.dashboard-session-summary .upcoming{background:#fff4cf;color:#8a6812}
.dashboard-session-summary .passed{background:#f1f1f4;color:#77747e}
.dashboard-session-list{display:grid;gap:8px;max-height:calc(100vh - 250px);overflow-y:auto;padding-right:3px}
.dashboard-session{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;border-radius:16px;padding:13px 14px;border-left:5px solid transparent}
.dashboard-session.session-running{background:#e7f7ec;border-left-color:#45a66d;color:#235f3f}
.dashboard-session.session-upcoming{background:#fff4cf;border-left-color:#e0b632;color:#70570f}
.dashboard-session.session-later{background:#fff;border:1px solid #eceaf2;border-left:5px solid #dedbe8;color:#55525e}
.dashboard-session.session-passed{background:#f1f1f4;border-left-color:#b5b3bb;color:#77747e}
.dashboard-session-time strong,.dashboard-session-copy strong{display:block;font:800 12px Manrope}
.dashboard-session-time span{display:inline-block;margin-top:5px;text-transform:uppercase;font-size:8px;font-weight:800;letter-spacing:.7px}
.dashboard-session-copy{min-width:0}
.dashboard-session-copy strong,.dashboard-session-copy span,.dashboard-session-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-session-copy span,.dashboard-session-copy small{display:block;font-size:10px;margin-top:3px}
.dashboard-session-copy small{opacity:.75}
.dashboard-session-type{display:inline-flex;margin-top:7px;padding:3px 7px;border-radius:999px;background:rgba(93,88,108,.1);color:inherit;font:800 8px Manrope;text-transform:uppercase;letter-spacing:.45px}
.dashboard-session-type.additional{background:#eee9ff;color:#5e50cf}
.dashboard-session-empty,.dashboard-sessions-loading{padding:42px 16px;text-align:center;color:#8d8a96;font-size:12px}
.dashboard-session-empty strong{display:block;color:#484550;margin-bottom:5px}
.dashboard-session-empty span{display:block}
@media(min-width:1130px){main{padding-right:34px}.view#dashboard{margin-right:0}.view#dashboard.active{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:28px;align-items:start}.dashboard-sessions{position:sticky;top:30px;max-height:calc(100vh - 60px)}}
@media(max-width:1129px){#dashboard .dashboard-sessions{margin-top:28px}.dashboard-session-list{max-height:620px}}
@media(max-width:560px){#dashboard .dashboard-sessions{padding:20px 16px}.dashboard-session-summary{grid-template-columns:1fr}.dashboard-session-summary>span{display:flex;align-items:center;justify-content:center;gap:6px}.dashboard-session-summary b{display:inline}.dashboard-session{grid-template-columns:90px minmax(0,1fr)}}
@media(max-width:760px){#dashboard .hero{padding-left:0;padding-right:0}#dashboard .hero h1{font-size:34px;letter-spacing:-1.8px}}

/* Revenue · secondary commercial overview */
.revenue-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.revenue-controls select,.revenue-controls input,.revenue-table-shell .data-toolbar select{min-height:42px;border:1px solid #e2e0ea;border-radius:13px;background:#fff;padding:9px 12px;color:#403d49;font:700 11px 'DM Sans';outline:none}.revenue-controls input{min-width:260px;flex:1}.revenue-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.revenue-kpis>article{padding:21px 22px;background:#fff;border:1px solid #eeecf4;border-top:4px solid #d9d6e6;border-radius:20px}.revenue-kpis span{display:block;color:#8a8793;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.55px}.revenue-kpis strong{display:block;margin-top:7px;color:#25222e;font:800 25px Manrope}.revenue-kpis small{display:block;margin-top:5px;color:#92909d;font-size:10px}.revenue-kpis .good{border-top-color:#45a66d}.revenue-kpis .good strong{color:#278158}.revenue-kpis .watch{border-top-color:#e1b43b}.revenue-kpis .watch strong{color:#9a7313}.revenue-kpis .critical{border-top-color:#df6b63}.revenue-kpis .critical strong{color:#c84e45}.revenue-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.revenue-weekly{padding:23px 25px;margin-bottom:20px;background:#fff;border:1px solid #eeecf4;border-radius:22px}.revenue-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.revenue-section-head .eyebrow,.revenue-attention>.eyebrow{color:#6b5bdf;margin:0 0 4px;font-size:9px}.revenue-section-head h2,.revenue-attention h2{margin:0;font:800 21px Manrope;letter-spacing:-.6px}.revenue-section-head>span{color:#95929e;font-size:10px}.revenue-week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:20px}.revenue-week-grid article{min-width:0;padding:12px 10px 10px;background:#f8f8fc;border-radius:15px}.revenue-week-grid article>div:first-child{display:flex;justify-content:space-between;align-items:center}.revenue-week-grid article>div>strong{font:800 12px Manrope}.revenue-week-grid article>div>span{font-size:9px;font-weight:800}.revenue-week-grid .good{color:#278158}.revenue-week-grid .watch{color:#a67b12}.revenue-week-grid .critical{color:#c84e45}.revenue-bars{height:95px!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;gap:6px!important;margin:10px 0 8px}.revenue-bars i,.revenue-bars b{display:block;width:14px;border-radius:5px 5px 2px 2px}.revenue-bars i{background:#dcd9e7}.revenue-bars b{background:#6b5bdf}.revenue-week-grid small{display:block;overflow:hidden;color:#625e6a;font-size:9px;font-weight:700;text-align:center;white-space:nowrap}.revenue-legend{display:flex;justify-content:flex-end;gap:14px;margin-top:12px;color:#8c8995;font-size:9px}.revenue-legend span{display:flex;align-items:center;gap:5px}.revenue-legend i,.revenue-legend b{width:9px;height:9px;border-radius:3px;background:#dcd9e7}.revenue-legend b{background:#6b5bdf}.revenue-table-shell .data-toolbar>div{display:flex;align-items:center;gap:9px}.revenue-table-shell .data-toolbar span{color:#8b8794;font-size:10px}.revenue-table-shell .table-wrap{max-height:620px;overflow:auto}.revenue-table-shell table{min-width:790px}.revenue-table-shell thead th{position:sticky;top:0;z-index:2;background:#f8f8fc}.revenue-table-shell th,.revenue-table-shell td{padding:12px 13px}.revenue-table-shell th:not(:first-child),.revenue-table-shell td:not(:first-child){text-align:right}.revenue-table-shell td:first-child strong,.revenue-table-shell td:first-child small{display:block}.revenue-table-shell td:first-child small{max-width:210px;margin-top:3px;color:#9895a0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.revenue-group{display:inline-flex;padding:5px 7px;border-radius:9px;background:#f0eeff;color:#6051cb;font-size:8px;font-weight:800;white-space:nowrap}.revenue-achievement{display:inline-flex;min-width:68px;justify-content:center;padding:6px 8px;border-radius:10px;font-size:9px;font-weight:800}.revenue-achievement.ontrack{background:#e8f6ed;color:#278158}.revenue-achievement.watch{background:#fff4cf;color:#977014}.revenue-achievement.critical{background:#fde9e6;color:#c84e45}.revenue-achievement.nodata{background:#eeeeF2;color:#77747e}.revenue-table-shell .positive{color:#278158;font-weight:800}.revenue-table-shell .negative{color:#c84e45;font-weight:800}.revenue-attention{position:sticky;top:30px;padding:23px 21px;background:#fff;border:1px solid #eeecf4;border-radius:22px}.revenue-attention-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.revenue-attention-stats article{padding:13px;background:#fff1ee;border-radius:13px}.revenue-attention-stats strong,.revenue-attention-stats span{display:block}.revenue-attention-stats strong{color:#c84e45;font:800 22px Manrope}.revenue-attention-stats span{margin-top:2px;color:#8d625e;font-size:9px;font-weight:700}.revenue-attention h3{margin:20px 0 9px;font:800 13px Manrope}.revenue-gap-list{display:grid;gap:7px}.revenue-gap-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;background:#f8f8fc;border-radius:12px}.revenue-gap-list article div{min-width:0}.revenue-gap-list strong,.revenue-gap-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.revenue-gap-list strong{font-size:10px}.revenue-gap-list small{margin-top:2px;color:#92909d;font-size:8px}.revenue-gap-list b{flex:0 0 auto;color:#c84e45;font-size:9px}.revenue-note{margin:18px 0 0;padding-top:14px;border-top:1px solid #eeecf4;color:#9996a1;font-size:9px;line-height:1.5}
@media(max-width:1050px){.revenue-kpis{grid-template-columns:repeat(2,1fr)}.revenue-layout{grid-template-columns:1fr}.revenue-attention{position:static}}@media(max-width:650px){.revenue-kpis{grid-template-columns:1fr}.revenue-controls>*{width:100%;min-width:0!important}.revenue-weekly{padding:18px 14px}.revenue-week-grid{gap:6px}.revenue-week-grid article{padding:10px 5px}.revenue-bars{height:75px!important}.revenue-bars i,.revenue-bars b{width:10px}.revenue-week-grid small{font-size:8px}}
.revenue-main-tabs{margin-bottom:20px}.revenue-branch-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px;padding:16px 18px;background:#fff;border:1px solid #eeecf4;border-radius:18px}.revenue-branch-toolbar>div:first-child{min-width:310px}.revenue-branch-toolbar label{display:block;margin:0 0 6px;color:#85818e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.55px}.revenue-branch-toolbar select{width:100%;min-height:42px;border:1px solid #e2e0ea;border-radius:12px;background:#fff;padding:9px 12px;color:#403d49;font:700 11px 'DM Sans'}.revenue-branch-toolbar .filter-switch{margin:0}.revenue-branch-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:24px 27px;background:linear-gradient(125deg,#ffffff,#f3f1ff);border:1px solid #e9e6f7;border-radius:22px}.revenue-branch-hero .eyebrow{margin:0 0 5px;color:#6b5bdf;font-size:9px}.revenue-branch-hero h2{margin:0;font:800 25px Manrope;letter-spacing:-.9px}.revenue-branch-hero p:last-child{margin:6px 0 0;color:#8b8794;font-size:11px}.revenue-branch-hero>.revenue-achievement{min-width:110px;padding:9px 13px}.revenue-agent-shell .data-toolbar>div{display:flex;align-items:center;gap:9px}.revenue-agent-shell .data-toolbar span{color:#8b8794;font-size:10px}.revenue-agent-shell .table-wrap{max-height:680px;overflow:auto}.revenue-agent-shell table{min-width:980px}.revenue-agent-shell thead th{position:sticky;top:0;z-index:2;background:#f8f8fc}.revenue-agent-shell th,.revenue-agent-shell td{padding:13px 12px;text-align:right}.revenue-agent-shell th:first-child,.revenue-agent-shell td:first-child,.revenue-agent-shell th:nth-child(2),.revenue-agent-shell td:nth-child(2){text-align:left}.revenue-agent-shell tr.vacant{opacity:.55}.revenue-contribution{display:inline-flex;min-width:54px;justify-content:center;padding:5px 8px;border-radius:9px;background:#f0eeff;color:#6051cb;font-size:9px;font-weight:800}
@media(max-width:700px){.revenue-branch-toolbar{align-items:stretch;flex-direction:column}.revenue-branch-toolbar>div:first-child,.revenue-branch-toolbar .filter-switch{width:100%;min-width:0}.revenue-branch-hero{align-items:flex-start;flex-direction:column}.revenue-branch-hero>.revenue-achievement{min-width:0}}

/* Regional hub and division workspaces */
body{--accent:#176b72;--accent-soft:#e1f3f1;--accent-deep:#0f5258}
body[data-division="academic"]{--accent:#6b5bdf;--accent-soft:#ebe9ff;--accent-deep:#5142bf}
body[data-division="marketing"]{--accent:#d55b43;--accent-soft:#fff0eb;--accent-deep:#ad422f}
body[data-division="administration"]{--accent:#287fb3;--accent-soft:#e4f3fb;--accent-deep:#17638e}
body[data-division="commercial"]{--accent:#278461;--accent-soft:#e5f6ee;--accent-deep:#196447}
.brand{align-items:flex-start}.brand-mark{flex:0 0 auto;background:linear-gradient(135deg,var(--accent),var(--accent-deep))}.brand>span:last-child{line-height:1}.brand small{display:block;margin-top:6px;color:#92919d;font:700 9px 'DM Sans';letter-spacing:1.3px;text-transform:uppercase}.brand-dot,.nav-link.active span,.page-title h1 em,.page-title .eyebrow{color:var(--accent)}
.sidebar{padding:30px 25px;width:286px;transition:width .2s}.sidebar nav{gap:8px;margin-top:38px;overflow:auto;padding:0 7px 24px 0}.nav-division{display:grid;gap:4px;margin-top:9px;padding:11px 0 2px;border-top:1px solid #eeedf3}.nav-division>strong{margin:0 0 5px 33px;color:#a09da9;font:800 9px 'DM Sans';letter-spacing:1.2px;text-transform:uppercase}.nav-link{padding:8px 9px;border-radius:11px;font-size:12px}.nav-link:hover,.nav-link.active{background:var(--accent-soft);color:var(--accent-deep)}.nav-link span{font-size:15px}.nav-link.nav-sub{margin-left:29px;padding:5px 8px;color:#77737f;font-size:10px}.nav-link.nav-sub span{width:8px}.marketing-nav>strong{color:#c85a45}.administration-nav>strong{color:#287fb3}.commercial-nav>strong{color:#278461}
@media(min-width:1130px){main{margin-left:286px}.nav-toggle{left:271px!important}body.nav-hidden .nav-toggle{left:29px!important}}
.outline-button,.control-button,.sheet-tab.active,.filter-switch button.active{background:var(--accent)}
#dashboard{margin:20px auto 0!important;max-width:none}.regional-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:22px 6px 30px}.regional-hero .eyebrow{margin-bottom:10px;color:var(--accent)}.regional-hero h1{margin:0;font:800 clamp(39px,4.4vw,66px)/1 Manrope;letter-spacing:-3.5px}.regional-hero h1 em{color:var(--accent);font-style:normal}.regional-hero>div>p:last-child{margin:13px 0 0;color:#85828d;font-size:14px}.regional-formula{min-width:365px;padding:18px 21px;border:1px solid #cde4e2;border-radius:19px;background:var(--accent-soft)}.regional-formula span,.regional-formula small{display:block;color:#70807f;font-size:10px}.regional-formula strong{display:block;margin:6px 0;color:var(--accent-deep);font:800 14px Manrope}.regional-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 12px}.regional-toolbar>div{display:grid;gap:3px}.regional-toolbar>div strong{font:800 17px Manrope}.regional-toolbar>div span{color:#8d8a95;font-size:11px}.regional-toolbar .dashboard-wave-toggle{margin:0}.regional-performance-shell{border:1px solid #e7e7ee;box-shadow:0 14px 35px rgba(33,63,68,.06)}.regional-performance-shell .table-wrap{max-height:650px}.regional-performance-table{min-width:1180px}.regional-performance-table thead th{position:sticky;top:0;z-index:2;padding:14px 12px;background:#f4f8f8}.regional-performance-table th small{display:block;margin-top:3px;color:#aaa6af;font-size:8px}.regional-performance-table td{padding:13px 12px}.regional-performance-table tbody tr:hover{background:#fbfefd}.regional-rank{width:38px;color:#aaa6b0;text-align:center;font-weight:800}.regional-value{display:inline-flex;min-width:66px;justify-content:center;padding:6px 9px;border-radius:10px;font-weight:800}.regional-value.summary{background:#dff2ef;color:#11625f}.regional-value.revenue{background:#fff0e8;color:#b65335}.regional-value.fulfillment{background:#e4f2fb;color:#226e9a}.regional-value.sqt{background:#eeebff;color:#5b4bc5}.regional-value.smart{background:#fff6da;color:#9a7414}.regional-missing{color:#b5b1ba}.regional-change{font-size:10px;font-weight:800;color:#9995a0}.regional-change.up{color:#26815b}.regional-change.down{color:#cc5547}.regional-status{display:inline-flex;padding:7px 10px;border-radius:99px;font-size:9px;font-weight:800}.regional-status.on-track{background:#e5f5eb;color:#23744d}.regional-status.watch{background:#fff4d8;color:#9b7213}.regional-status.attention{background:#fde9e5;color:#bd493b}.regional-status.incomplete{background:#f0eff3;color:#77737f}
.division-launchpad{margin-top:34px}.division-launchpad .section-heading{margin-bottom:14px}.division-launchpad .eyebrow{display:block;margin:0 0 5px;color:var(--accent);font-size:9px}.division-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.division-card{position:relative;min-height:190px;padding:22px;border:1px solid #ebe9f0;border-top:5px solid;border-radius:20px;background:#fff;color:#24222d;text-decoration:none;overflow:hidden;transition:.18s}.division-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(36,31,70,.08)}.division-card>span{font:800 10px Manrope}.division-card h3{margin:22px 0 7px;font:800 21px Manrope}.division-card p{min-height:46px;margin:0;color:#8b8793;font-size:11px;line-height:1.45}.division-card b{display:block;margin-top:15px;font-size:10px}.division-card.academic{border-top-color:#6b5bdf}.division-card.academic span,.division-card.academic b{color:#6b5bdf}.division-card.marketing{border-top-color:#d55b43}.division-card.marketing span,.division-card.marketing b{color:#d55b43}.division-card.administration{border-top-color:#287fb3}.division-card.administration span,.division-card.administration b{color:#287fb3}.division-card.commercial{border-top-color:#278461}.division-card.commercial span,.division-card.commercial b{color:#278461}
.division-home{max-width:1200px!important}.division-home-hero{padding:45px 8px 34px}.division-home-hero .eyebrow{color:var(--accent)}.division-home-hero h1{margin:0;font:800 clamp(42px,5vw,68px)/1 Manrope;letter-spacing:-3.5px}.division-home-hero h1 em{color:var(--accent);font-style:normal}.division-home-hero>p:last-child{max-width:620px;color:#85828d;font-size:14px}.division-home-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.division-home-grid>*{min-height:255px;padding:28px;border-radius:23px;background:#fff;border:1px solid #eceaf1;color:inherit;text-decoration:none}.division-home-grid>a{border-top:6px solid var(--accent)}.division-home-grid span{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:1px}.division-home-grid h2{margin:45px 0 8px;font:800 25px Manrope}.division-home-grid p{color:#888590;font-size:12px;line-height:1.55}.division-home-grid b{display:block;margin-top:30px;color:var(--accent);font-size:11px}.division-empty{display:grid;place-items:center;min-height:390px;padding:60px;border:1px dashed #b9d8c9;border-radius:24px;background:#f5fbf8;text-align:center}.division-empty>span{display:grid;place-items:center;width:74px;height:74px;border-radius:23px;background:var(--accent-soft);color:var(--accent);font-size:32px}.division-empty h2{margin:18px 0 6px;font:800 24px Manrope}.division-empty p{max-width:520px;margin:0;color:#85828d;font-size:12px;line-height:1.6}
@media(max-width:1150px){.division-grid{grid-template-columns:repeat(2,1fr)}.regional-hero{align-items:flex-start;flex-direction:column}.regional-formula{min-width:0;width:100%}}
@media(max-width:760px){.division-grid,.division-home-grid{grid-template-columns:1fr}.regional-toolbar{align-items:flex-start;flex-direction:column}.regional-performance-shell .table-wrap{max-height:none}}
.academic-dock{left:286px!important;width:calc(100% - 286px)!important}body.nav-hidden .academic-dock{left:0!important;width:100%!important}

/* Regional ranking emphasis */
#dashboard.active{display:block!important;width:100%!important;max-width:none!important;margin-right:0!important}
.regional-performance-shell{width:100%}.regional-performance-shell .table-wrap{min-height:calc(100vh - 330px);max-height:calc(100vh - 250px)}.regional-performance-table{width:100%;table-layout:auto}.regional-performance-table thead th{padding:16px 14px}.regional-performance-table td{padding:15px 14px}.regional-performance-table tr.regional-top-1{background:linear-gradient(90deg,#fff8db 0,#fffdf5 42%,#fff 100%);box-shadow:inset 5px 0 #e5b72f}.regional-performance-table tr.regional-top-2{background:linear-gradient(90deg,#f2f5f8 0,#fafbfc 42%,#fff 100%);box-shadow:inset 5px 0 #aeb9c4}.regional-performance-table tr.regional-top-3{background:linear-gradient(90deg,#fff0e6 0,#fffaf6 42%,#fff 100%);box-shadow:inset 5px 0 #c98758}.regional-performance-table tr.regional-top-1:hover{background:#fff7d3}.regional-performance-table tr.regional-top-2:hover{background:#f0f4f7}.regional-performance-table tr.regional-top-3:hover{background:#ffede1}.regional-rank{width:58px}.regional-medal{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:12px;background:#fff;font-size:18px;box-shadow:0 4px 12px rgba(44,39,60,.1)}.regional-top-label{display:inline-flex;margin-left:9px;padding:4px 7px;border-radius:99px;background:#ffffffb8;color:#8d7452;font:800 8px 'DM Sans';letter-spacing:.6px;vertical-align:middle}.regional-top-1 .regional-value.summary{background:#f7d969;color:#725408}.regional-top-2 .regional-value.summary{background:#dce3e9;color:#52606c}.regional-top-3 .regional-value.summary{background:#e8b38e;color:#704326}
@media(max-width:760px){.regional-performance-shell .table-wrap{min-height:0;max-height:none}}

/* Calm table hierarchy: neutral details, color reserved for decisions. */
.regional-detail{display:inline-flex;min-width:62px;align-items:center;justify-content:flex-start;color:#55525e;font-weight:750}.regional-detail.normal{color:#55525e}.regional-detail.watch{color:#9b7213}.regional-detail.critical{color:#c25143;font-weight:850}.regional-detail.watch:before,.regional-detail.critical:before{content:"";width:6px;height:6px;margin-right:7px;border-radius:50%;background:currentColor}.regional-performance-table tr.regional-top-1,.regional-performance-table tr.regional-top-2,.regional-performance-table tr.regional-top-3{background:#fff;}.regional-performance-table tr.regional-top-1{box-shadow:inset 4px 0 #e5b72f}.regional-performance-table tr.regional-top-2{box-shadow:inset 4px 0 #aeb9c4}.regional-performance-table tr.regional-top-3{box-shadow:inset 4px 0 #c98758}.regional-performance-table tr.regional-top-1:hover,.regional-performance-table tr.regional-top-2:hover,.regional-performance-table tr.regional-top-3:hover{background:#fbfbfd}.regional-top-1 .regional-value.summary,.regional-top-2 .regional-value.summary,.regional-top-3 .regional-value.summary{background:#dff2ef;color:#11625f}.regional-top-label{background:#f3f2f5;color:#817d88}.regional-medal{box-shadow:none;border:1px solid #eceaf0}.regional-performance-table tbody tr:not(.regional-top):hover{background:#fafbfc}

/* Align numeric data and rely on text color without attention dots. */
.regional-performance-table th:not(:nth-child(2)),.regional-performance-table td:not(:nth-child(2)){text-align:center}.regional-performance-table th:nth-child(2),.regional-performance-table td:nth-child(2){text-align:left}.regional-detail{justify-content:center}.regional-detail.watch:before,.regional-detail.critical:before{display:none}.regional-value,.regional-change,.regional-status{margin-inline:auto}

/* Full-row podium colors for the top three branches. */
.regional-performance-table tr.regional-top-1{background:linear-gradient(90deg,#fff7cf 0%,#fffaf0 55%,#fffdf8 100%)}.regional-performance-table tr.regional-top-2{background:linear-gradient(90deg,#eef2f5 0%,#f8fafb 55%,#fcfdfe 100%)}.regional-performance-table tr.regional-top-3{background:linear-gradient(90deg,#ffeadc 0%,#fff6ef 55%,#fffaf7 100%)}.regional-performance-table tr.regional-top-1:hover{background:#fff4c4}.regional-performance-table tr.regional-top-2:hover{background:#e9eff3}.regional-performance-table tr.regional-top-3:hover{background:#ffe5d3}

/* Academic dashboard is a dedicated division page. */
.academic-division-dashboard{max-width:none!important}.academic-division-dashboard>.metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.academic-division-dashboard>.metrics .metric{display:flex;min-width:0;min-height:118px;border:1px solid #ece9f8;border-top:4px solid #6b5bdf;border-radius:22px;text-decoration:none}.academic-division-dashboard>.metrics .metric:nth-child(2),.academic-division-dashboard>.metrics .metric:nth-child(3){display:flex}.academic-division-dashboard>.dashboard-academic,.academic-division-dashboard>.dashboard-analysis,.academic-division-dashboard>.dashboard-sessions{margin-top:24px}.academic-division-dashboard>.dashboard-sessions{position:static;max-height:none;background:#fff;border-radius:24px;padding:24px}.academic-nav .nav-link{margin-left:0}.academic-nav .nav-link span{width:19px}
@media(min-width:1201px) and (max-width:1600px){body:not(.nav-hidden) .academic-division-dashboard>.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.academic-division-dashboard>.metrics{grid-template-columns:1fr}}

@media(min-width:1201px){.academic-division-dashboard.active{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:26px;align-items:start}.academic-division-dashboard>.page-title,.academic-division-dashboard>.academic-dashboard-toolbar,.academic-division-dashboard>.metrics,.academic-division-dashboard>.dashboard-academic,.academic-division-dashboard>.dashboard-analysis{grid-column:1}.academic-division-dashboard>.page-title{grid-row:1}.academic-division-dashboard>.academic-dashboard-toolbar{grid-row:2}.academic-division-dashboard>.metrics{grid-row:3}.academic-division-dashboard>.dashboard-academic{grid-row:4}.academic-division-dashboard>.dashboard-analysis{grid-row:5}.academic-division-dashboard>.dashboard-sessions{grid-column:2;grid-row:1 / span 5;position:sticky;top:24px;max-height:calc(100vh - 48px);margin-top:0;overflow:auto}}
@media(max-width:1200px){.academic-division-dashboard>.dashboard-sessions{position:static;max-height:none}}

/* Keep Academic KPI card content in a clean vertical stack. */
.academic-division-dashboard>.metrics .metric{position:relative;flex-direction:row;align-items:center;justify-content:flex-start;padding:22px 20px;overflow:hidden}.academic-division-dashboard>.metrics .metric:before{left:18px}.academic-division-dashboard>.metrics .metric>.metric-copy{display:flex;min-width:0;margin:0 0 0 62px;flex-direction:column;align-items:flex-start}.academic-division-dashboard>.metrics .metric>.metric-copy small{display:block;color:#92909d;font-size:10px;font-weight:700;line-height:1.35}.academic-division-dashboard>.metrics .metric>.metric-copy strong{order:0;margin:5px 0 2px;color:#171725;font:800 27px/1.05 Manrope}.academic-division-dashboard>.metrics .metric>.metric-copy b{padding-right:18px;color:#4f4b59;font:750 12px/1.35 Manrope}.academic-division-dashboard>.metrics .metric>.metric-copy i{margin-top:9px;color:#777380;font:800 9px/1.3 'DM Sans';font-style:normal;text-transform:uppercase;letter-spacing:.55px}.academic-division-dashboard>.metrics .metric>.metric-arrow{position:absolute;right:18px;bottom:17px;margin:0;color:#6b5bdf;font-size:18px}.academic-division-dashboard>.metrics .metric *{max-width:100%}

/* Academic KPI status colors. */
.academic-division-dashboard>.metrics .metric-status-low{border-color:#f2d4ce;border-top-color:#d85c4a;background:#fff9f7}.academic-division-dashboard>.metrics .metric-status-low:before{background:#fde8e3;color:#cf5140}.academic-division-dashboard>.metrics .metric-status-low>.metric-copy strong,.academic-division-dashboard>.metrics .metric-status-low>.metric-copy i,.academic-division-dashboard>.metrics .metric-status-low>.metric-arrow{color:#c94e3d}.academic-division-dashboard>.metrics .metric-status-good{border-color:#cfe8da;border-top-color:#319365;background:#f8fdf9}.academic-division-dashboard>.metrics .metric-status-good:before{background:#e2f4e9;color:#278158}.academic-division-dashboard>.metrics .metric-status-good>.metric-copy strong,.academic-division-dashboard>.metrics .metric-status-good>.metric-copy i,.academic-division-dashboard>.metrics .metric-status-good>.metric-arrow{color:#247a52}.academic-division-dashboard>.metrics .metric-status-neutral{border-top-color:#6b5bdf;background:#fbfaff}

/* Dashboard academic performance summary */
.dashboard-academic{margin-top:34px}
.dashboard-scope{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 2px 12px}
.dashboard-scope small{color:#92909d;font-size:10px}
.dashboard-wave-toggle{display:inline-flex;align-items:center;gap:8px;color:#4b4855;font:700 11px "DM Sans";cursor:pointer;white-space:nowrap}
.dashboard-wave-toggle input{position:absolute;opacity:0;pointer-events:none}
.dashboard-wave-toggle span{position:relative;width:34px;height:20px;border-radius:99px;background:#d8d6e3;transition:background .18s ease}
.dashboard-wave-toggle span:after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #3a365433;transition:transform .18s ease}
.dashboard-wave-toggle input:checked+span{background:#6b5bdf}
.dashboard-wave-toggle input:checked+span:after{transform:translateX(14px)}
.dashboard-academic-loading{padding:42px;background:#fff;border-radius:24px;text-align:center;color:#92909d;font-size:12px}
.dashboard-academic-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:16px}
.dashboard-academic-head .eyebrow,.dashboard-academic-trend .eyebrow{color:#6b5bdf;margin:0 0 6px;font-size:10px}
.dashboard-academic-head h2{font:800 25px Manrope;letter-spacing:-1.1px;margin:0}
.dashboard-academic-head>div>p:last-child,.dashboard-academic-trend>div>p:last-child{color:#92909d;font-size:12px;margin:5px 0 0}
.dashboard-academic-controls{display:flex;gap:8px;flex-wrap:wrap}
.dashboard-academic-controls select{border:1px solid #e2e0ea;border-radius:13px;background:#fff;padding:10px 38px 10px 12px;color:#403d49;font:700 11px 'DM Sans';outline:none}
.dashboard-academic-table{max-height:520px;overflow:auto;background:#fff;border-radius:22px;border:1px solid #efedf5}
.dashboard-academic-table thead th{position:sticky;top:0;z-index:2;background:#f8f8fc}
.dashboard-academic-table th,.dashboard-academic-table td{padding:13px 18px}
.dashboard-academic-table th:not(:first-child),.dashboard-academic-table td:not(:first-child){text-align:center}
.dashboard-score{display:inline-flex;min-width:68px;justify-content:center;border-radius:12px;background:#e8f6ed;color:#278158;padding:6px 10px;font-weight:800}
.dashboard-score.low{background:#fde9e6;color:#c84e45}
.dashboard-academic-trend{position:relative;margin-top:22px;padding:24px;background:#fff;border:1px solid #efedf5;border-radius:22px}
.dashboard-academic-trend h3{font:800 22px Manrope;letter-spacing:-.8px;margin:0}
.dashboard-academic-trend>aside{position:absolute;right:24px;top:22px;min-width:135px;border-radius:15px;background:#f0eeff;padding:11px 15px}
.dashboard-academic-trend>aside span{display:block;color:#7d788e;font-size:10px}
.dashboard-academic-trend>aside strong{display:block;color:#5f50cf;font:800 21px Manrope;margin-top:2px}
.dashboard-trend-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:20px}
.dashboard-trend-controls select,.dashboard-trend-controls input{border:1px solid #e2e0ea;border-radius:12px;background:#fff;padding:9px 11px;color:#403d49;font:700 11px 'DM Sans';outline:none}
#dashboardTrendWeek[hidden]+.acops-select{display:none}
.dashboard-trend-period{display:flex;align-items:center;gap:8px;color:#85818e;font-size:10px}
.dashboard-trend-period[hidden]{display:none}
.dashboard-trend-period label{display:flex;align-items:center;gap:5px}
.dashboard-trend-canvas{margin-top:20px;border:1px solid #eeecf4;border-radius:17px;background:#fbfbfe;padding:8px;overflow-x:auto}
.dashboard-trend-canvas{scrollbar-color:#c7c1ef #efedf8;scrollbar-width:thin}
.dashboard-trend-canvas::-webkit-scrollbar{height:9px}
.dashboard-trend-canvas::-webkit-scrollbar-track{background:#efedf8;border-radius:99px}
.dashboard-trend-canvas::-webkit-scrollbar-thumb{background:#c7c1ef;border-radius:99px}
.dashboard-trend-canvas svg{display:block;width:100%;min-width:620px;height:auto}
.dashboard-trend-grid line{stroke:#e7e6f0;stroke-dasharray:3 4}
.dashboard-trend-grid text,.dashboard-trend-labels text{font:600 10px 'DM Sans';fill:#8b8894}
.dashboard-trend-target{stroke:#df7566;stroke-width:1.5;stroke-dasharray:5 5}
.dashboard-trend-target-label{font:700 9px 'DM Sans';fill:#c95f51}
.dashboard-trend-line{fill:none;stroke:#6b5bdf;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.dashboard-trend-canvas circle{fill:#fff;stroke:#6b5bdf;stroke-width:4}
@media(max-width:800px){.dashboard-academic-head{align-items:flex-start;flex-direction:column}.dashboard-academic-controls{width:100%}.dashboard-academic-controls select{flex:1;min-width:180px}.dashboard-academic-table table{min-width:650px}.dashboard-academic-trend>aside{position:static;margin-top:15px;width:max-content}.dashboard-trend-period{width:100%;flex-wrap:wrap}}

/* Dashboard performance analysis */
.dashboard-analysis{margin-top:28px}
.dashboard-analysis-loading{padding:34px;background:#fff;border-radius:22px;text-align:center;color:#92909d;font-size:12px}
.dashboard-analysis-head .eyebrow{color:#6b5bdf;margin:0 0 6px;font-size:10px}
.dashboard-analysis-head h2{font:800 25px Manrope;letter-spacing:-1px;margin:0}
.dashboard-analysis-head>p:last-child{color:#92909d;font-size:11px;margin:5px 0 0}
.dashboard-analysis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px}
.dashboard-analysis-card{min-height:155px;padding:20px;background:#fff;border:1px solid #efedf5;border-radius:20px}
.dashboard-analysis-card>span{display:block;color:#85818e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}
.dashboard-analysis-card>strong{display:block;margin-top:10px;color:#272431;font:800 25px/1.15 Manrope}
.dashboard-analysis-card>p{color:#77737f;font-size:11px;line-height:1.45;margin:9px 0 0}
.dashboard-analysis-card.attention>strong,.dashboard-analysis-card.movement.down>strong{color:#c84e45}
.dashboard-analysis-card.movement.up>strong{color:#278158}
.dashboard-analysis-card.indicator>strong{color:#6b5bdf;font-size:18px}
.dashboard-attention-list{margin-top:14px;padding:20px;background:#fff;border:1px solid #efedf5;border-radius:20px}
.dashboard-attention-list h3{font:800 17px Manrope;margin:0 0 12px}
.dashboard-attention-list>div{display:grid;gap:7px;max-height:390px;overflow-y:auto;padding-right:3px}
.dashboard-attention-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;background:#f8f8fc;border-radius:13px}
.dashboard-attention-list article>span{min-width:0}
.dashboard-attention-list article strong,.dashboard-attention-list article small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-attention-list article strong{font-size:12px}
.dashboard-attention-list article small{color:#8c8894;font-size:9px;margin-top:3px}
.dashboard-attention-list article>div{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.dashboard-attention-list article b{border-radius:10px;background:#fde9e6;color:#bd5148;padding:5px 8px;font-size:8px}
.dashboard-analysis-clear{color:#278158;font-size:12px;font-weight:700}
@media(max-width:900px){.dashboard-analysis-grid{grid-template-columns:1fr}.dashboard-analysis-card{min-height:0}.dashboard-attention-list article{align-items:flex-start;flex-direction:column}.dashboard-attention-list article>div{justify-content:flex-start}}

/* Academic operations · MPP Needs */
.mpp-main-tabs{margin-bottom:22px}
.mpp-main-tabs .sheet-tab{pointer-events:none}
.mpp-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.mpp-controls .filter-switch{width:max-content}
.mpp-view-controls{display:flex;align-items:center;gap:9px}
.mpp-edit-toggle{width:39px;height:39px;display:grid;place-items:center;border:1px solid #ddd9e8;border-radius:13px;background:#fff;color:#6b5bdf;font:800 17px Manrope;cursor:pointer;box-shadow:0 2px 7px #332b6820}
.mpp-edit-toggle:hover{background:#f1efff}
.mpp-edit-toggle.active{background:#e8f6ed;border-color:#bfe5cc;color:#27764e}
.mpp-connection{display:flex;align-items:center;gap:12px}
.mpp-connection .control-button{padding:9px 13px;font-size:10px}
.mpp-save-note{color:#8b8794;font-size:11px}
.mpp-save-note:before{content:"●";color:#36a66b;margin-right:7px}
.mpp-save-note[data-state="saving"]:before{color:#d8a51e}
.mpp-save-note[data-state="error"]{color:#ba5047}
.mpp-save-note[data-state="error"]:before{color:#d45a50}
.mpp-save-note[data-state="local"]:before{color:#8d8997}
.mpp-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.mpp-summary>div{padding:20px 22px;background:#fff;border:1px solid #eeecf4;border-radius:20px}
.mpp-summary span{display:block;color:#8a8793;font-size:11px;font-weight:700}
.mpp-summary strong{display:block;margin-top:7px;color:#262330;font:800 27px Manrope}
.mpp-summary .urgent{background:#fff1ee;border-color:#ffd4cc}
.mpp-summary .urgent strong{color:#c84e45}
.mpp-needs-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px;align-items:start}
.mpp-table-shell .data-toolbar span{color:#8c8995;font-size:11px}
.mpp-table-heading{display:flex;align-items:center;gap:9px}
.mpp-table-heading span{padding-left:9px;border-left:1px solid #e5e3eb}
.mpp-table-shell .data-toolbar select{border:1px solid #e2e0ea;border-radius:12px;background:#fff;padding:8px 34px 8px 11px;color:#4b4854;font:700 10px 'DM Sans';outline:none}
.mpp-table-shell .table-wrap{min-height:0;max-height:380px;overflow:auto}
.mpp-table-shell table{width:100%;min-width:690px;table-layout:fixed}
.mpp-table-shell thead th{position:sticky;top:0;z-index:3;background:#f8f8fc;box-shadow:0 1px 0 #e7e7ef}
.mpp-table-shell th:not(:first-child),.mpp-table-shell td:not(:first-child){text-align:center}
.mpp-table-shell th{white-space:normal}
.mpp-table-shell th:nth-child(1),.mpp-table-shell td:nth-child(1){width:34%}
.mpp-table-shell th:nth-child(2),.mpp-table-shell td:nth-child(2){width:15%}
.mpp-table-shell th:nth-child(3),.mpp-table-shell td:nth-child(3){width:18%}
.mpp-table-shell th:nth-child(4),.mpp-table-shell td:nth-child(4){width:12%}
.mpp-table-shell th:nth-child(5),.mpp-table-shell td:nth-child(5){width:21%}
.mpp-table-shell td:first-child{overflow:hidden;text-overflow:ellipsis}
.mpp-overview{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto;padding:22px;background:#fff;border:1px solid #eeecf4;border-radius:20px}
.mpp-overview>.eyebrow{color:#6b5bdf;margin:0 0 6px;font-size:10px}
.mpp-overview>h3{font:800 19px Manrope;letter-spacing:-.5px;margin:0}
.mpp-overview-copy{color:#918d99;font-size:10px;line-height:1.45;margin:7px 0 17px}
.mpp-overview section{border-top:1px solid #eeecf4;padding-top:15px;margin-top:15px}
.mpp-overview section>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mpp-overview h4{font:800 12px Manrope;margin:0}
.mpp-overview section>div>span{color:#9894a0;font-size:9px}
.mpp-overview section.p0 h4{color:#bf4d44}
.mpp-overview section.p1 h4{color:#946b12}
.mpp-overview ol{list-style:none;display:grid;gap:7px;padding:0;margin:11px 0 0}
.mpp-overview li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;background:#f8f8fc;border-radius:11px;font-size:10px}
.mpp-overview li span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.mpp-overview li strong{flex:0 0 auto;min-width:31px;text-align:center;border-radius:8px;padding:4px 6px;background:#fff0ed;color:#c84e45}
.mpp-overview section>p{color:#9995a1;font-size:10px;margin:10px 0 0}
.mpp-needs-input{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid #dfdce8;border-radius:12px;background:#fff}
.mpp-needs-input:focus-within{border-color:#6b5bdf;box-shadow:0 0 0 3px #6b5bdf17}
.mpp-needs-input input{width:72px;border:0;background:transparent;color:#2e2b36;font:800 14px Manrope;text-align:center;outline:none}
.mpp-needs-input input::-webkit-inner-spin-button,.mpp-needs-input input::-webkit-outer-spin-button{opacity:1;-webkit-appearance:auto}
.mpp-needs-input input:disabled{color:#77737f;cursor:not-allowed}
.mpp-needs-input:has(input:disabled){background:#f5f5f8;border-color:#eceaf1}
.mpp-needs-input span{color:#9995a1;font-size:9px}
.mpp-gap{display:inline-flex;justify-content:center;background:transparent;color:#aaa6b1;padding:0}
.mpp-gap.shortage{min-width:44px;border-radius:10px;background:#fff0ed;color:#c84e45;padding:6px 9px}
.mpp-gap.surplus{min-width:44px;border-radius:10px;background:#eef2ff;color:#5866bd;padding:6px 9px}
.mpp-priority{display:inline-flex;align-items:center;gap:7px;min-width:105px;border-radius:99px;padding:6px 10px;font-size:9px;font-weight:700}
.mpp-priority b{font:800 10px Manrope}
.mpp-priority.p0{background:#fde9e6;color:#bf4d44}
.mpp-priority.p1{background:#fff3cd;color:#946b12}
.mpp-priority.p2{background:#e9efff;color:#4b64bd}
.mpp-priority-select{display:inline-flex;position:relative;border-radius:99px}
.mpp-priority-select:after{display:none}
.mpp-priority-select select{min-width:140px;appearance:none;border:0;border-radius:99px;padding:8px 31px 8px 14px;outline:none;font:800 10px Manrope;cursor:pointer}
.mpp-priority-select.p0 select{background:#fde9e6;color:#bf4d44}
.mpp-priority-select.p1 select{background:#fff3cd;color:#946b12}
.mpp-priority-select.p2 select{background:#e9efff;color:#4b64bd}
.mpp-priority-select.filled select{background:#e9efff;color:#4b64bd}
.mpp-priority-select.no-need select{background:#efeff3;color:#6f6c77}
.mpp-priority-select:focus-within{box-shadow:0 0 0 3px #6b5bdf24}
.mpp-priority-menu{position:relative;min-width:140px}
.mpp-priority-trigger{position:relative;width:100%;border:0;border-radius:99px;padding:8px 32px 8px 14px;text-align:left;font:800 10px Manrope;cursor:pointer;color:inherit;background:transparent}
.mpp-priority-trigger:after{content:"";position:absolute;right:15px;top:50%;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.mpp-priority-trigger:disabled{cursor:not-allowed;opacity:.65}
.mpp-priority-select.p0 .mpp-priority-trigger{background:#fde9e6;color:#bf4d44}
.mpp-priority-select.p1 .mpp-priority-trigger{background:#fff3cd;color:#946b12}
.mpp-priority-select.p2 .mpp-priority-trigger{background:#e9efff;color:#4b64bd}
.mpp-priority-select.filled .mpp-priority-trigger{background:#e9efff;color:#4b64bd}
.mpp-priority-select.no-need .mpp-priority-trigger{background:#efeff3;color:#6f6c77}
.mpp-priority-options{position:absolute;z-index:20;right:0;top:calc(100% + 7px);width:175px;padding:7px;background:#fff;border:1px solid #dedce6;border-radius:15px;box-shadow:0 13px 30px #29254126}
.mpp-priority-options[hidden]{display:none}
.mpp-priority-options button{display:grid;grid-template-columns:20px 1fr;align-items:center;width:100%;border:0;border-radius:10px;padding:9px 10px;background:transparent;color:#383540;text-align:left;font:700 11px Manrope;cursor:pointer}
.mpp-priority-options button:hover{background:#f5f3ff}
.mpp-option-check{display:grid;place-items:center;width:16px;height:16px;line-height:1;color:transparent;font-size:13px}
.mpp-priority-options button.selected{background:#e9efff;color:#4b64bd}
.mpp-priority-options button.selected[data-value="P0"]{background:#fde9e6;color:#bf4d44}
.mpp-priority-options button.selected[data-value="P1"]{background:#fff3cd;color:#946b12}
.mpp-priority-options button.selected[data-value="FILLED"]{background:#e9efff;color:#4b64bd}
.mpp-priority-options button.selected[data-value="NO NEED"]{background:#efeff3;color:#6f6c77}
.mpp-priority-options button.selected .mpp-option-check{color:currentColor}
.mpp-edit-dialog{width:min(420px,calc(100vw - 34px));border:0;border-radius:22px;padding:0;box-shadow:0 26px 70px #29254142}
.mpp-edit-dialog::backdrop{background:#24202f73;backdrop-filter:blur(4px)}
.mpp-edit-dialog form{position:relative;padding:28px}
.mpp-edit-dialog .eyebrow{color:#6b5bdf;margin:0 0 8px;font-size:10px}
.mpp-edit-dialog h3{font:800 23px Manrope;letter-spacing:-.7px;margin:0}
.mpp-edit-dialog form>p:not(.eyebrow){color:#85818e;font-size:11px;line-height:1.5;margin:8px 0 18px}
.mpp-edit-dialog input{width:100%;border:1px solid #dedbe7;border-radius:14px;padding:13px;text-align:center;color:#292633;font:800 21px Manrope;letter-spacing:8px;outline:none}
.mpp-edit-dialog input:focus{border-color:#6b5bdf;box-shadow:0 0 0 3px #6b5bdf18}
.mpp-edit-dialog small{display:block;min-height:18px;margin:7px 0;color:#c34f46;font-size:10px}
.mpp-edit-dialog form>.control-button{width:100%}
.mpp-dialog-close{position:absolute;right:17px;top:15px;border:0;background:transparent;color:#8d8995;font-size:23px;cursor:pointer}
.mpp-main-content{display:flex;flex-direction:column;gap:20px;min-width:0}
.mpp-candidates-shell{margin-top:0}
.mpp-candidates-shell .table-wrap{min-height:0;max-height:380px;overflow:auto}
.mpp-candidates-shell table{width:100%;table-layout:fixed}
.mpp-candidates-shell thead th{position:sticky;top:0;z-index:3;background:#fafaff;box-shadow:0 1px 0 #e7e7ef}
.mpp-candidates-shell th:nth-child(1),.mpp-candidates-shell td:nth-child(1){width:18%}
.mpp-candidates-shell th:nth-child(2),.mpp-candidates-shell td:nth-child(2){width:28%}
.mpp-candidates-shell th:nth-child(3),.mpp-candidates-shell td:nth-child(3){width:34%}
.mpp-candidates-shell th:nth-child(4),.mpp-candidates-shell td:nth-child(4){width:20%}
.mpp-prio-badge{display:inline-flex;align-items:center;padding:5px 11px;border-radius:99px;font:800 10px Manrope;letter-spacing:-.2px}
.mpp-prio-badge.p0{background:#fde9e6;color:#bf4d44}
.mpp-prio-badge.p1{background:#fff3cd;color:#946b12}
.mpp-prio-badge.filled,.mpp-prio-badge.p2{background:#e9efff;color:#4b64bd}
.mpp-prio-badge.no-need{background:#efeff3;color:#6f6c77}
.mpp-candidates-link-btn{display:inline-flex;align-items:center;gap:9px;padding:6px 12px;background:#f5f3ff;border:1px solid #e0d9fc;border-radius:12px;color:#5c47d2;font:700 12px/1 Manrope;cursor:pointer;transition:all .15s ease;text-decoration:none}
.mpp-candidates-link-btn:hover{background:#6b5bdf;border-color:#6b5bdf;color:#fff;box-shadow:0 4px 12px #6b5bdf40;transform:translateY(-1px)}
.mpp-candidates-count-pill{font-weight:800}
.mpp-candidates-view-text{font-size:10px;opacity:.85}
.mpp-candidates-link-btn:hover .mpp-candidates-view-text{opacity:1}
.mpp-no-candidates{color:#a4a0ac;font-size:11px;font-weight:600}
.mpp-timestamp{color:#7b7785;font:600 11px/1.4 Manrope;white-space:nowrap}
@media(max-width:1100px){.mpp-needs-layout{grid-template-columns:1fr}.mpp-overview{position:static;max-height:none}}
@media(max-width:760px){.mpp-controls{align-items:flex-start;flex-direction:column}.mpp-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Academic operations · Hiring */
.hiring-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.hiring-controls>input[type="search"]{flex:1 1 320px;min-height:39px;border:1px solid #e2e0ea;border-radius:13px;background:#fff;padding:9px 13px;color:#34313d;font:600 11px 'DM Sans';outline:none}
.hiring-controls>input[type="search"]:focus{border-color:#6b5bdf;box-shadow:0 0 0 3px #6b5bdf18}
.hiring-center-search{position:relative}
.hiring-center-search input{width:210px;min-height:39px;border:1px solid #e2e0ea;border-radius:13px;background:#fff;padding:9px 13px;color:#34313d;font:600 11px 'DM Sans';outline:none}
.hiring-center-search input:focus{border-color:#6b5bdf;box-shadow:0 0 0 3px #6b5bdf18}
.hiring-center-menu{position:absolute;z-index:24;top:calc(100% + 6px);left:0;right:0;max-height:260px;overflow:auto;padding:6px;border:1px solid #e6e4eb;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(31,27,48,.14)}
.hiring-center-menu[hidden]{display:none}
.hiring-center-menu button,.hiring-center-menu span{display:block;width:100%;border:0;border-radius:8px;background:none;padding:9px 10px;color:#4d4955;text-align:left;font:700 10px 'DM Sans'}
.hiring-center-menu button:hover{background:#f1efff;color:#5c4dcc}
.hiring-add-button{min-height:39px;white-space:nowrap}
.hiring-edit-toggle{width:39px;height:39px;display:grid;place-items:center;border:1px solid #ddd9e8;border-radius:13px;background:#fff;color:#6b5bdf;font:800 17px Manrope;cursor:pointer;box-shadow:0 2px 7px #332b6820}
.hiring-edit-toggle:hover{background:#f1efff}
.hiring-edit-toggle.active{background:#e8f6ed;border-color:#bfe5cc;color:#27764e}
.hiring-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.hiring-summary>div{padding:18px 20px;background:#fff;border:1px solid #eeecf4;border-radius:19px}
.hiring-summary span{display:block;color:#8a8793;font-size:10px;font-weight:700}
.hiring-summary strong{display:block;margin-top:6px;color:#262330;font:800 25px Manrope}
.hiring-summary .offering{background:#e8f6ed;border-color:#c6e9d2}
.hiring-summary .offering strong{color:#27764e}
.hiring-summary .follow-up{background:#fff4e2;border-color:#f5dfb4}
.hiring-summary .follow-up strong{color:#a87513}
.hiring-table-shell .data-toolbar>div{display:flex;align-items:center;gap:9px}
.hiring-table-shell .data-toolbar>div span{padding-left:9px;border-left:1px solid #e5e3eb;color:#8c8995;font-size:10px}
.hiring-live-note{color:#898592;font-size:9px}
.hiring-live-note:before{content:"●";margin-right:6px;color:#35a66a}
.hiring-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.hiring-workspace.has-detail{grid-template-columns:minmax(0,1fr) 360px}
.hiring-table-shell .table-wrap{max-height:calc(100vh - 190px);overflow:auto}
.hiring-table-shell table{width:100%;min-width:1120px;table-layout:fixed}
.hiring-table-shell thead th{position:sticky;top:0;z-index:2;background:#f8f8fc;box-shadow:0 1px 0 #e7e7ef}
.hiring-table-shell th,.hiring-table-shell td{padding:13px 14px;vertical-align:top}
.hiring-table-shell th:nth-child(1),.hiring-table-shell td:nth-child(1){width:20%}
.hiring-table-shell th:nth-child(2),.hiring-table-shell td:nth-child(2){width:18%}
.hiring-table-shell th:nth-child(3),.hiring-table-shell td:nth-child(3){width:10%}
.hiring-table-shell th:nth-child(4),.hiring-table-shell td:nth-child(4){width:14%}
.hiring-table-shell th:nth-child(5),.hiring-table-shell td:nth-child(5){width:10%}
.hiring-table-shell th:nth-child(6),.hiring-table-shell td:nth-child(6){width:10%}
.hiring-table-shell td strong,.hiring-table-shell td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hiring-table-shell td small{margin-top:4px;color:#928e9b;font-size:9px}
.hiring-table-shell td:nth-child(2),.hiring-table-shell td:nth-child(7){color:#625e6a;font-size:10px;line-height:1.45}
.hiring-table-shell a{color:#5d4fd0;font-size:10px;font-weight:800;text-decoration:none}
.hiring-table-shell input,.hiring-table-shell select,.hiring-table-shell textarea{width:100%;border:1px solid #e0dde8;border-radius:11px;background:#fff;padding:8px 9px;color:#383540;font:700 10px 'DM Sans';outline:none}
.hiring-table-shell input:focus,.hiring-table-shell select:focus,.hiring-table-shell textarea:focus{border-color:#6b5bdf;box-shadow:0 0 0 3px #6b5bdf18}
.hiring-edit-stack{display:grid;gap:7px}
.hiring-table-shell textarea{min-height:58px;resize:vertical;line-height:1.45}
.hiring-table-shell tr.selected td{background:#f4f2ff}
.hiring-candidate-cell{display:flex;align-items:center;gap:9px;min-width:0}
.hiring-candidate-cell>span{display:flex;flex-direction:column;min-width:0}
.hiring-row-edit{flex:0 0 auto;width:28px;height:28px;border:1px solid #e0ddea;border-radius:10px;background:#fff;color:#6b5bdf;font:800 13px Manrope;cursor:pointer;box-shadow:0 3px 9px rgba(42,37,68,.08);display:inline-flex;align-items:center;justify-content:center;transition:all 0.15s ease}
.hiring-row-edit:hover,.hiring-row-edit.active{background:#6b5bdf;border-color:#6b5bdf;color:#fff;box-shadow:0 3px 10px rgba(107,91,223,.3)}
.hiring-detail{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto;padding:22px;background:#fff;border:1px solid #eeecf4;border-radius:20px;box-shadow:0 14px 35px rgba(34,29,58,.06)}
.hiring-detail[hidden]{display:none}
.hiring-detail-empty{min-height:300px;display:grid;place-content:center;text-align:center;color:#8e8a96}
.hiring-detail-empty strong{color:#3b3845;font:800 18px Manrope}
.hiring-detail-empty p{max-width:230px;margin:8px auto 0;font-size:11px;line-height:1.5}
.hiring-detail-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:14px}
.hiring-detail-head .eyebrow{margin:0 0 7px;color:#6b5bdf;font-size:9px}
.hiring-detail-head h3{margin:0;color:#282532;font:800 20px Manrope;letter-spacing:-.5px}
.hiring-detail-head p:last-child{margin:6px 0 0;color:#8c8895;font-size:10px;line-height:1.35}
.hiring-detail-close{flex:0 0 auto;width:31px;height:31px;border:0;border-radius:11px;background:#f2f1f6;color:#77727f;font-size:20px;cursor:pointer}
.hiring-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;padding:11px 12px;border-radius:14px;background:#f8f7fc}
.hiring-detail-actions a{color:#5d4fd0;font-size:10px;font-weight:800;text-decoration:none}
.hiring-detail-grid{display:grid;gap:11px}
.hiring-detail-grid label{display:block}
.hiring-detail-grid label>span{display:block;margin:0 0 6px;color:#5d5966;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.45px}
.hiring-detail-grid input,.hiring-detail-grid select,.hiring-detail-grid textarea{width:100%;border:1px solid #dedbe7;border-radius:13px;background:#fff;padding:11px 12px;color:#2e2b36;font:700 11px 'DM Sans';outline:none}
.hiring-detail-grid .acops-select{width:100%}
.hiring-detail-grid textarea{min-height:88px;resize:vertical;line-height:1.45}
.hiring-detail-grid input:focus,.hiring-detail-grid select:focus,.hiring-detail-grid textarea:focus{border-color:#6b5bdf;box-shadow:0 0 0 3px #6b5bdf18}
.hiring-detail-wide{grid-column:1/-1}
.hiring-detail-footer{margin-top:16px;padding-top:14px;border-top:1px solid #eeecf4;display:flex;justify-content:flex-end}
.hiring-delete-button{padding:9px 15px;border:1px solid #fecaca;border-radius:12px;background:#fff5f5;color:#dc2626;font:700 11px/1 'DM Sans',sans-serif;cursor:pointer;transition:all .15s ease}
.hiring-step{display:inline-flex;justify-content:center;align-items:center;border-radius:99px;padding:5px 9px;background:#f0eff3;color:#74717a;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
.hiring-step.step-approached{background:#dbeafe;color:#1e40af}
.hiring-step.step-pre-screening{background:#cff4fc;color:#055160}
.hiring-step.step-online-test{background:#f3e8ff;color:#6b21a8}
.hiring-step.step-online-test-new{background:#fce7f3;color:#9d174d}
.hiring-step.step-onsite-assessment{background:#fef3c7;color:#b45309}
.hiring-step.step-interview{background:#ccfbf1;color:#0f766e}
.hiring-step.step-onsite-wave-6{background:#ffedd5;color:#c2410c}
.hiring-step.step-offering-letter{background:#e0e7ff;color:#3730a3}
.hiring-step.step-onboarding{background:#ecfccb;color:#3f6212}
.hiring-step.step-video-ajar{background:#ede9fe;color:#5b21b6}
.hiring-step.step-ready-to-teach{background:#d1fae5;color:#047857}
.hiring-step.step-onboarding-regional{background:#e0f2fe;color:#0284c7}
.hiring-step.step-nego{background:#ffe4e6;color:#be123c}
.hiring-step.step-approval-hq{background:#fef9c3;color:#854d0e}
.hiring-step.step-reference-check{background:#e2e8f0;color:#334155}
.hiring-step.step-rejected-cancelled{background:#fee2e2;color:#991b1b}
.hiring-step.step-postponed{background:#e5e7eb;color:#374151}
.hiring-step.step-no-info{background:#f5f5f4;color:#57534e}
.hiring-dialog{width:min(560px,calc(100vw - 34px));border:0;border-radius:22px;padding:0;box-shadow:0 26px 70px #29254142}
.hiring-dialog::backdrop{background:#24202f73;backdrop-filter:blur(4px)}
.hiring-dialog form{position:relative;padding:28px}
.hiring-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:19px}
.hiring-dialog .eyebrow{color:#6b5bdf;margin:0 0 7px;font-size:10px}
.hiring-dialog h3{font:800 23px Manrope;letter-spacing:-.7px;margin:0}
.hiring-dialog header p:last-child{color:#85818e;font-size:11px;line-height:1.5;margin:7px 0 0}
.hiring-dialog-close{border:0;background:transparent;color:#8d8995;font-size:23px;cursor:pointer}
.hiring-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.hiring-form-grid label span{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:#57535f;font-size:9px;font-weight:800}
.hiring-form-grid label small{color:#9d99a5;font-size:8px}
.hiring-form-grid input,.hiring-form-grid select{width:100%;border:1px solid #dedbe7;border-radius:13px;padding:11px 12px;color:#2e2b36;font:700 11px 'DM Sans';outline:none}
.hiring-form-grid input:focus,.hiring-form-grid select:focus{border-color:#6b5bdf;box-shadow:0 0 0 3px #6b5bdf18}
.hiring-form-error{min-height:18px;margin:9px 0;color:#c34f46;font-size:10px}
.hiring-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
@media(max-width:1180px){.hiring-workspace{grid-template-columns:1fr}.hiring-detail{position:static;max-height:none}}
@media(max-width:760px){.hiring-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.hiring-table-shell .table-wrap{max-height:none}}

/* Academic operations · Teacher Database */
.mpp-main-tabs .sheet-tab{pointer-events:auto}
.teacher-db-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.teacher-db-controls>input[type="search"]{flex:1 1 290px;min-height:39px;border:1px solid #e2e0ea;border-radius:13px;background:#fff;padding:9px 13px;color:#34313d;font:600 11px 'DM Sans';outline:none}
.teacher-db-controls>input[type="search"]:focus{border-color:#6b5bdf;box-shadow:0 0 0 3px #6b5bdf18}
.teacher-db-action-filter{display:flex;align-items:center;gap:8px;min-height:39px;padding:8px 12px;border:1px solid #e2e0ea;border-radius:13px;background:#fff;color:#585461;font-size:10px;font-weight:700;cursor:pointer}
.teacher-db-action-filter input{accent-color:#6b5bdf}
.teacher-db-add-button{min-height:39px;white-space:nowrap}
.teacher-db-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.teacher-db-summary>div{padding:18px 20px;background:#fff;border:1px solid #eeecf4;border-radius:19px}
.teacher-db-summary span{display:block;color:#8a8793;font-size:10px;font-weight:700}
.teacher-db-summary strong{display:block;margin-top:6px;color:#262330;font:800 25px Manrope}
.teacher-db-summary .attention{background:#fff4e2;border-color:#f5dfb4}
.teacher-db-summary .attention strong{color:#a87513}
.teacher-db-summary .attention[role="button"]{cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}.teacher-db-summary .attention[role="button"]:hover{transform:translateY(-1px);box-shadow:0 8px 20px #8d651314}.teacher-db-summary .attention.filter-active{border-color:#d89d28;box-shadow:inset 0 0 0 2px #d89d2826}.teacher-db-summary .attention.filter-active:after{content:"Filtering list";display:block;margin-top:5px;color:#a87513;font-size:8px;font-weight:800}
.teacher-db-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:20px;align-items:start}
.teacher-db-list-shell{margin:0;overflow:hidden}
.teacher-db-list-shell .data-toolbar>div{display:flex;align-items:center;gap:9px}
.teacher-db-list-shell .data-toolbar>div span{padding-left:9px;border-left:1px solid #e5e3eb;color:#8c8995;font-size:10px}
.teacher-db-live-note{color:#898592;font-size:9px}
.teacher-db-live-note:before{content:"●";margin-right:6px;color:#35a66a}
.teacher-db-list{max-height:calc(100vh - 190px);min-height:450px;overflow:auto}
.teacher-db-row{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(90px,.7fr) 112px minmax(150px,1fr) 16px;gap:14px;align-items:center;width:100%;border:0;border-bottom:1px solid #efedf4;background:#fff;padding:14px 17px;color:#34313d;text-align:left;cursor:pointer}
.teacher-db-row:hover{background:#faf9ff}
.teacher-db-row.selected{background:#f1efff;box-shadow:inset 3px 0 #6b5bdf}
.teacher-db-row.local-draft{background:#fffaf0}
.teacher-db-row.local-draft.selected{background:#fff3d7;box-shadow:inset 3px 0 #d89d28}
.teacher-db-row-main{min-width:0}
.teacher-db-row-main strong,.teacher-db-row-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.teacher-db-row-main strong{font:750 12px Manrope}
.teacher-db-draft-badge{display:inline-flex;margin-left:7px;border-radius:99px;padding:3px 6px;background:#f2c96d;color:#765315;font:800 7px Manrope;text-transform:uppercase;vertical-align:2px}
.teacher-db-row-main small{margin-top:4px;color:#918e99;font-size:9px}
.teacher-db-role{overflow:hidden;color:#65616d;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.teacher-db-status{display:inline-flex;justify-content:center;border-radius:99px;padding:6px 8px;background:#f0eff3;color:#74717a;font-size:8px;font-weight:800;text-transform:uppercase}
.teacher-db-status.active{background:#e8f6ed;color:#27764e}
.teacher-db-status.inactive{background:#f4eeed;color:#9a625c}
.teacher-db-progress{min-width:0}
.teacher-db-progress small{display:block;overflow:hidden;color:#74707c;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.teacher-db-progress small+small{margin-top:4px;color:#9a96a1}
.teacher-db-chevron{color:#9993b2;font-size:22px}
.teacher-db-detail{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto;padding:22px;background:#fff;border:1px solid #eeecf4;border-radius:20px}
.teacher-db-detail-empty{display:grid;place-items:center;min-height:390px;text-align:center;color:#9b97a2}
.teacher-db-detail-empty>span{font-size:28px}
.teacher-db-detail-empty strong{margin-top:-75px;color:#45414d;font:800 15px Manrope}
.teacher-db-detail-empty p{max-width:230px;margin-top:-100px;font-size:10px;line-height:1.5}
.teacher-db-profile{display:flex;align-items:center;gap:13px;padding-bottom:18px;border-bottom:1px solid #eeecf4}
.teacher-db-avatar{display:grid;place-items:center;width:50px;height:50px;flex:0 0 auto;border-radius:16px;background:#ebe8ff;color:#5c4dcc;font:800 15px Manrope}
.teacher-db-profile .eyebrow{margin:0 0 3px;color:#6b5bdf;font-size:8px}
.teacher-db-profile h3{margin:0;font:800 17px Manrope}
.teacher-db-profile p:last-child{margin:4px 0 0;color:#8d8995;font-size:9px}
.teacher-db-contact{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 0}
.teacher-db-contact>a,.teacher-db-contact>div{min-width:0;padding:10px;border:1px solid #eeecf4;border-radius:12px;background:#fafafd;text-decoration:none}
.teacher-db-contact span,.teacher-db-contact strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.teacher-db-contact span{color:#96929e;font-size:8px}
.teacher-db-contact strong{margin-top:4px;color:#4d4955;font-size:9px}
.teacher-db-contact .teacher-db-copyable{position:relative;padding-right:30px}
.teacher-db-contact .teacher-db-copy{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid #e0dcea;border-radius:6px;background:#fff;color:#6b5bdf;font-size:9px;line-height:1;cursor:pointer;opacity:.75;transition:opacity .15s,background .15s,border-color .15s}
.teacher-db-contact .teacher-db-copy:hover{opacity:1;background:#f1eefc;border-color:#6b5bdf}
.teacher-db-contact .teacher-db-copy.copied{color:#287b4f;border-color:#cce9d6;background:#eaf7ef;opacity:1}
.teacher-db-contact .teacher-db-whatsapp .teacher-db-copy{color:#287b4f;border-color:#cce9d6}
.teacher-db-contact .teacher-db-whatsapp{background:#eaf7ef;border-color:#cce9d6}
.teacher-db-contact .teacher-db-whatsapp strong{color:#287b4f}
.teacher-db-edit-note{display:grid;gap:3px;margin-bottom:12px;padding:10px 11px;border-radius:11px;background:#fff6df;color:#8d6b20}
.teacher-db-edit-note strong{font-size:9px}
.teacher-db-edit-note span{font-size:8px;line-height:1.4}
.teacher-db-edit-grid{display:grid;gap:11px}
.teacher-db-edit-field>span{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;color:#57535f;font-size:9px;font-weight:800}
.teacher-db-edit-field>span small{color:#a39faa;font-size:7px;font-weight:700}
.teacher-db-edit-field>.acops-select{width:100%}
.teacher-db-match{margin-top:15px;border-radius:10px;padding:9px 10px;font-size:8px;font-weight:800}
.teacher-db-match.matched{background:#eaf7ef;color:#287b4f}
.teacher-db-match.unmatched{background:#fff1ee;color:#b9584e}
.teacher-db-match.draft{background:#fff3d7;color:#8b6218}
.teacher-db-add-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);border:0;border-radius:24px;padding:0;box-shadow:0 28px 80px #29254142}
.teacher-db-add-dialog::backdrop{background:#24202f73;backdrop-filter:blur(4px)}
.teacher-db-add-dialog form{padding:25px}
.teacher-db-add-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #eceaf2}
.teacher-db-add-dialog header .eyebrow{margin:0 0 5px;color:#6b5bdf;font-size:9px}
.teacher-db-add-dialog h3{margin:0;font:800 23px Manrope}
.teacher-db-add-dialog header p:last-child{margin:5px 0 0;color:#8b8793;font-size:10px}
.teacher-db-dialog-close{border:0;background:transparent;color:#8d8995;font-size:25px;cursor:pointer}
.teacher-db-form-section{padding-top:19px}
.teacher-db-form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.teacher-db-form-heading strong{font:800 12px Manrope}
.teacher-db-form-heading span{color:#9a96a1;font-size:8px;font-weight:700}
.teacher-db-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.teacher-db-form-grid label{min-width:0}
.teacher-db-form-grid label>span{display:block;margin-bottom:5px;color:#5d5965;font-size:9px;font-weight:800}
.teacher-db-form-grid input{width:100%;min-height:39px;border:1px solid #e1dee8;border-radius:12px;background:#fff;padding:9px 11px;color:#34313d;font:600 11px 'DM Sans';outline:none}
.teacher-db-form-grid input:focus{border-color:#6b5bdf;box-shadow:0 0 0 3px #6b5bdf18}
.teacher-db-form-grid .acops-select{width:100%}
.teacher-db-form-wide{grid-column:1/-1}
.teacher-db-form-error{min-height:18px;margin-top:10px;color:#bd5148;font-size:9px;font-weight:700}
.teacher-db-add-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding-top:5px}
.teacher-db-add-dialog footer .outline-button{padding:9px 16px}
@media(max-width:1120px){.teacher-db-layout{grid-template-columns:1fr}.teacher-db-detail{position:static;max-height:none}.teacher-db-list{max-height:650px}.teacher-db-row{grid-template-columns:minmax(180px,1.3fr) minmax(90px,.7fr) 110px minmax(140px,1fr) 16px}}
@media(max-width:760px){.teacher-db-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-db-controls>*{width:100%}.teacher-db-row{grid-template-columns:minmax(0,1fr) 95px 16px}.teacher-db-row .teacher-db-role,.teacher-db-row .teacher-db-progress{display:none}.teacher-db-contact{grid-template-columns:1fr}.teacher-db-form-grid{grid-template-columns:1fr}.teacher-db-form-wide{grid-column:auto}.teacher-db-form-heading{align-items:flex-start;flex-direction:column}.teacher-db-add-dialog form{padding:20px}}

/* Keep both Observation progress columns visually aligned. */
@media(min-width:1351px){
  .obs-progress-layout{align-items:stretch}
  .obs-progress-layout .obs-table-shell{position:relative;min-height:0}
  .obs-progress-layout .obs-table-shell .table-wrap{position:absolute;inset:0;max-height:none;height:auto}
  .obs-progress-layout .obs-progress-shell table{height:100%}
}

/* Consistent custom select menus */
.acops-native-select{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important}
.acops-native-select[hidden]+.acops-select{display:none}
.acops-select{position:relative;display:inline-block;min-width:150px;color:#3d3947;font-family:'DM Sans',Arial,sans-serif}
.acops-select-trigger{position:relative;width:100%;min-height:38px;border:1px solid #e2e0ea;border-radius:13px;background:#fff;padding:9px 35px 9px 12px;color:inherit;text-align:left;font:700 11px 'DM Sans';cursor:pointer}
.acops-select-trigger>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acops-select-trigger:after{content:"";position:absolute;right:14px;top:50%;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.acops-select:focus-within .acops-select-trigger{border-color:#6b5bdf;box-shadow:0 0 0 3px #6b5bdf18}
.acops-select-options{position:absolute;z-index:100;top:calc(100% + 6px);left:0;min-width:100%;width:max-content;max-width:320px;max-height:280px;overflow:auto;padding:7px;background:#fff;border:1px solid #dedce6;border-radius:15px;box-shadow:0 15px 32px #29254129}
.acops-select-options[hidden]{display:none}
.acops-select-options button{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;width:100%;border:0;border-radius:10px;background:transparent;padding:9px 11px;color:#393641;text-align:left;font:700 11px 'DM Sans';cursor:pointer}
.acops-select-options button:hover{background:#f5f3ff}
.acops-select-options button.selected{background:#ebe8ff;color:#5d4fce}
.acops-select-options button:disabled{opacity:.45;cursor:not-allowed}
.acops-select-check{display:grid;place-items:center;width:16px;height:16px;line-height:1;color:transparent;visibility:hidden;font:900 13px/1 'DM Sans'}
.acops-select-options button.selected .acops-select-check{color:currentColor;visibility:visible}
.sqt-controls .acops-select,.obs-controls .acops-select,.session-controls .acops-select,.teacher-total-controls .acops-select,.dashboard-academic-controls .acops-select{min-width:180px}
.mpp-table-shell .data-toolbar .acops-select{min-width:155px}
@media(max-width:760px){.acops-select{max-width:100%}.teacher-total-controls>.acops-select{width:100%}}
.regional-filters{display:flex!important;grid-template-columns:none!important;flex-direction:row;align-items:center;gap:10px!important;margin-left:auto}.regional-filters select,.regional-branch-search input{height:40px;border:1px solid #e1e0e8;border-radius:12px;background:#fff;color:#403d48;padding:0 14px;font:700 11px 'DM Sans';outline:none}.regional-filters select{min-width:145px}.regional-branch-search{position:relative}.regional-branch-search input{width:210px}.regional-branch-search input:focus,.regional-filters select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.regional-branch-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;padding:6px;border:1px solid #e6e4eb;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(31,27,48,.14)}.regional-branch-menu button,.regional-branch-menu span{display:block;width:100%;border:0;border-radius:8px;background:none;padding:9px 10px;color:#4d4955;text-align:left;font:700 10px 'DM Sans'}.regional-branch-menu button:hover{background:var(--accent-soft);color:var(--accent-deep)}.regional-performance-table{min-width:1380px}.regional-money{font-weight:800;color:#3f3b47;white-space:nowrap}
@media(max-width:1050px){.regional-toolbar{align-items:flex-start;flex-wrap:wrap}.regional-filters{order:3;width:100%;margin-left:0}.regional-branch-search{flex:1}.regional-branch-search input{width:100%}}
.regional-performance-table th:first-child,.regional-performance-table td:first-child{position:sticky;left:0;z-index:3;width:68px;min-width:68px;max-width:68px;background:#fff}.regional-performance-table th:nth-child(2),.regional-performance-table td:nth-child(2){position:sticky;left:68px;z-index:3;min-width:285px;background:#fff;box-shadow:8px 0 12px -12px rgba(34,31,48,.45)}.regional-performance-table thead th:first-child,.regional-performance-table thead th:nth-child(2){z-index:5;background:#f4f8f8}.regional-performance-table tr.regional-top-1 td:first-child,.regional-performance-table tr.regional-top-1 td:nth-child(2){background:#fff7cf}.regional-performance-table tr.regional-top-2 td:first-child,.regional-performance-table tr.regional-top-2 td:nth-child(2){background:#eef2f5}.regional-performance-table tr.regional-top-3 td:first-child,.regional-performance-table tr.regional-top-3 td:nth-child(2){background:#ffeadc}
.revenue-week-grid article.muted{opacity:.38;filter:saturate(.55)}.revenue-week-grid article.selected{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent-soft) 45%,#fff)}
.regional-filter-switch{flex:0 0 auto;border-radius:12px;padding:3px}.regional-filter-switch button{padding:8px 10px;font-size:10px}.regional-month{display:flex;align-items:center;gap:7px;color:#898590;font-size:10px;font-weight:700}.regional-month select{width:145px;height:40px;border:1px solid #e1e0e8;border-radius:12px;background:#fff;padding:0 11px;color:#403d48;font:700 11px 'DM Sans'}.regional-month[hidden]{display:none}
.academic-dashboard-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:-18px 0 2px}.academic-dashboard-toolbar .dashboard-wave-toggle{margin:0}.academic-division-dashboard>.page-title{margin-bottom:0!important}.academic-division-dashboard>.metrics{margin-top:0!important;margin-bottom:10px!important}.academic-division-dashboard>.dashboard-academic{margin-top:10px!important}@media(min-width:1201px){.academic-division-dashboard.active{align-content:start}.academic-division-dashboard>.dashboard-sessions{min-height:0;align-self:start}}

/* Teacher totals selection and session detail */
.teacher-total-layout{grid-template-areas:"table detail"}
.teacher-total-table-shell{grid-area:table;order:0}
.teacher-total-detail{grid-area:detail;min-width:0;display:flex;flex-direction:column;background:#fff;border-radius:20px;padding:22px;max-height:calc(100vh - 120px);overflow:hidden}
.teacher-detail-sticky{position:relative;z-index:4;flex:0 0 auto;margin-bottom:6px;background:#fff}
.teacher-detail-sticky>.eyebrow{color:#7161df;margin:0 0 6px}
.teacher-total-detail h3{margin:0 0 16px;font:800 19px Manrope}
.teacher-detail-email{display:block;margin:-11px 0 16px;color:#696575;font-size:10px;text-decoration:none}
.teacher-total-detail-empty{min-height:240px;display:grid;place-content:center;text-align:center;color:#8a8792}
.teacher-total-detail-empty strong{color:#3b3845;font:800 18px Manrope}
.teacher-total-detail-empty p{max-width:270px;margin:7px auto 0;font-size:11px;line-height:1.5}
.teacher-detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.teacher-detail-stats>div{padding:12px;border-radius:14px;background:#f7f6fb}
.teacher-detail-stats span{display:block;color:#8b8794;font-size:9px}
.teacher-detail-stats strong{display:block;margin-top:5px;color:#393641;font:800 12px Manrope}
.teacher-detail-source{margin:-5px 0 10px;color:#8d8995;font-size:9px;font-weight:700}
.teacher-detail-table{min-height:0;flex:1 1 auto;overflow:auto;border:1px solid #eeecf3;border-radius:14px}
.teacher-detail-table table{min-width:650px}
.teacher-detail-table thead th{position:sticky;z-index:3;top:0;background:#fafaff}
.teacher-detail-table th,.teacher-detail-table td{padding:10px 9px;font-size:9px;white-space:normal}
.teacher-total-name{border:0;background:transparent;padding:0;color:#4f45bd;font:700 11px 'DM Sans';text-align:left;cursor:pointer}
.teacher-total-email{border:0;background:transparent;padding:0;color:#6c6875;font:600 10px 'DM Sans';text-align:left;cursor:pointer;overflow-wrap:anywhere}
.teacher-total-name:hover,.teacher-total-email:hover{text-decoration:underline}
.teacher-total-table-shell th:nth-child(1),.teacher-total-table-shell td:nth-child(1){width:23%}
.teacher-total-table-shell th:nth-child(2),.teacher-total-table-shell td:nth-child(2){width:24%;text-align:left}
.teacher-total-table-shell th:nth-child(3),.teacher-total-table-shell td:nth-child(3){width:25%;text-align:left}
.teacher-total-table-shell th:nth-child(4),.teacher-total-table-shell td:nth-child(4),.teacher-total-table-shell th:nth-child(5),.teacher-total-table-shell td:nth-child(5){width:14%;text-align:center}
.teacher-total-table-shell tr.selected td{background:#f0eeff}
.teacher-total-overview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:22px;padding:24px;max-height:none;overflow:visible}
.teacher-total-overview>.eyebrow,.teacher-total-overview>h3{grid-column:1/-1}
.teacher-total-overview>.eyebrow{margin-bottom:-8px}
.teacher-total-overview>h3{margin-bottom:2px}
.teacher-total-overview-stat{grid-column:span 2;display:block;padding:15px 16px;border:1px solid #eceaf2;border-radius:14px;background:#f8f8fc}
.teacher-total-overview-stat span{display:block;margin-bottom:7px}
.teacher-total-overview-stat strong{display:block;font-size:20px}
.teacher-total-overview>.teacher-risk-section{grid-column:span 3;margin:2px 0 0;padding:18px;border:1px solid #eceaf2;border-radius:16px;background:#fbfbfd}
.teacher-total-overview .teacher-risk-section ol{max-height:370px;overflow:auto;padding-right:6px;gap:0}
.teacher-total-overview .teacher-risk-section li{padding:9px 0;border-top:1px solid #efedf4}
.teacher-total-overview .teacher-risk-section li:first-child{border-top:0}
@media(max-width:760px){.teacher-total-overview{grid-template-columns:1fr;padding:18px}.teacher-total-overview>.eyebrow,.teacher-total-overview>h3,.teacher-total-overview-stat,.teacher-total-overview>.teacher-risk-section{grid-column:1}.teacher-total-overview .teacher-risk-section ol{max-height:none}}
@media(max-width:1050px){.teacher-total-layout{grid-template-columns:1fr;grid-template-areas:"table" "detail"}.teacher-total-detail{display:block;max-height:none;overflow:visible}.teacher-detail-table thead th{position:static}}

/* Event Dashboard Controls & Layout */
.events-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:24px}
.events-controls select,.events-controls input{border:1px solid #e2e1eb;background:#fff;border-radius:12px;padding:9px 12px;color:#33313e;font:600 12px 'DM Sans',sans-serif;transition:border-color .18s}
.events-controls select:focus,.events-controls input:focus{border-color:var(--accent,#d55b43);outline:none}
.events-controls input[type="search"]{min-width:240px;flex:1}

/* Event KPIs */
.events-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}
.events-kpi-card{padding:18px 20px;border:1px solid #ebe9f0;border-radius:18px;background:#fff;display:flex;flex-direction:column;gap:4px}
.events-kpi-card span{color:#8b8793;font:800 10px 'DM Sans',sans-serif;letter-spacing:.5px}
.events-kpi-card strong{font:800 24px 'Manrope',sans-serif;color:#24222d}
.events-kpi-card small{color:#8b8793;font-size:11px}
.events-kpi-card.positive strong{color:#278461}
.events-kpi-card.warning strong{color:#d55b43}

/* Event Summary Grid */
.events-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}
.events-summary-card{background:#fff;border:1px solid #ebe9f0;border-radius:18px;padding:20px}
.events-summary-card h3{margin:0 0 14px;font:700 15px 'Manrope',sans-serif;color:#24222d}
.events-category-list,.events-branch-list{display:flex;flex-direction:column;gap:8px}
.events-category-row,.events-branch-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:6px 0;border-bottom:1px solid #f4f3f8}
.events-category-row:last-child,.events-branch-row:last-child{border-bottom:none}
.events-category-row strong,.events-branch-row strong{font-weight:700;color:#33313e}

/* Category Pills */
.category-pill{display:inline-block;padding:3px 9px;border-radius:99px;font:700 10px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.3px;background:#f0eeff;color:#6b5bdf}
.category-pill.category-art{background:#fff2e8;color:#d55b43}
.category-pill.category-food{background:#eef9f2;color:#278461}
.category-pill.category-science{background:#eaf5ff;color:#287fb3}
.category-pill.category-gamesadventure{background:#fef4e8;color:#c97918}
.category-pill.category-reviewsession{background:#f0eeff;color:#6b5bdf}

/* Rate Badges */
.rate-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-weight:700;font-size:11px}
.rate-badge.good{background:#eaf7ef;color:#27764e}
.rate-badge.watch{background:#fff8e6;color:#9e6e14}
.rate-badge.low{background:#fff2ef;color:#c45443}

/* Photo Links & Notes */
.event-photo-link{display:inline-flex;align-items:center;gap:4px;color:var(--accent,#d55b43);font-weight:700;font-size:11px;text-decoration:none}
.event-photo-link:hover{text-decoration:underline}
.event-photo-text{font-size:11px;color:#8b8793;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}
.event-notes{display:block;color:#8b8793;font-size:10px;margin-top:2px;font-weight:400}

/* Table Shell */
.events-table-shell{background:#fff;border:1px solid #ebe9f0;border-radius:20px;overflow:hidden}
.events-table{width:100%;border-collapse:collapse}
.events-table th,.events-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #f2f0f7;font-size:12px}
.events-table th{background:#fafafa;font:800 11px 'DM Sans',sans-serif;color:#8b8793;text-transform:uppercase;letter-spacing:.5px}
.events-table tbody tr:hover{background:#faf9fc}

@media(max-width:900px){.events-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.events-summary-grid{grid-template-columns:1fr}}
@media(max-width:600px){.events-kpis{grid-template-columns:1fr}}

/* Submission Audit Card & Items */
.audit-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.audit-sub{color:#8b8793;font-size:11px;margin:2px 0 0}
.audit-filter-switch{display:inline-flex;background:#f2f1f8;padding:3px;border-radius:10px;gap:2px}
.audit-filter-switch button{border:none;background:transparent;padding:4px 9px;border-radius:8px;font:700 10px 'DM Sans',sans-serif;color:#777382;cursor:pointer;transition:background .15s,color .15s}
.audit-filter-switch button.active{background:#fff;color:var(--accent,#d55b43);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.audit-list{display:flex;flex-direction:column;gap:9px;max-height:380px;overflow-y:auto;padding-right:4px}
.audit-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#fbfbfe;border:1px solid #eeedf5}
.audit-item.pending{border-left:4px solid #d55b43}
.audit-item.completed{border-left:4px solid #278461;background:#fafafc;opacity:.8}
.audit-item-info{display:flex;flex-direction:column;gap:2px}
.audit-item-info strong{font-size:12px;color:#24222d}
.audit-item-meta{font-size:11px;color:#8b8793}
.strikethrough-title{text-decoration:line-through;color:#777382;font-size:11px}
.strikethrough-title strong{text-decoration:line-through;color:#555260}
.audit-item-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.missing-badge{font:700 10px 'DM Sans',sans-serif;padding:2px 7px;border-radius:6px}
.missing-badge.pre{background:#fff2ef;color:#c45443;border:1px solid #ffd8d0}
.missing-badge.post{background:#fff8e6;color:#9e6e14;border:1px solid #ffe9b8}
.completed-badge{background:#eaf7ef;color:#27764e;font:700 10px 'DM Sans',sans-serif;padding:2px 8px;border-radius:6px;border:1px solid #bfe6cb}
.empty-state.green{color:#27764e;background:#eaf7ef;padding:16px;border-radius:12px;text-align:center;font-weight:700;font-size:12px}

/* Live Activity Card & Entries */
.activity-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.live-pulse-badge{display:inline-flex;align-items:center;gap:6px;color:#278461;font:700 10px 'DM Sans',sans-serif;background:#eef9f2;padding:3px 8px;border-radius:99px;margin-top:4px}
.pulse-dot{width:7px;height:7px;border-radius:50%;background:#278461;animation:pulse-ring 1.8s infinite}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(39,132,97,.6)}70%{box-shadow:0 0 0 6px rgba(39,132,97,0)}100%{box-shadow:0 0 0 0 rgba(39,132,97,0)}}
.activity-list{display:flex;flex-direction:column;gap:9px;max-height:380px;overflow-y:auto;padding-right:4px}
.activity-entry{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;background:#fbfbfe;border:1px solid #eeedf5}
.activity-icon{font-size:14px;color:#d55b43;flex-shrink:0;margin-top:1px}
.activity-body{display:flex;flex-direction:column;gap:2px}
.activity-body strong{font-size:12px;color:#24222d;line-height:1.3}
.activity-time{font-size:10px;color:#8b8793;font-weight:600}

/* Events Table Shell & Sticky Freeze Styling */
.events-table-shell{background:#fff;border:1px solid #ebe9f0;border-radius:20px;overflow:hidden}
.events-table-shell .table-wrap{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 280px);position:relative}
.events-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1200px}
.events-table th,.events-table td{padding:12px 14px;border-bottom:1px solid #f2f0f7;font-size:12px}
.events-table tbody tr:hover{background:#faf9fc}

/* Alignment utilities */
.events-table th.col-center,.events-table td.col-center{text-align:center!important}
.events-table th.col-left,.events-table td.col-left{text-align:left!important}

/* Vertical Sticky Header Freeze when scrolling down */
.events-table thead th{position:sticky;top:0;z-index:4;padding:12px 14px}

/* Horizontal Freeze # and Branch columns */
.events-table th.sticky-col-1,.events-table td.sticky-col-1{position:sticky;left:0;z-index:3;width:44px;min-width:44px;max-width:44px;background:#fff;text-align:center!important}
.events-table th.sticky-col-2,.events-table td.sticky-col-2{position:sticky;left:44px;z-index:3;min-width:190px;background:#fff;box-shadow:8px 0 12px -12px rgba(34,31,48,.45)}

/* Top Left Corner Sticky Header Intersection */
.events-table thead th.sticky-col-1{z-index:6;top:0;left:0;background:#eef4f8}
.events-table thead th.sticky-col-2{z-index:6;top:0;left:44px;background:#eef4f8}

/* Pre-Event vs Post-Event Mandatory Header Color Distinction */
.events-table thead th.pre-event-header{background:#f0f4f8;color:#2d4373;border-bottom:3px solid #3b82f6}
.events-table thead th.post-event-header{background:#fef8ec;color:#7a4b0d;border-bottom:3px solid #f59e0b}

.mandatory-tag{display:block;font:700 8px 'DM Sans',sans-serif;letter-spacing:.5px;margin-top:2px;opacity:.85}
.pre-event-header .mandatory-tag{color:#2563eb}
.post-event-header .mandatory-tag{color:#d97706}

.event-cell-name{display:flex;flex-direction:column;gap:2px}
.event-cell-date{font-size:11px;color:#8b8793;font-weight:600;margin-top:1px}
.target-info-cell{font-size:11px;color:#555260;font-weight:600}

/* GMB View Styles */
.gmb-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
@media(max-width:1100px){.gmb-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gmb-summary{grid-template-columns:1fr}}

.gmb-kpi-card{padding:21px 22px;background:#fff;border:1px solid #eeecf4;border-top:4px solid #d9d6e6;border-radius:20px;display:flex;flex-direction:column}
.gmb-kpi-card span{display:block;color:#8a8793;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.55px}
.gmb-kpi-card strong{display:block;margin-top:7px;color:#25222e;font:800 25px 'Manrope',sans-serif}
.gmb-kpi-card small{display:block;margin-top:5px;color:#92909d;font-size:10px;font-weight:600}
.gmb-kpi-card.neutral{border-top-color:#6b5bdf}
.gmb-kpi-card.good{border-top-color:#45a66d}
.gmb-kpi-card.good strong{color:#278158}
.gmb-kpi-card.watch{border-top-color:#e1b43b}
.gmb-kpi-card.watch strong{color:#9a7313}
.gmb-kpi-card.critical{border-top-color:#df6b63}
.gmb-kpi-card.critical strong{color:#c84e45}

.gmb-main-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;margin-bottom:24px;align-items:start;width:100%}
@media(max-width:1024px){.gmb-main-layout{grid-template-columns:1fr}}

.gmb-table-column{min-width:0;width:100%}
.gmb-overview-column{min-width:0;position:sticky;top:86px}

.gmb-table-shell{margin:0;width:100%;padding-bottom:12px;background:#fff;border-radius:20px}
.gmb-table-shell .table-wrap{overflow-x:auto;overflow-y:visible;max-height:none!important;width:100%;padding-bottom:16px}
.gmb-table-shell tbody tr:last-child td{padding-bottom:24px}

.gmb-overview-card{background:#fff;border-radius:20px;border:1px solid #ebe9f0;padding:22px;box-shadow:0 4px 14px rgba(36,31,70,.03)}
.gmb-overview-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #f0edf6}
.gmb-icon-badge{width:42px;height:42px;border-radius:12px;background:#fff0eb;color:#d55b43;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.gmb-overview-header h3{margin:0;font:800 17px 'Manrope',sans-serif;color:#24222d}
.gmb-overview-header .gmb-sub{margin:2px 0 0;font-size:11px;color:#8b8793;font-weight:600}

.gmb-info-block{display:flex;flex-direction:column;gap:14px}
.gmb-info-item{background:#faf9fc;border:1px solid #f0edf6;border-radius:14px;padding:14px 16px}
.gmb-info-item.update-schedule-item{background:#fff0eb;border-color:#ffdacc}
.gmb-info-tag{display:inline-block;font:800 9px 'DM Sans',sans-serif;letter-spacing:1px;color:#d55b43;text-transform:uppercase;margin-bottom:4px}
.gmb-info-item h4{margin:0 0 6px;font:700 14px 'Manrope',sans-serif;color:#24222d}
.gmb-info-item p{margin:0;font-size:12px;line-height:1.55;color:#5c5866}
.gmb-info-item ul{margin:6px 0 0;padding-left:18px;font-size:12px;line-height:1.5;color:#5c5866}
.gmb-info-item li{margin-bottom:4px}

.gmb-update-schedule-badge{display:inline-flex;align-items:center;gap:4px;background:#fff0eb;color:#ad422f;font:700 11px 'DM Sans',sans-serif;padding:4px 10px;border-radius:10px;border:1px solid #ffd8cc}

/* Goals Section */
.gmb-goals-section{background:#fff;border-radius:22px;border:1px solid #ebe9f0;padding:24px;margin-top:24px}
.gmb-goals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}
@media(max-width:1100px){.gmb-goals-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.gmb-goals-grid{grid-template-columns:1fr}}

.gmb-goal-card{background:#faf9fc;border:1px solid #eeeaf5;border-radius:16px;padding:18px;display:flex;flex-direction:column}
.gmb-goal-card.goal-100{border-top:4px solid #8e44ad}
.gmb-goal-card.goal-75{border-top:4px solid #2980b9}
.gmb-goal-card.goal-50{border-top:4px solid #27ae60}
.gmb-goal-card.goal-low{border-top:4px solid #d55b43;background:#fff8f6}

.gmb-goal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.gmb-goal-header h3{margin:0;font:800 15px 'Manrope',sans-serif;color:#24222d}
.gmb-goal-count{font:800 12px 'Manrope',sans-serif;padding:4px 9px;border-radius:10px;background:#ebe7f5;color:#5544a8}
.gmb-goal-card.goal-low .gmb-goal-count{background:#ffe3dd;color:#ad422f}

.gmb-goal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto}
.gmb-goal-item{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:8px 12px;border-radius:10px;border:1px solid #f0edf6;font-size:12px}
.gmb-goal-item strong{font-weight:700;color:#24222d}
.gmb-goal-item b{font-weight:800;font-family:'Manrope',sans-serif;color:#27ae60}
.gmb-goal-card.goal-low .gmb-goal-item b{color:#ad422f}
.gmb-goal-item .gap-tag{font-size:10px;color:#8b8793;display:block}

/* Badges & Links */
.gmb-pill{font:800 11px 'Manrope',sans-serif;padding:4px 8px;border-radius:8px;display:inline-flex;align-items:center;gap:4px}
.gmb-pill.goal-100{background:#f4ecf7;color:#8e44ad}
.gmb-pill.goal-75{background:#ebf5fb;color:#2980b9}
.gmb-pill.goal-50{background:#eafaf1;color:#27ae60}
.gmb-pill.goal-low{background:#fdf2e9;color:#d35400}

.reply-badge{font-size:11px;font-weight:800;border-radius:10px;padding:4px 8px;display:inline-flex;align-items:center;gap:3px}
.reply-badge.yes{color:#27764e;background:#eaf7ef}
.reply-badge.no{color:#c45443;background:#fff2ef}

.gmb-map-link{display:inline-flex;align-items:center;gap:4px;color:#2563eb;text-decoration:none;font-size:11px;font-weight:700;padding:4px 8px;border-radius:8px;background:#eff6ff}
.gmb-map-link:hover{background:#dbeafe;text-decoration:underline}

/* Admin Profile Workspace Styles */
.admin-profile-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.admin-profile-summary>div{background:#fff;border-radius:18px;padding:20px 22px;border:1px solid #eeedf4;box-shadow:0 4px 14px rgba(35,31,70,.03)}
.admin-profile-summary span{display:block;color:#85828d;font-size:11px;margin-bottom:6px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.admin-profile-summary strong{font:800 24px Manrope,sans-serif;color:#287fb3}

.admin-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:30px}
.admin-profile-card{position:relative;background:#fff;border-radius:22px;border:1px solid #e7e6ee;padding:24px;box-shadow:0 8px 22px rgba(36,31,70,.05);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}
.admin-profile-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(36,31,70,.09)}
.admin-profile-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px}
.admin-profile-card.badge-ayu::before{background:linear-gradient(90deg,#028090,#00a896)}
.admin-profile-card.badge-tami::before{background:linear-gradient(90deg,#f77f00,#e76f51)}
.admin-profile-card.badge-mia::before{background:linear-gradient(90deg,#d81b60,#c2185b)}

.admin-card-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.admin-avatar{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font:800 16px Manrope,sans-serif}
.badge-ayu .admin-avatar{background:#e4f5f8;color:#028090}
.badge-tami .admin-avatar{background:#fff3ec;color:#e76f51}
.badge-mia .admin-avatar{background:#fce4ec;color:#d81b60}

.admin-identity{flex:1}
.admin-identity h3{margin:0;font:800 19px Manrope,sans-serif;color:#24222d}
.admin-role{font-size:11px;color:#85828d;font-weight:600}
.admin-row-tag{font:800 10px 'DM Sans',sans-serif;padding:4px 9px;border-radius:99px;background:#f1f0f7;color:#625f6e;white-space:nowrap}

.admin-contact-info{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#f8f8fb;border-radius:14px;margin-bottom:16px}
.admin-phone{font:700 12px 'DM Sans',sans-serif;color:#33303c}
.admin-wa-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:10px;background:#00a896;color:#fff;font:700 11px 'DM Sans',sans-serif;text-decoration:none;transition:background .15s ease}
.admin-wa-btn:hover{background:#028090}

.admin-card-stats{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-top:1px solid #efeef5;border-bottom:1px solid #efeef5;margin-bottom:16px}
.stat-label{font-size:11px;color:#85828d;font-weight:600}
.stat-value{font:800 15px Manrope,sans-serif;color:#287fb3}

.admin-centers-list .centers-eyebrow{margin:0 0 8px;font:800 9px 'DM Sans',sans-serif;color:#9d99a7;letter-spacing:1px}
.center-tags{display:flex;flex-wrap:wrap;gap:6px;max-height:180px;overflow-y:auto;padding-right:4px}
.center-tag{font-size:11px;font-weight:600;padding:5px 9px;border-radius:8px;background:#f2f1f8;color:#403d4a}

.admin-table-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}
.admin-table-title h2{margin:0 0 4px;font:800 20px Manrope,sans-serif;color:#24222d}
.admin-table-title p{margin:0;color:#85828d;font-size:12px}

.admin-table-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.admin-table-controls input[type="search"]{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 14px;color:var(--ink);font:600 12px 'DM Sans',sans-serif;min-width:260px;outline:none}
.admin-table-controls input[type="search"]:focus{border-color:#287fb3;box-shadow:0 0 0 3px rgba(40,127,179,.15)}

.admin-table-shell table{width:100%}
.admin-table-shell th.col-row,.admin-table-shell td.col-row{width:110px;text-align:center}
.admin-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;font:800 11px 'DM Sans',sans-serif}
.admin-badge.badge-ayu{background:#e4f5f8;color:#028090}
.admin-badge.badge-tami{background:#fff3ec;color:#e76f51}
.admin-badge.badge-mia{background:#fce4ec;color:#d81b60}

.center-name-text{font-family:'Manrope',sans-serif;font-weight:700;color:#24222d}
.admin-phone-text{font:600 12px 'DM Sans',sans-serif;color:#5d5968}

.admin-wa-link{display:inline-flex;align-items:center;gap:4px;color:#1eb856;text-decoration:none;font-weight:700;font-size:11px;padding:5px 10px;border-radius:8px;background:#eafbf0;transition:background .15s ease}
.admin-wa-link:hover{background:#d4f7de}

@media(max-width:1050px){.admin-profile-grid{grid-template-columns:1fr}.admin-profile-summary{grid-template-columns:1fr}.admin-table-header{flex-direction:column;align-items:flex-start}}

/* Revenue table: explicitly separate selected-week and monthly figures. */
.revenue-table-shell table{min-width:1450px}
.revenue-table-shell th>small{display:block;margin-top:4px;color:#aaa7b2;font-size:8px;font-weight:700;letter-spacing:0;text-transform:none}
.revenue-table-shell td:first-child .revenue-group{margin-top:7px}
.revenue-week-prompt{color:#aaa7b2;font-size:9px;font-weight:700}
.revenue-wave-toggle{padding:0 4px}
.revenue-zero-section{margin-top:20px;padding-top:17px;border-top:1px solid #eeecf4}
.revenue-zero-section h3{margin:0 0 4px}
.revenue-zero-section>p{margin:0 0 10px;color:#9996a1;font-size:8px;line-height:1.4}
.revenue-zero-list{display:grid;gap:7px;max-height:260px;overflow:auto}
.revenue-zero-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border-radius:12px;background:#fff1ee}
.revenue-zero-list article span{min-width:0}
.revenue-zero-list strong,.revenue-zero-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.revenue-zero-list strong{color:#6f332e;font-size:10px}
.revenue-zero-list small{margin-top:2px;color:#a16d68;font-size:8px}
.revenue-zero-list b{flex:0 0 auto;color:#c84e45;font-size:8px}
.revenue-zero-empty{display:block;padding:11px;border-radius:12px;background:#f8f8fc;color:#8f8b97;font-size:9px;font-weight:700}
.revenue-table-shell th:first-child,
.revenue-table-shell td:first-child{position:sticky;left:0;min-width:270px;max-width:270px}
.revenue-table-shell th:first-child{z-index:5;background:#f8f8fc}
.revenue-table-shell td:first-child{z-index:3;background:#fff;box-shadow:8px 0 12px -12px rgba(35,31,70,.55)}
/* Agents Performance toolbar: branch + its own month/week filters on the left, Overall/Details switch on the right. */
.revenue-branch-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:10px}
.revenue-branch-toolbar>div:first-child{flex:0 0 280px;width:280px;min-width:0}
.revenue-branch-period{display:flex;gap:10px}
.revenue-branch-period>div{flex:0 0 170px;width:170px;min-width:0}
.revenue-branch-toolbar .acops-select{width:100%;min-width:0}
@media(max-width:700px){.revenue-branch-toolbar>div:first-child,.revenue-branch-period,.revenue-branch-period>div{flex:1 1 100%;width:100%}}
.revenue-branch-period label{display:block;margin:0 0 6px;color:#85818e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.55px}
.revenue-branch-toolbar .filter-switch{margin-left:auto}
/* Agent revenue details: Agent left-aligned; Position and all numbers centered in equal-width columns. */
.revenue-agent-shell table{table-layout:fixed;width:100%;min-width:700px}
.revenue-agent-shell th,.revenue-agent-shell td{padding:10px 12px;text-align:center}
.revenue-agent-shell th:first-child,.revenue-agent-shell td:first-child{text-align:left}
.revenue-agent-shell th:nth-child(2),.revenue-agent-shell td:nth-child(2){text-align:center}
.revenue-agent-shell th:first-child,.revenue-agent-shell td:first-child{width:260px;overflow:hidden;text-overflow:ellipsis}
/* No width on the other columns: with a fixed layout they all share the remaining space equally, so the spacing is even. */
.revenue-agent-shell .revenue-group{padding:4px 10px;border-radius:10px;font-size:11px}
/* Compact Center-performance rows: trim vertical padding and tighten the stacked branch cell so the list fits more on screen while staying legible. */
.revenue-table-shell tbody td{padding-top:9px;padding-bottom:9px;vertical-align:middle}
.revenue-table-shell td:first-child{line-height:1.25}
.revenue-table-shell td:first-child strong{font-size:13px}
.revenue-table-shell td:first-child>small{display:inline-block;vertical-align:middle;margin-top:2px;font-size:10px;color:#9893a0}
.revenue-table-shell td:first-child .revenue-group{margin:2px 0 0 8px;padding:2px 7px;font-size:8px;vertical-align:middle}
/* Fixed layout: the Branch column keeps its width and the spare space is shared by the number columns instead of widening Branch. */
.revenue-table-shell table{table-layout:fixed;min-width:760px;width:100%}
/* Clickable sortable headers, same behaviour as the MTC Productivity table. */
.revenue-table-shell thead th.revenue-sort-th{cursor:pointer;user-select:none;transition:color .12s,background .12s}
.revenue-table-shell thead th.revenue-sort-th:hover{color:#4a3fc7;background:#f3f1ff}
.revenue-table-shell thead th.revenue-sort-th.active{color:#6b5bdf}
.revenue-table-shell thead th .revenue-sort-label{display:inline-flex;align-items:center;gap:4px}
.revenue-table-shell thead th .revenue-sort-arrow{font-size:8px;line-height:1;color:#6b5bdf;min-width:8px}
/* Branch column left-aligned, all number columns centered (header and values). */
.revenue-table-shell th:not(:first-child),.revenue-table-shell td:not(:first-child){text-align:center}
.revenue-table-shell th:first-child,.revenue-table-shell td:first-child{text-align:left}
.revenue-table-shell th:first-child,.revenue-table-shell td:first-child{width:auto;min-width:250px;overflow:hidden;text-overflow:ellipsis}
.revenue-table-shell th:not(:first-child),.revenue-table-shell td:not(:first-child){width:170px}
.revenue-table-shell th,.revenue-table-shell td{padding-left:10px;padding-right:10px}
.revenue-table-shell th:first-child,.revenue-table-shell td:first-child{padding-left:16px}
.revenue-table-shell thead th{white-space:normal;line-height:1.25;vertical-align:bottom}

/* SmartApp detail schedule columns. */
.smart-detail-shell table{min-width:1340px}
.smart-detail-shell td:nth-child(2){text-align:center;font-weight:800;color:#5e50cf}
.smart-detail-shell td:nth-child(3),.smart-detail-shell td:nth-child(8){text-align:center}
.smart-detail-shell td:nth-child(4){max-width:none;white-space:nowrap;line-height:normal;text-align:left}
.smart-detail-shell td:nth-child(5){max-width:360px;white-space:normal;line-height:1.4;text-align:left}
.smart-detail-shell td:nth-child(9){text-align:left}

/* Branch social-media monitoring */
.sosmed-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:22px 0}.sosmed-controls input,.sosmed-controls select{border:1px solid #dfdde8;background:#fff;color:#333142;border-radius:11px;min-height:40px;padding:0 13px;font:600 12px 'DM Sans',sans-serif}.sosmed-controls input{flex:1 1 260px}.sosmed-controls select{flex:0 1 205px}.sosmed-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.sosmed-kpi{padding:18px 19px;border-radius:18px;background:#fff;border:1px solid #ebeaf2;box-shadow:0 5px 17px #211e4a08}.sosmed-kpi>span{display:block;color:#817d8d;font:800 9px 'Manrope',sans-serif;letter-spacing:1.1px}.sosmed-kpi strong{display:block;margin:7px 0 4px;color:#403593;font:800 27px 'Manrope',sans-serif;letter-spacing:-1.1px}.sosmed-kpi small{display:block;color:#9994a1;font-size:10px}.sosmed-kpi.purple strong{color:#6a55cc}.sosmed-kpi.pink strong{color:#cf527f}.sosmed-kpi.green strong{color:#15906c}.sosmed-table-shell{margin-top:0}.sosmed-period{font:700 10px 'DM Sans',sans-serif;color:#6e64be;background:#f0efff;border-radius:99px;padding:6px 10px}.sosmed-region-label{display:block;margin-top:3px;color:#9d98a5;font-size:9px;text-transform:capitalize}.sosmed-profile-link{color:#5a48ca;font-weight:700;text-decoration:none}.sosmed-profile-link:hover{text-decoration:underline}.sosmed-detail-button{border:0;border-radius:8px;padding:7px 9px;background:#f0efff;color:#5a48ca;font:800 10px 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap}.sosmed-data-table td{vertical-align:middle}.sosmed-leaderboard{margin-top:28px}.sosmed-leaderboard .section-heading{align-items:end}.sosmed-leaderboard .section-heading .eyebrow{display:block;color:#8f89b9;margin:0 0 6px;font-size:9px}.sosmed-leaders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sosmed-leader{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;background:#fff;border:1px solid #ebeaf2;border-radius:15px;padding:14px}.sosmed-rank{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#f0efff;color:#5a48ca;font:800 11px 'Manrope',sans-serif}.sosmed-leader strong{font:800 12px 'Manrope',sans-serif;color:#2a2735}.sosmed-leader p{margin:5px 0;color:#746f7c;font-size:10px;line-height:1.45}.sosmed-leader small{color:#aaa5b0;font-size:9px}.sosmed-leader-metrics{display:grid;gap:4px;text-align:right;font-size:10px;white-space:nowrap}.sosmed-leader-metrics b{color:#cc4f72}.sosmed-leader-metrics span{color:#77717e}@media(max-width:960px){.sosmed-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sosmed-leaders{grid-template-columns:1fr}}@media(max-width:540px){.sosmed-kpis{grid-template-columns:1fr}.sosmed-controls>*{width:100%}.sosmed-leaders{grid-template-columns:1fr}}

/* ===================== MTC PRODUCTIVITY ===================== */
.mtc-main-tabs{margin-bottom:20px}
#mtcSummaryPanel[hidden],#mtcCalendarPanel[hidden]{display:none}
.mtc-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.mtc-controls select,.mtc-controls input{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;font:600 12px 'DM Sans';color:var(--ink)}
.mtc-controls .mtc-period{display:flex;align-items:center;gap:8px}
.mtc-controls .mtc-period label{font-size:12px;color:var(--muted)}
.mtc-scope-note{margin-left:auto;font-size:12px;font-weight:700;color:var(--accent)}

.mtc-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.mtc-card{background:#fff;border-radius:20px;border:1px solid #ece9f8;border-top:4px solid var(--accent);padding:18px 20px}
.mtc-card span{display:block;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.mtc-card strong{font:800 30px Manrope;letter-spacing:-1.2px;color:var(--ink);display:block}
.mtc-card strong.ok{color:#35815a}
.mtc-card strong.low{color:#cf6251}
.mtc-card strong.over{color:#c06a12}
.mtc-card small{display:block;margin-top:5px;font-size:11px;color:var(--muted)}

.mtc-lists-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:26px}
.mtc-list-card{background:#fff;border-radius:22px;padding:22px 24px;border:1px solid #ece9f8}
.mtc-list-card.highest{border-top:4px solid var(--accent)}
.mtc-list-card.lowest{border-top:4px solid #e6a23c}
.mtc-list-card header{margin-bottom:14px}
.mtc-list-card .eyebrow{color:var(--accent);margin-bottom:6px}
.mtc-list-card h3{font:800 19px Manrope;letter-spacing:-.6px;margin:0}
.mtc-list-card header p:last-child{margin:6px 0 0;font-size:12px;color:var(--muted)}
.mtc-rank{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mtc-rank li{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper);border-radius:13px;padding:11px 14px}
.mtc-rank-name{font-size:13px;font-weight:700;color:var(--ink);display:flex;flex-direction:column}
.mtc-rank-name b{color:var(--accent);margin-right:2px;display:inline}
.mtc-rank-name small{font-weight:600;color:var(--muted);font-size:10px;margin-top:2px}
.mtc-rank-val{font:800 16px Manrope;color:var(--ink);white-space:nowrap;display:flex;align-items:center;gap:6px}
.mtc-rank-val em{font-style:normal;font-size:10px;color:var(--muted);font-weight:700}
.mtc-rank-val.low{color:#cf6251}
.mtc-rank-val.high{color:#35815a}
.mtc-tag{font-size:9px;font-weight:800;border-radius:9px;padding:4px 7px;text-transform:uppercase;letter-spacing:.4px}
.mtc-tag.over{background:#fff0e2;color:#c06a12}
.mtc-empty-line{color:var(--muted);font-size:12px;margin:8px 0 0}

.mtc-analysis{background:#fff;border-radius:22px;padding:26px;margin-bottom:24px;border:1px solid #ece9f8}
.mtc-analysis-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:26px;align-items:start;margin-bottom:24px}
.mtc-bars-outside{padding-top:4px}
.mtc-bars{display:flex;flex-direction:column;gap:10px}
.mtc-bar{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:12px;font-size:12px}
.mtc-bar-name{font-weight:700;color:#3e3d49;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtc-bar-track{height:14px;border-radius:8px;background:#efeef6;overflow:hidden}
.mtc-bar-track i{display:block;height:100%;border-radius:8px;min-width:3px}
.mtc-bar-val{font-weight:700;font-variant-numeric:tabular-nums;color:#85828d;white-space:nowrap}
.mtc-pie-outside{display:flex;align-items:center;justify-content:center}
.mtc-analysis-card{background:#fff;border-radius:22px;padding:26px;border:1px solid #ece9f8}
.mtc-analysis-card>.eyebrow{color:var(--accent,#6b5bdf);margin:0 0 8px}
.mtc-analysis .eyebrow{color:var(--accent);margin-bottom:6px}
.mtc-analysis h2{font:800 24px Manrope;letter-spacing:-1px;margin:0 0 10px}
.mtc-analysis-lead{color:#5b5967;line-height:1.65;margin:0 0 20px;font-size:14px}
.mtc-taskbars{display:grid;gap:10px}
.mtc-taskbar{display:grid;grid-template-columns:150px 1fr 150px;gap:14px;align-items:center}
.mtc-task-name{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtc-task-track{height:14px;border-radius:9px;background:#efeff6;overflow:hidden}
.mtc-task-track i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#a89bf3,#6553dc)}
.mtc-task-track i.teach{background:linear-gradient(90deg,#5fbf8c,#2f9d63)}
.mtc-taskbar b{text-align:right;font-size:12px;font-weight:700;color:var(--muted)}
.mtc-analysis-note{margin:18px 0 0;padding:14px 16px;border-radius:14px;font-size:13px;line-height:1.55}
.mtc-analysis-note.over{background:#fff4e8;color:#8a5316}

.mtc-stale{background:#fff;border-radius:22px;padding:26px;border:1px solid #ece9f8}
.mtc-stale-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.mtc-stale-head .eyebrow{color:var(--accent);margin-bottom:6px}
.mtc-stale-head h2{font:800 24px Manrope;letter-spacing:-1px;margin:0}
.mtc-stale-head>div:first-child p:last-child{margin:6px 0 0;font-size:12px;color:var(--muted)}
.mtc-stale-count{min-width:120px;text-align:center;border-radius:16px;padding:14px}
.mtc-stale-count.warn{background:#fff0ec}
.mtc-stale-count.ok{background:#eaf7ef}
.mtc-stale-count strong{display:block;font:800 26px Manrope}
.mtc-stale-count.warn strong{color:#c1533e}
.mtc-stale-count.ok strong{color:#35815a}
.mtc-stale-count span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.mtc-stale-shell td strong{font-weight:700}
.mtc-days{display:inline-flex;padding:5px 9px;border-radius:11px;font-size:11px;font-weight:800}
.mtc-days.warn{background:#fff4e8;color:#a86b18}
.mtc-days.bad{background:#fff0ec;color:#c1533e}
.mtc-stale-clear{background:#eaf7ef;color:#35815a;border-radius:16px;padding:18px 20px;font-size:13px;font-weight:700}

/* Calendar */
/* --- Calendar tab: Google-Calendar-style week time grid --- */
.mtc-cal-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:start}
.mtc-cal-filters{background:#fff;border:1px solid #ece9f8;border-radius:18px;padding:16px 16px 18px}
.mtc-cal-filters-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.mtc-cal-filters-head b{font:800 12px 'DM Sans';color:var(--ink)}
.mtc-cal-all{border:0;background:var(--accent-soft,#ebe9ff);color:var(--accent);font:800 10px 'DM Sans';border-radius:8px;padding:4px 9px;cursor:pointer}
.mtc-cal-filters ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.mtc-cal-filter{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:10px;cursor:pointer;font:700 12px 'DM Sans';color:var(--ink)}
.mtc-cal-filter:hover{background:#faf9ff}
.mtc-cal-filter.off{opacity:.5}
.mtc-cal-filter input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}
.mtc-cal-swatch{width:13px;height:13px;border-radius:4px;flex:0 0 auto;background:#b9b2e6}
.mtc-cal-swatch.teach{background:#2f9d63}.mtc-cal-swatch.teach-alt{background:#5fbf8c}.mtc-cal-swatch.off{background:#c7c7d1}.mtc-cal-swatch.admin{background:#e6a23c}.mtc-cal-swatch.plan{background:#6b5bdf}.mtc-cal-swatch.coord{background:#3f9ac9}.mtc-cal-swatch.meet{background:#d074c9}.mtc-cal-swatch.train{background:#e07a5f}.mtc-cal-swatch.obs{background:#8a7bf0}.mtc-cal-swatch.other{background:#b9b2e6}
.mtc-cal-filter-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtc-cal-analysis{margin-top:14px;padding-top:14px;border-top:1px solid #efedf8}
.mtc-cal-an-head{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:11px}
.mtc-cal-an-badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font:800 11px 'DM Sans';padding:5px 11px;border-radius:999px;line-height:1}
.mtc-cal-an-badge.over{background:#fdecec;color:#c0392b}
.mtc-cal-an-badge.ok{background:#e7f6ee;color:#1f8a53}
.mtc-cal-an-ico{font-size:12px;line-height:1}
.mtc-cal-an-hrs{font:700 12px 'DM Sans';color:#817f8b;white-space:nowrap}
.mtc-cal-an-label{font:800 9px 'DM Sans';letter-spacing:.5px;text-transform:uppercase;color:#9a98a6;margin-bottom:6px}
.mtc-cal-an-tasks{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:5px}
.mtc-cal-an-tasks li{display:flex;align-items:center;gap:8px;font:700 11.5px 'DM Sans';color:var(--ink)}
.mtc-cal-an-tasks .mtc-cal-an-t{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtc-cal-an-tasks b{color:#817f8b;font-weight:800}
.mtc-cal-an-fix{font:500 11.5px 'DM Sans';line-height:1.45;color:#5a5866;background:#faf9ff;border-radius:10px;padding:9px 10px}
.mtc-cal-an-fix b{color:var(--ink);font-weight:800}
.mtc-cal-shell{background:#fff;border:1px solid #ece9f8;border-radius:18px;overflow:auto;max-height:calc(100vh - 210px)}
.mtc-cal-grid{display:grid;grid-template-columns:56px repeat(7,minmax(120px,1fr));min-width:900px}
.mtc-cal-timecol,.mtc-cal-col{border-right:1px solid #f0f0f5}
.mtc-cal-col:last-child{border-right:0}
.mtc-cal-col-head{height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:sticky;top:0;z-index:3;background:#fafaff;border-bottom:1px solid #ece9f8}
.mtc-cal-dow{font:800 10px 'DM Sans';letter-spacing:.5px;color:#817f8b}
.mtc-cal-date{font:700 17px Manrope;color:var(--ink);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.mtc-cal-date.today{background:var(--accent);color:#fff}
.mtc-cal-col-head.today .mtc-cal-dow{color:var(--accent)}
.mtc-cal-times{position:relative}
.mtc-cal-time{position:absolute;right:6px;transform:translateY(-6px);font:600 10px 'DM Sans';color:#a3a1ac}
.mtc-cal-col-body{position:relative}
.mtc-cal-hourline{position:absolute;left:0;right:0;border-top:1px solid #f2f1f7}
.mtc-cal-event{position:absolute;border-radius:7px;padding:3px 7px;overflow:hidden;font-size:10px;border-left:3px solid #b9b2e6;background:var(--paper);cursor:default;box-shadow:0 1px 2px rgba(35,31,70,.06)}
.mtc-cal-ev-title{display:block;font-weight:700;font-size:11px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.mtc-cal-ev-time{display:block;font-size:9px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.mtc-cal-ev-detail{display:block;font-size:9.5px;font-weight:400;color:#6f6b78;white-space:normal;overflow:hidden;line-height:1.3;margin-top:1px}
.mtc-cal-event.teach{border-left-color:#2f9d63;background:#eef9f2}
.mtc-cal-event.teach-alt{border-left-color:#5fbf8c;background:#f0faf4}
.mtc-cal-event.off{border-left-color:#c7c7d1;background:#f4f4f8;opacity:.9}
.mtc-cal-event.admin{border-left-color:#e6a23c;background:#fff7ec}
.mtc-cal-event.plan{border-left-color:#6b5bdf;background:#f0eeff}
.mtc-cal-event.coord{border-left-color:#3f9ac9;background:#eaf5fb}
.mtc-cal-event.meet{border-left-color:#d074c9;background:#fbeefb}
.mtc-cal-event.train{border-left-color:#e07a5f;background:#fdefe9}
.mtc-cal-event.obs{border-left-color:#8a7bf0;background:#f2effe}
.mtc-cal-event.other{border-left-color:#b9b2e6;background:#f5f4fb}

/* --- Details tab --- */
.mtc-details-panel[hidden]{display:none}
.mtc-detail-empty{background:#fff;border:1px solid #ece9f8;border-radius:22px;padding:48px 32px;text-align:center;max-width:620px;margin:8px auto}
.mtc-detail-empty-ico{font-size:40px;margin-bottom:12px}
.mtc-detail-empty strong{display:block;font:800 20px Manrope;letter-spacing:-.5px;color:var(--ink);margin-bottom:8px}
.mtc-detail-empty p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.mtc-detail-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 20px}
.mtc-detail-head .eyebrow{color:var(--accent);margin-bottom:6px}
.mtc-detail-head h2{font:800 28px Manrope;letter-spacing:-1.2px;margin:0}
.mtc-detail-head>div>p:last-child{margin:6px 0 0;font-size:13px;color:var(--muted);font-weight:600}
.mtc-detail-loadtag{font:800 12px 'DM Sans';letter-spacing:.3px;padding:9px 16px;border-radius:999px}
.mtc-detail-loadtag.ok{background:#eaf7ef;color:#35815a}
.mtc-detail-loadtag.low{background:#fdecea;color:#cf6251}
.mtc-detail-loadtag.over{background:#fff0e2;color:#c06a12}
.mtc-detail-cards{margin-bottom:24px}
.mtc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.mtc-detail-block{background:#fff;border:1px solid #ece9f8;border-radius:22px;padding:22px 24px}
.mtc-detail-block header{margin-bottom:14px}
.mtc-detail-block .eyebrow{color:var(--accent);margin-bottom:6px}
.mtc-detail-block h3{font:800 18px Manrope;letter-spacing:-.6px;margin:0}
.mtc-detail-block header p:last-child{margin:6px 0 0;font-size:12px;color:var(--muted)}
.mtc-detail-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mtc-detail-list li{display:flex;align-items:center;gap:11px;background:var(--paper);border-radius:13px;padding:11px 14px}
.mtc-detail-chip{flex:0 0 auto;width:10px;height:10px;border-radius:3px}
.mtc-detail-chip.main{background:#6b5bdf}
.mtc-detail-chip.other{background:#5fbf8c}
.mtc-detail-name{font-size:13px;font-weight:700;color:var(--ink);flex:1;min-width:0}
.mtc-detail-meta{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}
.mtc-detail-meta b{color:var(--accent);font-weight:800}
.mtc-detail-work{margin-bottom:4px}
.mtc-detail-workbars{display:grid;gap:10px}
.mtc-detail-workbar{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:12px;font-size:12px}
.mtc-detail-wb-name{font-weight:700;color:#3e3d49;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtc-detail-wb-track{height:14px;border-radius:8px;background:#efeef6;overflow:hidden}
.mtc-detail-wb-track i{display:block;height:100%;border-radius:8px;min-width:3px;background:linear-gradient(90deg,#a89bf3,#6553dc)}
.mtc-detail-workbar b{font-weight:700;color:#85828d;white-space:nowrap}

/* Day-by-day session timeline */
.mtc-detail-days{margin-bottom:18px}
.mtc-day-list{display:grid;gap:14px}
.mtc-day{background:var(--paper);border:1px solid #ece9f8;border-radius:16px;overflow:hidden}
.mtc-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#f6f4ff;border-bottom:1px solid #ece9f8}
.mtc-day-when{display:flex;align-items:baseline;gap:9px;min-width:0}
.mtc-day-when strong{font:800 15px Manrope;letter-spacing:-.4px;color:var(--ink)}
.mtc-day-when span{font-size:12px;color:var(--muted);font-weight:600}
.mtc-day-tot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mtc-day-tot .pill{font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap}
.mtc-day-tot .pill.teach{background:#eceaff;color:#5345c9}
.mtc-day-tot .pill.work{background:#e4f5ec;color:#2f8d5e}
.mtc-day-count{font-size:11px;color:var(--muted);font-weight:700}
.mtc-day-sessions{list-style:none;margin:0;padding:6px 10px}
.mtc-sess{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;padding:9px 8px;border-bottom:1px solid #f0eef9}
.mtc-sess:last-child{border-bottom:none}
.mtc-sess-time{font-size:12px;font-weight:700;color:#6c6a78;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:9px;border-left:3px solid #c9c3ef}
.mtc-sess.teach .mtc-sess-time{border-left-color:#6b5bdf}
.mtc-sess.teach-alt .mtc-sess-time{border-left-color:#5fbf8c}
.mtc-sess.work .mtc-sess-time{border-left-color:#f0a93d}
.mtc-sess.off .mtc-sess-time{border-left-color:#c7c5d0}
.mtc-sess-main{min-width:0;display:flex;flex-direction:column;gap:1px}
.mtc-sess-title{font-size:13px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mtc-sess-sub{font-size:11px;color:var(--muted);font-weight:600}
.mtc-sess-hrs{font-size:12px;font-weight:800;color:var(--accent);white-space:nowrap}

/* Compact variant — denser, smaller type so the timeline takes less vertical room */
.mtc-detail-days-compact{margin-bottom:18px}
.mtc-detail-days-compact .mtc-day-list{grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}
.mtc-detail-days-compact .mtc-day{border-radius:13px}
.mtc-detail-days-compact .mtc-day-head{flex-direction:column;align-items:flex-start;gap:7px;padding:9px 13px}
.mtc-detail-days-compact .mtc-day-when strong{font-size:13px}
.mtc-detail-days-compact .mtc-day-when span{font-size:11px}
.mtc-detail-days-compact .mtc-day-tot{width:100%}
.mtc-detail-days-compact .mtc-day-tot .pill{font-size:10px;padding:2px 8px}
.mtc-detail-days-compact .mtc-day-count{font-size:10px}
.mtc-detail-days-compact .mtc-day-sessions{padding:2px 10px}
.mtc-detail-days-compact .mtc-sess{grid-template-columns:92px 1fr auto;gap:9px;padding:5px 6px}
.mtc-detail-days-compact .mtc-sess-time{font-size:11px;padding-left:8px;border-left-width:3px}
.mtc-detail-days-compact .mtc-sess-main{min-width:0;flex-direction:column;align-items:flex-start;gap:0}
.mtc-detail-days-compact .mtc-sess-title{font-size:12px}
.mtc-detail-days-compact .mtc-sess-sub{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.mtc-detail-days-compact .mtc-sess-hrs{font-size:11px}

/* This week vs last week comparison */
.mtc-detail-compare{margin-bottom:18px}
.mtc-compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mtc-compare-card{background:var(--paper);border:1px solid #ece9f8;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.mtc-compare-card.up{border-left:4px solid #2f8d5e}
.mtc-compare-card.down{border-left:4px solid #d97070}
.mtc-compare-card.flat{border-left:4px solid #c7c5d0}
.mtc-cmp-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.mtc-cmp-now{font:800 24px Manrope;letter-spacing:-.6px;color:var(--ink)}
.mtc-cmp-delta{font-size:12px;font-weight:800;white-space:nowrap}
.mtc-cmp-delta.up{color:#2f8d5e}
.mtc-cmp-delta.down{color:#cf5e5e}
.mtc-cmp-delta.flat{color:#8a8794}
.mtc-compare-card small{font-size:11px;color:var(--muted);font-weight:600}

@media(max-width:1000px){.mtc-summary-cards{grid-template-columns:repeat(2,1fr)}.mtc-lists-grid{grid-template-columns:1fr}.mtc-taskbar{grid-template-columns:110px 1fr 100px;gap:10px}.mtc-cal-layout{grid-template-columns:1fr}.mtc-analysis-layout{grid-template-columns:1fr}.mtc-detail-grid{grid-template-columns:1fr}.mtc-compare-grid{grid-template-columns:1fr}.mtc-detail-days-compact .mtc-day-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.mtc-summary-cards{grid-template-columns:1fr}.mtc-scope-note{margin-left:0;width:100%}.mtc-stale-head{flex-direction:column;align-items:flex-start}.mtc-detail-days-compact .mtc-day-list{grid-template-columns:1fr}}
/* --- Summary redesign: search fields, branch table, at-a-glance card, pie chart --- */
.mtc-controls .mtc-period[hidden],.mtc-controls [hidden]{display:none!important}
.mtc-branch-search input,.mtc-name-search input{width:180px}
.mtc-controls #mtcSort{cursor:pointer}
.mtc-controls .mtc-scope-note{margin-left:auto}

/* two-column: table + at-a-glance side card (mirrors SQT smart-table-layout) */
.mtc-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;align-items:start;margin-bottom:26px}
.mtc-table-shell{margin:0;min-width:0}
.mtc-shown-count{margin-left:10px;color:var(--muted);font-weight:600}
.mtc-table-shell .table-wrap{max-height:calc(100vh - 150px);overflow:auto}
/* table typography matches the app's base data tables (SQT/Operations) */
.mtc-table thead th{position:sticky;top:0;z-index:2;background:#fafaff;box-shadow:0 1px 0 #e7e7ef;text-align:left;padding:14px 17px;font:600 10px Manrope;letter-spacing:.6px;text-transform:uppercase;color:#817f8b}
.mtc-table th.num,.mtc-table td.num{text-align:center}
.mtc-table thead th:last-child,.mtc-table tbody td:last-child{text-align:center}
.mtc-table thead th.mtc-sort-th{cursor:pointer;user-select:none;transition:color .12s,background .12s}
.mtc-table thead th.mtc-sort-th:hover{color:#4a3fc7;background:#f3f1ff}
.mtc-table thead th.mtc-sort-th.active{color:#6b5bdf}
.mtc-table thead th .mtc-sort-label{display:inline-flex;align-items:center;gap:4px}
.mtc-table thead th.num .mtc-sort-label{justify-content:center}
.mtc-table thead th:last-child .mtc-sort-label{justify-content:center}
.mtc-table thead th .mtc-sort-arrow{font-size:8px;line-height:1;color:#6b5bdf;min-width:8px}
.mtc-table tbody td{height:48px;padding:0 15px;border-bottom:1px solid #f0f0f5;color:#3e3d49;font-size:12px;white-space:nowrap;vertical-align:middle;line-height:1.3}
.mtc-table tbody tr:hover{background:#faf9ff}
.mtc-table .mtc-branch{font-weight:700;color:#3e3d49}
.mtc-table .mtc-name strong{font-weight:700;color:#2c2b36}
.mtc-table .mtc-name-link{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:inherit}
.mtc-table .mtc-name-link strong{transition:color .12s}
.mtc-table .mtc-name-link:hover strong{color:#6b5bdf;text-decoration:underline}
.mtc-table .mtc-name-ext{font-size:10px;color:#b4b2c4;transition:color .12s}
.mtc-table .mtc-name-link:hover .mtc-name-ext{color:#6b5bdf}
.mtc-table th.mtc-detail-th{text-align:right;white-space:nowrap;color:#8b89a0;font-weight:700}
.mtc-table td.mtc-detail-cell{text-align:right;white-space:nowrap}
.mtc-detail-link{font:inherit;font-weight:700;font-size:12px;color:#6b5bdf;background:#f3f1ff;border:1px solid #e2ddff;border-radius:8px;padding:5px 10px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}
.mtc-detail-link:hover{background:#6b5bdf;border-color:#6b5bdf;color:#fff}
.mtc-detail-link:focus-visible{outline:2px solid #6b5bdf;outline-offset:2px}
.mtc-hrs{font-weight:800;font-variant-numeric:tabular-nums}
.mtc-hrs.ok{color:#3e3d49}
.mtc-hrs.low{color:#cc5547}
.mtc-hrs.over{color:#c06a12}
/* traffic-light pills: green=good, amber=watch, red=needs attention */
.mtc-pill{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:5px 10px;border-radius:9px;font-weight:800;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.2px}
.mtc-pill.green{background:#e5f5eb;color:#1f7a4d}
.mtc-pill.amber{background:#fff2df;color:#a5661a}
.mtc-pill.red{background:#fdeae6;color:#c23c28}
.mtc-txt-green{color:#1f7a4d!important}
.mtc-txt-amber{color:#a5661a!important}
.mtc-txt-red{color:#c23c28!important}
.mtc-last-today{font-weight:800;font-size:12px;color:#1f7a4d}
.mtc-table td.num .mtc-tag{margin-left:8px;vertical-align:middle;line-height:1;display:inline-block}
.mtc-last{display:flex;flex-direction:column;line-height:1.3;font-weight:700;color:#3e3d49}
.mtc-last small{font-weight:600;color:#9a97a3}
.mtc-last.warn small{color:#a86b18}
.mtc-last.bad small{color:#cc5547}
.mtc-last.none{color:#9a97a3;font-style:italic;font-weight:600}

/* at-a-glance side card — reuses .smart-glance tokens; only position + sticky offset here */
.mtc-glance{position:sticky;top:76px}
.mtc-glance>.eyebrow{color:#7161df;margin:0 0 6px;letter-spacing:1.8px}
.mtc-glance h3{font:700 19px Manrope;margin:0 0 16px}

/* pie / donut workload chart */
.mtc-pie-wrap{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:12px}
.mtc-pie{width:260px;height:260px;flex:0 0 auto}
.mtc-pie-total{text-anchor:middle;font:800 20px Manrope;fill:#2c2b36}
.mtc-pie-sub{text-anchor:middle;font:600 10px 'DM Sans';fill:#85828d}
.mtc-pie-legend{list-style:none;margin:0;padding:0;flex:1;min-width:260px;display:grid;grid-template-columns:1fr 1fr;gap:9px 22px}
.mtc-pie-legend li{display:flex;align-items:center;gap:8px;font-size:12px;color:#73707c}
.mtc-legend-dot{width:11px;height:11px;border-radius:3px;flex:0 0 auto}
.mtc-legend-label{font-weight:700;color:#3e3d49}
.mtc-pie-legend li>b{margin-left:6px}
.mtc-pie-legend b{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:#85828d}

@media(max-width:1080px){.mtc-main-grid{grid-template-columns:1fr}.mtc-glance{position:static}.mtc-pie-legend{grid-template-columns:1fr}}
@media(max-width:600px){.mtc-branch-search input,.mtc-name-search input{width:100%}.mtc-branch-search,.mtc-name-search{flex:1 1 100%}}
/* =================== END MTC PRODUCTIVITY =================== */

/* ===================== AUTH & ACCESS CONTROL ===================== */
/* Gerbang tampilan: situs tertutup untuk tamu. */
[hidden] { display: none !important; }
.auth-loading, .auth-screen { display: none; }
body[data-auth="pending"] .auth-loading { display: flex; align-items: center; justify-content: center; position: fixed; inset: 0; z-index: 1000; background: #0f1b1d; color: #e6f2f1; font-size: 15px; }
body[data-auth="pending"] .sidebar,
body[data-auth="pending"] main,
body[data-auth="pending"] .nav-toggle,
body[data-auth="pending"] .sidebar-backdrop,
body[data-auth="pending"] .view-dock,
body[data-auth="pending"] .academic-dock,
body[data-auth="out"] .sidebar,
body[data-auth="out"] main,
body[data-auth="out"] .nav-toggle,
body[data-auth="out"] .sidebar-backdrop,
body[data-auth="out"] .view-dock,
body[data-auth="out"] .academic-dock { display: none !important; }
body[data-auth="out"] .auth-screen { display: flex; }

.auth-screen { position: fixed; inset: 0; z-index: 1000; align-items: center; justify-content: center; padding: 24px; background: linear-gradient(160deg, #0f1b1d, #15454a); }
.auth-card { width: 100%; max-width: 380px; background: #ffffff; color: #15303a; border-radius: 16px; padding: 28px; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.auth-brand { font-weight: 700; margin-bottom: 18px; color: #15454a; }
.auth-brand small { font-weight: 500; opacity: .7; }
.auth-view { display: flex; flex-direction: column; gap: 12px; }
.auth-view h1 { font-size: 22px; margin: 0; }
.auth-lead { margin: 0 0 4px; font-size: 13px; color: #5a6b70; }
.field { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: #42565c; }
.field input, .field select { padding: 10px 12px; border: 1px solid #cfdcde; border-radius: 9px; font-size: 14px; background: #fff; color: #15303a; }
.field input:focus, .field select:focus { outline: 2px solid #1c7c84; border-color: #1c7c84; }
.btn-primary { padding: 11px 14px; background: #176b72; color: #fff; border: none; border-radius: 9px; font-size: 14px; font-weight: 600; cursor: pointer; }
.btn-primary:hover { background: #12565c; }
.btn-primary:disabled { opacity: .6; cursor: default; }
.btn-link { background: none; border: none; color: #176b72; cursor: pointer; font-size: 13px; padding: 4px; }
.auth-msg { min-height: 1.1em; margin: 0; font-size: 13px; color: #c0392b; }
.auth-msg.ok { color: #1e824c; }

/* Menu akun di sidebar */
.account { position: relative; margin-top: auto; padding: 12px; }
.account-btn { display: flex; align-items: center; gap: 10px; width: 100%; padding: 4px; border: none; background: none; color: #15303a; text-align: left; cursor: pointer; border-radius: 12px; }
.account-btn:hover { background: rgba(23,107,114,.08); }
.account-avatar { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; background: #176b72; color: #fff; font-weight: 700; display: grid; place-items: center; }
.account-summary { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.account-summary b { font-size: 13px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-summary small { font-size: 11px; color: #6b7b80; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-menu { position: absolute; bottom: calc(100% + 8px); left: 12px; z-index: 50; background: #fff; color: #15303a; border-radius: 12px; box-shadow: 0 16px 40px rgba(0,0,0,.25); padding: 12px; min-width: 220px; }
.account-name { font-weight: 700; margin: 0; }
.account-email { margin: 2px 0 8px; font-size: 12px; color: #6b7b80; word-break: break-all; }
.menu-item { display: block; width: 100%; text-align: left; background: none; border: none; padding: 9px 8px; border-radius: 8px; cursor: pointer; font-size: 14px; color: #15303a; }
.menu-item:hover { background: #eef5f5; }
.role-badge { display: inline-block; font-size: 11px; padding: 3px 9px; border-radius: 999px; background: #e3eff0; color: #15454a; margin-bottom: 8px; }
.role-badge[data-role="admin"] { background: #176b72; color: #fff; }

/* Dialog */
dialog.modal { border: none; border-radius: 16px; padding: 24px; max-width: 520px; width: 92%; color: #15303a; background: #fff; }
dialog.modal.modal-wide { max-width: 860px; }
dialog.modal::backdrop { background: rgba(0,0,0,.45); }
.modal-close { position: absolute; top: 14px; right: 16px; background: none; border: none; font-size: 22px; cursor: pointer; color: #6b7b80; }
.access-tabs { display: flex; gap: 6px; margin: 10px 0 16px; border-bottom: 1px solid #e3ebec; }
.access-tab { background: none; border: none; padding: 9px 14px; cursor: pointer; font-size: 14px; color: #6b7b80; border-bottom: 2px solid transparent; }
.access-tab.active { color: #176b72; border-bottom-color: #176b72; font-weight: 600; }
.access-footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }

/* Daftar orang */
.add-person-toggle { margin: 4px 0 12px; }
.add-person-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 14px; margin-bottom: 14px; border: 1px solid #e3ebec; border-radius: 12px; background: #f7fbfb; }
.add-person-form[hidden] { display: none; }
.add-person-form > .auth-lead, .add-person-form > .auth-msg, .add-person-form > .btn-primary { grid-column: 1 / -1; }
.add-person-pass { display: flex; gap: 8px; }
.add-person-pass input { flex: 1; min-width: 0; }
@media (max-width: 640px) { .add-person-form { grid-template-columns: 1fr; } }
.member-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; max-height: 52vh; overflow: auto; }
.member { display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid #e8eef0; border-radius: 11px; }
.member-avatar { width: 34px; height: 34px; border-radius: 50%; background: #e3eff0; color: #15454a; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.member-info { display: flex; flex-direction: column; }
.member-info b { font-size: 14px; }
.member-info span { font-size: 12px; color: #6b7b80; }
.member-tags { display: flex; flex-direction: column; gap: 5px; align-items: flex-end; }
.member-role { padding: 5px 8px; border-radius: 8px; border: 1px solid #cfdcde; font-size: 13px; }
.status-chip { font-size: 11px; padding: 2px 8px; border-radius: 999px; background: #eef5f5; color: #42565c; }
.status-chip[data-status="active"] { background: #e3f5ea; color: #1e824c; }
.status-chip[data-status="revoked"] { background: #fdecea; color: #c0392b; }
.member-actions { display: flex; flex-direction: column; gap: 5px; }
.btn-chip { font-size: 12px; padding: 5px 10px; border-radius: 8px; border: 1px solid #cfdcde; background: #fff; cursor: pointer; color: #15303a; }
.btn-chip:hover { background: #eef5f5; }
.btn-chip.danger { border-color: #e7b9b3; color: #c0392b; }
.member-empty { color: #6b7b80; padding: 16px; text-align: center; }

/* Dialog override per-orang */
.override-sub { font-size: 13px; color: #6b7b80; margin: 0 0 10px; max-width: 94%; }
.perm-list { display: flex; flex-direction: column; gap: 4px; max-height: 54vh; overflow: auto; }
.perm-row { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 9px; }
.perm-row:hover { background: #f4f8f8; }
.perm-row.overridden { background: #fff7e6; }
.perm-row small { font-size: 11px; color: #94a3a7; }

/* Grid default per role */
.roles-grid-wrap { overflow: auto; max-height: 56vh; }
.roles-table { border-collapse: collapse; width: 100%; font-size: 13px; }
.roles-table th, .roles-table td { border: 1px solid #e8eef0; padding: 7px 9px; text-align: center; }
.roles-table th:first-child, .roles-table td:first-child { text-align: left; position: sticky; left: 0; background: #fff; min-width: 190px; }
.roles-table thead th { position: sticky; top: 0; background: #f2f7f7; z-index: 2; }

/* Sidebar rapat: divisi pertama yang terlihat tanpa garis/jarak di atas */
.sidebar nav .nav-division.nav-first { border-top: 0; margin-top: 0; padding-top: 0; }

/* Access Control: dialog lebih besar, daftar orang mengisi tinggi yang tersedia */
dialog.modal#access-dialog { width: min(1180px, 94vw); max-width: none; height: min(88vh, 900px); padding: 28px 32px; }
dialog.modal#access-dialog[open] { display: flex; flex-direction: column; }
#access-dialog #access-people, #access-dialog #access-roles { flex: 1; min-height: 0; display: flex; flex-direction: column; }
#access-dialog #access-people[hidden], #access-dialog #access-roles[hidden] { display: none; }
#access-dialog .member-list { flex: 1; max-height: none; min-height: 0; padding-bottom: 80px; }
#access-dialog .member { padding: 14px 16px; }
#access-dialog #access-roles { overflow: auto; }
#access-dialog .add-person-toggle, #access-dialog .add-person-form { flex-shrink: 0; align-self: flex-start; }
#access-dialog .add-person-form { align-self: stretch; }
#access-dialog .roles-grid-wrap { max-height: none; }

/* Tambah / hapus role */
.add-role-form { display: flex; gap: 8px; margin: 4px 0 12px; flex-shrink: 0; }
.add-role-form input { flex: 1; max-width: 340px; padding: 10px 12px; border: 1px solid #cfdcde; border-radius: 9px; font-size: 14px; }
.add-role-form input:focus { outline: 2px solid #1c7c84; border-color: #1c7c84; }
.role-del { margin-left: 4px; width: 18px; height: 18px; line-height: 14px; border-radius: 50%; border: 1px solid #e7b9b3; background: #fff; color: #c0392b; font-size: 13px; cursor: pointer; padding: 0; vertical-align: middle; }
.role-del:hover { background: #fbeceb; }

/* Setelah login: tutup web sampai akses dihitung & halaman tujuan benar (tanpa kedip halaman terlarang) */
body[data-access="checking"] .auth-loading { display: flex; align-items: center; justify-content: center; position: fixed; inset: 0; z-index: 1000; background: #0f1b1d; color: #e6f2f1; font-size: 15px; }
body[data-access="checking"] .sidebar,
body[data-access="checking"] main,
body[data-access="checking"] .nav-toggle,
body[data-access="checking"] .sidebar-backdrop,
body[data-access="checking"] .view-dock,
body[data-access="checking"] .academic-dock { display: none !important; }

/* ==== Sidebar tertutup = rail ikon (layar lebar). Layar sempit tetap pakai drawer. ==== */
@media (min-width: 1130px) {
  html body.nav-hidden .sidebar {
    transform: none !important;
    pointer-events: auto !important;
    width: 76px !important;
    padding: 22px 10px 12px !important;
    overflow: visible !important;
    align-items: center;
    box-shadow: none !important;
  }
  html body.is-toggling .sidebar { transition: width .22s ease !important; }
  html body.is-toggling main { transition: margin-left .22s ease !important; }

  /* isi halaman bergeser mengikuti lebar rail */
  html body.nav-hidden main { margin-left: 76px !important; padding-left: 34px !important; }
  html body.nav-hidden .academic-dock,
  html body.nav-hidden .view-dock { left: 76px !important; width: calc(100% - 76px) !important; padding-left: 34px !important; }

  /* logo: hanya lambangnya */
  html body.nav-hidden .brand { justify-content: center; width: 100%; }
  html body.nav-hidden .brand > span:last-child { display: none !important; }

  /* menu: hanya ikon, tepat di tengah */
  html body.nav-hidden .sidebar nav { width: 100%; margin-top: 22px !important; padding: 0 0 12px !important; gap: 4px !important; scrollbar-width: none; display: flex !important; flex-direction: column; align-items: center; }
  html body.nav-hidden .sidebar nav::-webkit-scrollbar { display: none; }
  html body.nav-hidden .nav-link { font-size: 0 !important; gap: 0 !important; justify-content: center; align-items: center; width: 40px; height: 40px; padding: 0 !important; margin: 0 auto; }
  html body.nav-hidden .nav-link.nav-sub { display: none !important; }

  /* judul grup jadi tiga titik (digambar, bukan teks, supaya pas di tengah) */
  html body.nav-hidden .nav-division { width: 100%; justify-items: center; border-top: 0 !important; margin-top: 2px !important; padding: 4px 0 2px !important; gap: 4px; }
  html body.nav-hidden .nav-division > strong { display: flex !important; justify-content: center; align-items: center; width: 100%; height: 16px; margin: 0 !important; padding: 0 !important; font-size: 0 !important; }
  html body.nav-hidden .nav-division > strong::after { content: ""; display: block; width: 3px; height: 3px; border-radius: 50%; background: #b3b0bc; box-shadow: -7px 0 0 #b3b0bc, 7px 0 0 #b3b0bc; }

  /* akun: hanya avatar; menu muncul di sebelah kanan rail */
  html body.nav-hidden .account { padding: 8px 0 !important; width: 100%; }
  html body.nav-hidden .account-btn { width: auto; margin: 0 auto; padding: 2px; justify-content: center; }
  html body.nav-hidden .account-avatar { width: 34px; height: 34px; flex: 0 0 34px; font-size: 13px; }
  html body.nav-hidden .account-summary { display: none !important; }
  html body.nav-hidden .account-menu { left: calc(100% + 18px); bottom: 4px; }

  /* tombol buka/tutup menempel di tepi rail, di bawah logo */
  html body.nav-hidden .nav-toggle { left: 62px !important; top: 76px !important; }
}

/* Ikon menu: satu set ikon garis yang seragam (warna mengikuti teks / aksen saat aktif) */
.nav-link .nav-ico { display: grid; place-items: center; flex: 0 0 22px; width: 22px; height: 22px; font-size: 0; color: #77737f; }
.nav-link .nav-ico svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nav-link:hover .nav-ico { color: var(--accent-deep, #5142bf); }
.nav-link.active .nav-ico { color: var(--accent, #6b5bdf); }

/* Logo English Academy menggantikan lambang bintang */
.brand-mark.logo { width: auto !important; height: 44px !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; display: block; flex: 0 0 auto; }
.brand-mark.logo img { display: block; height: 100%; width: auto; }
.auth-brand .brand-mark.logo { height: 52px !important; margin-bottom: 8px; }
@media (min-width: 1130px) {
  html body.nav-hidden .brand-mark.logo { height: 40px !important; }
}

/* Halaman login: logo dan nama di tengah kartu */
.auth-brand { text-align: center; }
.auth-brand .brand-mark.logo { margin: 0 auto 8px; }

/* ==== Tema login mengikuti warna logo: coral #DC4651 -> plum #A94161 -> indigo #343483 ==== */
.auth-screen {
  background:
    radial-gradient(circle at 88% 8%, rgba(220, 70, 81, .42), transparent 46%),
    radial-gradient(circle at 8% 96%, rgba(52, 52, 131, .55), transparent 52%),
    linear-gradient(155deg, #11113a 0%, #1f1f5c 52%, #3a2260 100%);
}
body[data-auth="pending"] .auth-loading,
body[data-access="checking"] .auth-loading { background: #11113a; color: #e9e9fb; }

.auth-card { position: relative; overflow: hidden; box-shadow: 0 28px 70px rgba(10, 10, 40, .5); }
.auth-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, #343483, #a94161 60%, #dc4651); }
.auth-brand { color: #272768; }
.auth-card h1 { color: #272768; }
.auth-lead { color: #5d5f7a; }
.auth-card .field { color: #4a4d6b; }
.auth-card .field input, .auth-card .field select { border-color: #d7d8ea; color: #1d1f45; }
.auth-card .field input:focus, .auth-card .field select:focus { outline: 2px solid #343483; border-color: #343483; }
.auth-card .btn-primary { background: linear-gradient(110deg, #343483 0%, #7a3a78 55%, #dc4651 125%); box-shadow: 0 8px 20px rgba(52, 52, 131, .28); }
.auth-card .btn-primary:hover { background: linear-gradient(110deg, #2a2a6e 0%, #6a2f69 55%, #c93b47 125%); }
.auth-card .btn-link { color: #343483; }
.auth-card .btn-link:hover { color: #dc4651; }

/* Rail: titik pemisah grup digambar oleh kotak grup (margin auto = selalu di tengah) */
@media (min-width: 1130px) {
  html body.nav-hidden .nav-division > strong { display: none !important; }
  html body.nav-hidden .nav-division::before {
    content: ""; display: block; justify-self: center;
    width: 3px; height: 3px; margin: 6px auto 4px; border-radius: 50%;
    background: #b3b0bc; box-shadow: -7px 0 0 #b3b0bc, 7px 0 0 #b3b0bc;
  }
}

/* Tombol mata di kolom password */
.pw-wrap { position: relative; display: block; }
.pw-wrap input { width: 100%; padding-right: 44px; }
.pw-toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: none; border-radius: 8px; background: none; color: #77799a; cursor: pointer; }
.pw-toggle:hover { color: #343483; background: rgba(52, 52, 131, .08); }
.pw-toggle:focus-visible { outline: 2px solid #343483; }
.pw-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pw-toggle .eye-off { display: none; }
.pw-toggle[aria-pressed="true"] .eye-on { display: none; }
.pw-toggle[aria-pressed="true"] .eye-off { display: block; }

/* GMB: highlight the month picked in the month filter */
.events-table th.gmb-month-active { background: #fdebe6; color: #c9472d; }
.events-table td.gmb-month-active { background: #fff6f3; font-weight: 700; }
