:root{--blue:#149b70;--navy:#165b45;--sky:#e8f7ef;--green:#12845f;--line:#e3eee7;--muted:#6e8177;--shadow:0 14px 38px #174d3510}
body{background:radial-gradient(ellipse at 92% -14%,#e3f6eb 0,transparent 37%),linear-gradient(180deg,#f7faf8 0,#f2f6f3 100%)}
.topbar{background:#ffffffed;border-color:#e5eee8;box-shadow:0 5px 20px #174d3508;backdrop-filter:blur(14px)}
.brand{color:#174b39;letter-spacing:-.15px}
.brand-mark{background:#fff;border:1px solid #dcebe1;box-shadow:0 4px 12px #17694b15;color:var(--navy)}
.brand-mark .logo-image{display:block;width:100%;height:100%;object-fit:contain;transform:none;padding:3px;background:#fff;border-radius:inherit}
.brand-mark.small .logo-image{padding:2px}
.avatar{background:linear-gradient(145deg,#e7f6ed,#d6f0e1);color:#13734f}
.side-nav{border-color:#e3eee7;box-shadow:0 10px 28px #174d3509}
.nav-item{transition:background .16s ease,color .16s ease,transform .16s ease}
.nav-item:hover{background:#f0f8f3;color:#16754f;transform:translateX(-2px)}
.nav-item.selected{background:linear-gradient(100deg,#e4f5eb,#f0faf4);color:#11754f;box-shadow:inset -3px 0 #169b73}
.panel,.metric{border-color:#e1ece5;box-shadow:0 12px 32px #174d3509}
.panel{background:#fff}
.metric{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#fbfefc 100%);transition:transform .16s ease,box-shadow .16s ease}
.metric:hover{transform:translateY(-2px);box-shadow:0 16px 36px #174d3512}
.metric strong{color:#165b45}
.panel-heading{border-color:#e7efe9}
.button.primary{background:linear-gradient(135deg,#19a678,#13855f);box-shadow:0 7px 17px #169b7328;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.button.primary:hover{background:linear-gradient(135deg,#138b63,#0f7554);box-shadow:0 9px 20px #169b7333;transform:translateY(-1px)}
.button.quiet{border:1px solid #e1ebe4;background:#f6faf7;color:#456456}
.button.quiet:hover{background:#eaf6ee;color:#176747}
.table-action{border-radius:7px;transition:background .15s ease,color .15s ease}
.table-action:not(.reset-action):hover{background:#edf8f1;color:#11754f}
.status{background:#e5f6ec;color:#14764f}
.env-badge{background:#eff8e9;color:#5b791e}
.record-row{border-color:#e8efe9}
.record-row:hover{background:#fbfefc}
.create-form{background:#f9fcfa;border-color:#e4eee7}
.classroom-launcher,.live-class-panel{border-color:#dfece4;box-shadow:0 18px 44px #174d3510}
.grade-launch-tile.selected,.subject-launch-tile.selected{border-color:#48ac7c;background:linear-gradient(145deg,#e9f8ef,#f6fcf8);box-shadow:0 0 0 3px #169b7312}
.live-indicator{background:#e6f6ec;color:#13754f}
.classroom-schedule-preview{box-shadow:inset 3px 0 #189b70}
.auth-shell{background:radial-gradient(ellipse at 10% 10%,#dff4e7 0,transparent 34%),linear-gradient(145deg,#f4faf6,#eef5f0)}
.auth-card{border-color:#dfebe3;box-shadow:0 20px 55px #174d3515}
.auth-card input:focus,.create-form input:focus{border-color:#62bc8e;box-shadow:0 0 0 3px #169b7318}
.table-action.reset-action{color:#b83232}
@media(max-width:760px){
  .nav-item:hover{transform:none}
  .nav-item.selected{box-shadow:inset 0 -3px #169b73}
}
