/* Web4 / Sugu Kalanso+ — green foundation, Sugu yellow, turquoise and navy. */
body.kalanso-web4{--kw4-green:#006a50;--kw4-deep:#123e36;--kw4-yellow:#f8c713;--kw4-teal:#178b8b;--kw4-navy:#192a48;--kw4-paper:#f7f8f3;--bg:var(--kw4-paper);--line:#dce5dd;--green:var(--kw4-green);--muted:#62776d;background:var(--kw4-paper);color:var(--kw4-navy);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.kalanso-web4 .shell{background:var(--kw4-paper)}
.kalanso-web4 .sidebar{width:254px;background:var(--kw4-deep);border:0;padding:20px 12px 0;color:#f5faf5;box-shadow:none}
.kalanso-web4 .sidebar .brand{padding:9px 9px 23px;gap:12px;border-bottom:1px solid #ffffff1f;margin:0 4px 18px}
.kalanso-web4 .sidebar .brand img{width:43px;height:43px;object-fit:contain;flex-shrink:0}.kalanso-web4 .sidebar .brand strong{color:#fff;font-size:19px;white-space:nowrap}.kalanso-web4 .sidebar .brand em{color:var(--kw4-yellow)}.kalanso-web4 .sidebar .brand small{color:#c0d5cc;font-size:8px;letter-spacing:1.1px;margin-top:7px}
.kalanso-web4 .sidebar nav{padding:0 0 18px}.kalanso-web4 .sidebar .nav-label{color:#b4cabf;font-size:9px;letter-spacing:1.9px;padding:18px 14px 9px}
.kalanso-web4 .sidebar .nav-item{color:#e5efe8;padding:12px 13px;margin:3px 0;border:1px solid transparent;border-radius:10px;font-size:13px;line-height:1.45;gap:11px;min-height:43px}.kalanso-web4 .sidebar .nav-item .icon{background:#ffffff0a;color:#afccc0;border-radius:7px;width:28px;height:28px;padding:5px;flex-shrink:0}.kalanso-web4 .sidebar .nav-item:hover{background:#ffffff0a;color:#fff}
.kalanso-web4 .sidebar .nav-item.active{background:#f1f6ed;color:#123e36;border:1px solid #ecf3e9;border-left:4px solid var(--kw4-yellow);box-shadow:none;font-weight:700;padding-left:10px}.kalanso-web4 .sidebar .nav-item.active .icon{background:#dcebdd;color:var(--kw4-green)}
.kalanso-web4 .sidebar-foot{margin-top:auto;background:#103930;color:#c0d5cb;padding:19px 16px;border-top:1px solid #ffffff18;font-size:11px;line-height:1.65}.kw4-server-state{display:flex;align-items:center;gap:7px;color:#c5dfd1;font-size:10px}.kw4-server-state span{width:6px;height:6px;border-radius:50%;background:#81c6a1}.kw4-footer-brand{display:block;margin-top:8px;font-size:12px;color:#f7faf5}.kw4-release{font-variant-numeric:tabular-nums;color:#f8d764;font-size:10px;letter-spacing:.6px}.sidebar-foot>small{display:block;margin-top:7px;color:#b9d0c4;font-size:9px}
.kalanso-web4 .workspace{margin-left:254px}.kalanso-web4 .topbar{background:#ffffffeb;border:1px solid #dce5dd;border-radius:14px;box-shadow:0 5px 24px #24483006;margin:20px 24px 0;padding:16px 20px;min-height:78px}.kalanso-web4 .topbar:after{left:18px;right:18px;bottom:-1px;height:3px;background:linear-gradient(90deg,#006a50 0 45%,#f8c713 45% 70%,#178b8b 70% 88%,#192a48 88%)!important;border-radius:4px}.kalanso-web4 .topbar select{border-color:#dce5dd;background:#f9fbf7;border-radius:8px;font-weight:550}.kalanso-web4 .topbar .avatar{background:#123e36;color:#fff}.kalanso-web4 .topbar .pill{background:#eef5eb;border-color:#d8e7d6;color:#006a50}
.kalanso-web4 .workspace main{padding:20px 24px 36px}.kalanso-web4 .breadcrumb{border-color:#dce5dd;background:transparent;box-shadow:none;border-radius:10px;color:#59746b}
.kalanso-web4 .page-header{padding:4px 0 14px;margin:12px 0 18px}.kalanso-web4 .page-header h1{color:#163c35;font-size:29px;font-weight:720;letter-spacing:-1.1px;line-height:1.2}.kalanso-web4 .page-header .subtitle{font-size:13px;color:#61776e;line-height:1.65}
.kalanso-web4 .panel,.kalanso-web4 .kpi,.kalanso-web4 .gs-editor{border-color:#dce5dd;border-radius:16px;box-shadow:0 7px 30px #193f2804;background:#fff}.kalanso-web4 .panel-head{padding:20px 22px;border-bottom:1px solid #edf0e9}.kalanso-web4 .panel-head h2{color:#174a3c;font-size:16px}.kalanso-web4 .panel-head h2 .icon{color:#006a50}
.kalanso-web4 .kpi{padding:22px}.kalanso-web4 .kpi-head{color:#60766c;font-size:12px}.kalanso-web4 .kpi strong{font-size:29px;color:#123e36;letter-spacing:-.8px}.kalanso-web4 .kpi-head .icon{color:#006a50;background:#ecf3e9;border-radius:9px;padding:6px;width:33px;height:33px}
.kalanso-web4 button{border-color:#d4dfd7;border-radius:9px;box-shadow:none;font-size:13px;font-weight:650;min-height:40px}.kalanso-web4 button.primary{background:#006a50;border-color:#006a50;color:white;box-shadow:0 4px 12px #006a5010}.kalanso-web4 button.primary:hover{background:#055440;border-color:#055440}.kalanso-web4 button:not(.primary):not(.ghost):hover{background:#f0f5ed}.kalanso-web4 button:disabled{cursor:wait;opacity:.62}.kalanso-web4 input,.kalanso-web4 select,.kalanso-web4 textarea{border-radius:8px;border-color:#d0ddd3;color:#183c36;background:white}.kalanso-web4 input:focus,.kalanso-web4 textarea:focus,.kalanso-web4 select:focus{outline:2px solid #178b8b90!important;border-color:#178b8b!important}
.kalanso-web4 .table-wrap thead{background:#f4f7f0}.kalanso-web4 th{background:#f4f7f0;color:#5c7467;font-size:10px;letter-spacing:.75px;border-color:#e0e8de}.kalanso-web4 td{border-color:#edf0e9}.kalanso-web4 tbody tr:hover td{background:#fafcf7}.kalanso-web4 .g6-class-chips button{background:#f8faf5;border-color:#e0e8db;min-width:145px}.kalanso-web4 .g6-class-chips button.selected{background:#fff8d8;border-color:#e1c76a;box-shadow:inset 0 -3px 0 #178b8b}.kalanso-web4 .g6-class-card,.kalanso-web4 .class-card{border-color:#dce5dd;border-radius:16px;box-shadow:none}.kalanso-web4 .g6-class-card h2,.kalanso-web4 .class-card h2{color:#123e36}.kalanso-web4 .g9-context{background:#f0f6ea;border-color:#d9e4d0;border-left:4px solid #178b8b}.kalanso-web4 .gs-tabs button.active,.kalanso-web4 .tabs.gs-tabs button.active{background:#edf4e6;color:#163c35;border-bottom-color:#006a50}.kalanso-web4 .gs-editor{border-top:3px solid #f8c713}.kalanso-web4 .record-toolbar{background:#fbfcf8;border-color:#dce5dd;border-left:3px solid #178b8b}
/* Sign-in follows the airy public site, with the original logo kept intact. */
.kalanso-web4 .kw4-auth{display:block;min-height:100vh;background:#f7f8f3;padding:0 36px;max-width:none}.kw4-login-header{height:100px;max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce5db}.kw4-wordmark{display:flex;gap:12px;align-items:center;color:#192a48;font-size:22px;font-weight:750;text-decoration:none!important}.kw4-wordmark img{width:47px;height:47px;object-fit:contain}.kw4-wordmark b{color:#7a6100}.kw4-wordmark small{display:block;font-size:8px;font-weight:600;letter-spacing:1.7px;color:#587067;margin-top:5px}.kw4-private-label{font-size:12px;color:#597669;display:flex;align-items:center;gap:7px}.kw4-private-label .icon{width:17px;height:17px;color:#006a50}
.kw4-login-card{max-width:1240px;margin:36px auto 32px;display:grid;grid-template-columns:1.1fr 1fr;background:#fff;border:1px solid #dce5db;border-radius:23px;overflow:hidden;box-shadow:0 18px 60px #23432808}.kalanso-web4 .kw4-auth .auth-story{padding:62px 54px;background:#edf3e6;position:relative;display:flex;flex-direction:column;justify-content:center;min-height:660px;color:#173d35}.kw4-overline{font-size:10px;letter-spacing:1.7px;font-weight:750;color:#006a50;display:block}.kalanso-web4 .kw4-auth .auth-story h1{font-size:clamp(34px,3.3vw,48px);line-height:1.13;letter-spacing:-1.8px;font-weight:740;color:#173d35;margin:25px 0 24px}.kw4-auth .auth-story h1 em{font-style:normal;color:#006a50}.kalanso-web4 .kw4-auth .auth-story>p{font-size:15px;line-height:1.85;color:#526d5f;max-width:405px;margin:0}.kw4-login-features{margin:35px 0 40px;display:grid;gap:15px;font-size:13px;color:#2a5544}.kw4-login-features>div{display:flex;align-items:center;gap:12px}.kw4-login-features .icon{background:#fffef7;border:1px solid #dbe5d1;width:33px;height:33px;padding:8px;color:#006a50;border-radius:9px}.kw4-story-footer{font-size:11px;display:flex;gap:8px;align-items:center;color:#51715f;flex-wrap:wrap}.kw4-logo-dot{height:10px;width:10px;background:#f8c713;border-radius:3px;display:inline-block}
.kalanso-web4 .kw4-auth .auth-form{padding:32px 52px 36px;background:white;display:flex;justify-content:center;align-items:center}.kalanso-web4 .kw4-auth .auth-form form{width:100%;max-width:395px}.kw4-auth-brand{margin-bottom:12px}.kalanso-web4 .kw4-auth .auth-logo{height:120px;width:120px;object-fit:contain;margin:0;display:block}.kalanso-web4 .kw4-auth .auth-form h2{font-size:27px;letter-spacing:-.9px;color:#192a48;line-height:1.22;margin:12px 0 9px}.kalanso-web4 .kw4-auth .subtitle{font-size:13px;color:#657970;margin-bottom:16px}.kw4-school-host{display:flex;gap:7px;align-items:center;background:#f4f8ef;border:1px solid #e2eadb;border-radius:7px;padding:8px 10px;font-size:10px;color:#54705f;margin:0 0 20px;overflow-wrap:anywhere}.kw4-school-host .icon{width:14px;height:14px;flex-shrink:0}.kalanso-web4 .kw4-auth label{font-size:12px;font-weight:650;color:#345348;margin:17px 0 0;display:block}.kalanso-web4 .kw4-auth input{height:47px;font-size:14px;margin-top:8px;padding:11px 13px;min-width:0;width:100%;background:#fff;border:1px solid #cbd9ce;color:#192a48}.kw4-auth input::placeholder{color:#7c8d83;font-weight:400}.kw4-password{position:relative}.kalanso-web4 .kw4-auth .kw4-password input{padding-right:86px}.kalanso-web4 .kw4-auth .kw4-show-password{position:absolute;right:4px;top:12px;min-height:37px;padding:6px 10px;border:0;background:transparent;color:#006a50;font-size:11px;box-shadow:none;border-radius:6px}.kw4-caps-lock{color:#765900;margin-top:9px;font-size:11px}.kw4-caps-lock[hidden]{display:none!important}.kalanso-web4 .kw4-auth .kw4-submit{width:100%;min-height:48px;margin-top:15px;display:flex;align-items:center;justify-content:space-between;padding:13px 18px}.kalanso-web4 .kw4-auth .form-error{margin-top:12px;line-height:1.6;color:#a22b35;font-size:12px}.kalanso-web4 .kw4-auth .form-error:empty{display:none}.kw4-login-help{font-size:11px!important;line-height:1.65!important;color:#6d7c73!important;margin:18px 0 0!important}.kalanso-web4 .kw4-auth .foot{border-top:1px solid #e7ece2;margin-top:18px;padding-top:13px;font-size:10px;color:#627b6c;letter-spacing:.2px}
.kalanso-web4 .kw4-auth .g7-products{max-width:1240px;margin:auto;padding:20px 0 32px;border:0;background:transparent;min-height:0}.kalanso-web4 .g7-products-heading h2{font-size:15px;color:#214d3c}.kalanso-web4 .g7-eyebrow{color:#006a50;letter-spacing:1.8px;font-size:9px}.kalanso-web4 .g7-product-logos{gap:20px}.kalanso-web4 .g7-product-logos figure{max-width:115px}.kalanso-web4 .g7-product-logos img{height:64px;width:64px;object-fit:contain}.kalanso-web4 .g7-product-logos figcaption{font-size:9px;color:#60756a}.kalanso-web4 .g7-products-heading p{font-size:10px;color:#637d6c}
@media(min-width:1500px){.kalanso-web4 .workspace main{padding-left:34px;padding-right:34px}.kalanso-web4 .topbar{margin-left:34px;margin-right:34px}}
@media(max-width:1100px){.kw4-login-card{grid-template-columns:1fr 1fr}.kalanso-web4 .kw4-auth .auth-story{padding:42px 34px}.kalanso-web4 .kw4-auth .auth-form{padding:32px}.kalanso-web4 .topbar{padding:14px}.kalanso-web4 .topbar .scope{gap:8px}}
@media(max-width:900px){.kalanso-web4 .sidebar{width:226px}.kalanso-web4 .workspace{margin-left:226px}.kalanso-web4 .sidebar .brand strong{font-size:17px}.kalanso-web4 .sidebar .nav-item{font-size:12px}.kalanso-web4 .workspace main{padding:18px}.kalanso-web4 .topbar{margin:16px 18px 0}.kalanso-web4 .kw4-auth{padding:0 22px}.kw4-private-label{font-size:10px}.kalanso-web4 .kw4-auth .auth-story h1{font-size:35px}.kw4-login-card{margin-top:24px}}
@media(max-width:760px){.kalanso-web4 .kw4-auth .auth-story{display:none}.kw4-login-card{display:block;max-width:520px;margin:24px auto}.kalanso-web4 .kw4-auth .auth-form{padding:28px}.kw4-login-header{height:82px}.kw4-private-label{display:none}.kw4-wordmark{font-size:20px}.kalanso-web4 .kw4-auth .g7-products{max-width:520px;padding-top:5px;gap:20px;display:flex;flex-direction:column;align-items:flex-start}.kalanso-web4 .kw4-auth .g7-product-logos{width:100%;justify-content:space-between}.kalanso-web4 .kw4-auth .auth-logo{width:105px;height:105px}.kalanso-web4 .kw4-auth .auth-form h2{font-size:26px}}
@media(max-width:700px){.kalanso-web4 .sidebar{width:254px}.kalanso-web4 .workspace{margin-left:0}.kalanso-web4 .workspace main{padding:15px 12px}.kalanso-web4 .topbar{margin:10px 12px 0;padding:12px 10px}.kalanso-web4 .page-header h1{font-size:25px}.kalanso-web4 .page-header{flex-wrap:wrap;gap:16px}.kalanso-web4 .topbar .scope select{max-width:140px}.kalanso-web4 .topbar .user{gap:8px}.kalanso-web4 .topbar .user>span:not(.avatar):not(.pill){max-width:120px}.kalanso-web4 .panel-head{padding:17px}.kalanso-web4 .kw4-auth{padding:0 16px}}
@media(prefers-reduced-motion:reduce){.kalanso-web4 *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.kalanso-web4 .sidebar,.kalanso-web4 .topbar,.kw4-server-state{display:none!important}.kalanso-web4 .workspace{margin:0!important}.kalanso-web4 .workspace main{padding:0}.kalanso-web4 .panel{box-shadow:none;border-color:#ccc}}

/* Keep the original grid/off-canvas layout: never add a second sidebar offset. */
.kalanso-web4 .shell{grid-template-columns:254px minmax(0,1fr)}
.kalanso-web4 .workspace{margin-left:0}
.kalanso-web4 .sidebar .nav-label{margin:16px 12px 8px;padding:0}
.kalanso-web4 .sidebar-foot .kw4-footer-brand{color:#f7faf5}
.kalanso-web4 .kw4-auth .kw4-show-password{width:auto;margin:0;display:inline-block}
@media(max-width:920px){.kalanso-web4 .shell{grid-template-columns:1fr}.kalanso-web4 .sidebar{width:254px}.kalanso-web4 .workspace{margin-left:0}}
@media print{.kalanso-web4 .shell{display:block}}

/* Off-canvas controls stay reachable while the original topbar toggle is covered. */
.kalanso-web4 .kw4-menu-close,.kalanso-web4 .kw4-menu-backdrop{display:none}
@media(max-width:920px){
 .kalanso-web4 .kw4-menu-close{display:block;flex-shrink:0;align-self:flex-end;background:transparent;border-color:#ffffff40;color:#edf6ee;font-size:11px;padding:7px 10px;margin:0 5px 10px;min-height:36px}
 .kalanso-web4 .kw4-menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:49;margin:0;border:0;border-radius:0;background:#102d2870;padding:0}
}
@media print{.kalanso-web4 .kw4-menu-close,.kalanso-web4 .kw4-menu-backdrop{display:none!important}}
/* Match the original tablet breakpoint and override the older mobile white drawer. */
@media(max-width:920px){
 .kalanso-web4.gs-p03 .sidebar{display:none;position:fixed;inset:0 auto 0 0;width:254px;max-width:86vw;z-index:60;background:var(--kw4-deep)}
 .kalanso-web4.gs-p03 .sidebar.open{display:flex;background:var(--kw4-deep);width:254px}
}
