/* Kalanso+: green foundations, yellow school identity, turquoise and navy. */
:root{--kalanso-yellow:#ffca08;--kalanso-yellow-soft:#fff8d9;--kalanso-teal:#008e99;--kalanso-navy:#0a2b4e;--navy:var(--kalanso-navy);--muted:#577080;--bg:#f3f8f8;--line:#dce8e9}
body{color:var(--kalanso-navy)}
.brand em{color:#816200}.brand strong{letter-spacing:-.35px}
.sidebar .nav-item.active{background:var(--kalanso-navy);border-left:4px solid var(--kalanso-yellow);box-shadow:0 5px 15px #082b4c15}
.sidebar .nav-item.active .icon{color:var(--kalanso-yellow);background:#ffffff12}
.nav-label{color:#5a727d}.sidebar-foot{color:#566c79}
.topbar:after{background:linear-gradient(90deg,#00854f 0 38%,#ffca08 38% 64%,#008e99 64% 85%,#0a2b4e 85%)!important}
.gs-editor{border-top:3px solid var(--kalanso-yellow)}
.gs-title-icon,.g9-mark{color:var(--kalanso-navy);background:var(--kalanso-yellow-soft);border:1px solid #f2dda0;border-radius:14px}
.gs-title-icon .icon{color:var(--kalanso-navy)}
.record-toolbar{border-left:3px solid var(--kalanso-teal)}
.gs-tabs button.active,.tabs.gs-tabs button.active{background:var(--kalanso-yellow-soft);color:var(--kalanso-navy);border-bottom:3px solid var(--kalanso-teal)}
.gs-tabs button.active .icon{color:var(--kalanso-teal)}
.gs-generic-grid>label{color:#183e54;font-weight:650;gap:9px}
.gs-generic-grid>label small{font-size:12px;font-weight:400;color:#536c79;line-height:1.6}
.gs-generic-grid input,.gs-generic-grid select,.gs-generic-grid textarea{font-weight:550;color:var(--kalanso-navy);border-color:#cbdedf;min-height:46px}
input:focus,textarea:focus,select:focus{outline:2px solid #008e9980!important;outline-offset:2px;border-color:#008e99!important;box-shadow:none!important}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #008e99;outline-offset:3px}
input[readonly]{background:#fff9e5;border-color:#ebdda8;color:#435969}
input:disabled,select:disabled{opacity:1;background:#f1f4f4;color:#546a75;cursor:not-allowed}
.gs-generic-grid [hidden]{display:none!important}
.gs-save-state{border-left-color:var(--kalanso-teal)}
.g9-context{display:flex;align-items:center;gap:18px;padding:22px 24px;margin:0 0 22px;border:1px solid #cfe5e3;border-left:4px solid var(--kalanso-teal);border-radius:14px;background:linear-gradient(115deg,#f0f9f6 0,#ffffff 62%,#fffae6 100%)}
.g9-context>div{flex:1;min-width:0}.g9-context b,.g9-context small{display:block}.g9-context b{font-size:17px}.g9-context small{color:#536c79;margin-top:5px}.g9-context .eyebrow{color:#6c5600;font-size:10px;letter-spacing:1.7px}
.g9-context p{margin:6px 0 0;color:#456574}.g9-mark{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0}
.g9-context.full,.g9-advanced{grid-column:1/-1}
.g9-advanced{border:1px solid #e9e0ba;border-radius:10px;background:#fffdf5;padding:14px 18px}.g9-advanced summary{color:#64511c;font-weight:650;cursor:pointer}.g9-advanced label{display:grid;gap:8px;max-width:360px;margin:15px 0 8px}.g9-advanced small{color:#5e6c73}
.g9-calculation{display:flex;gap:18px;align-items:center;border:1px solid #eed992;background:var(--kalanso-yellow-soft);padding:22px 26px;border-radius:14px;margin:20px 0}
.g9-calculation b,.g9-calculation small{display:block}.g9-calculation b{font-size:26px;margin:5px 0}.g9-calculation small{color:#6c5600;font-size:11px;letter-spacing:1px}.g9-calculation p{color:#465f6c;margin:0}
.g9-grade-actions{justify-content:flex-end}.page-header:has(.g9-grade-actions){flex-wrap:wrap}.g9-grade-actions button{white-space:normal}
.g6-class-chips button.selected{background:var(--kalanso-yellow-soft);border-color:#ddbb51;color:var(--kalanso-navy);box-shadow:inset 0 -3px 0 #008e99}.g6-class-chips button.selected small{color:#596451}
.g6-coefficient{background:var(--kalanso-yellow-soft);color:#674e00}
.gp-dialog-accent{background:linear-gradient(90deg,#00854f 0 25%,#ffca08 25% 58%,#008e99 58% 82%,#0a2b4e 82%)}
.gp-dialog-icon{background:var(--kalanso-yellow-soft);color:var(--kalanso-navy)}
.auth .brand-line{color:#ffdb55}.auth-intro:after{background:var(--kalanso-yellow)}
@media(max-width:700px){.g9-context{padding:17px;gap:12px;flex-wrap:wrap}.g9-context>div{flex-basis:70%}.g9-context>button{width:100%}.g9-context h1{font-size:23px}.g9-calculation{padding:17px}.g9-calculation b{font-size:23px}.record-toolbar .record-actions{flex-wrap:wrap}.g9-grade-actions{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.g9-grade-actions{display:none}.g9-context,.g9-calculation{break-inside:avoid;background:#fff}}
