.ks-root { --ks-text:#1b2a31; --ks-muted:#5e717a; --ks-accent:#164a65; --ks-border:#d4dee4; --ks-surface:#f7f9fa; width:100%; max-width:1180px; margin:22px auto; font:inherit; color:var(--ks-text); }
.ks-root *, .ks-root *:before, .ks-root *:after { box-sizing:border-box; }
.ks-head { padding:22px 0 25px; border-bottom:1px solid var(--ks-border); }
.ks-kicker { font-size:.72rem; letter-spacing:.14em; color:var(--ks-accent); font-weight:800; }
.ks-head h2 {font-size:clamp(1.6rem,3vw,2.25rem); line-height:1.16; margin:8px 0 10px;}
.ks-head p { color:var(--ks-muted); font-size:.96rem; line-height:1.55; max-width:790px; margin:0; }
.ks-head .ks-membership { margin-top:10px; }
.ks-head .ks-membership a { color:var(--ks-accent); text-decoration:underline; text-underline-offset:2px; }
.ks-main {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:26px; padding:25px 0 16px;align-items:start;}
.ks-section-head,.ks-school-top,.ks-subject-heading,.ks-school-type {display:flex;justify-content:space-between;gap:12px;align-items:center;}
.ks-section-head {margin-bottom:15px;}.ks-section-head h3,.ks-results h3{font-size:1.2rem;margin:0;}
.ks-btn,.ks-link,.ks-icon-btn {cursor:pointer; font:inherit;}
.ks-btn {border-radius:8px; border:1px solid var(--ks-border);padding:10px 15px;font-weight:650;font-size:.86rem;}
.ks-btn-light {background:#fff;color:var(--ks-accent);}.ks-btn-primary {background:var(--ks-accent);border-color:var(--ks-accent);color:#fff;}
.ks-btn:hover,.ks-link:hover{filter:brightness(.94);}.ks-btn:focus-visible,.ks-link:focus-visible,.ks-icon-btn:focus-visible,.ks-field input:focus-visible,.ks-field select:focus-visible{outline:3px solid #85bde3;outline-offset:2px;}
.ks-school {border:1px solid var(--ks-border);border-radius:12px;background:#fff;padding:19px;margin-bottom:16px;}
.ks-school-count {font-size:.73rem;letter-spacing:.12em;font-weight:800;color:var(--ks-accent);}
.ks-link {border:0;background:transparent;color:var(--ks-accent);font-size:.84rem;font-weight:700;padding:6px 0;}
.ks-school-type {margin:12px 0 19px;}.ks-school-type>.ks-field {flex:1;min-width:0;}
.ks-field {display:flex;flex-direction:column;gap:6px;min-width:0;}
.ks-field label,.ks-field>span {color:var(--ks-muted);font-size:.76rem;font-weight:650;}
.ks-field input,.ks-field select {font:inherit;font-size:.87rem;border:1px solid #c6d3db;background:#fff;color:var(--ks-text);height:40px;border-radius:6px;width:100%;min-width:0;padding:8px 10px;box-shadow:none;}
.ks-subject-heading {margin-bottom:7px;border-top:1px solid var(--ks-border);padding-top:13px;}
.ks-subject-heading strong {font-size:.91rem;}.ks-subject-heading span{font-size:.72rem;color:var(--ks-muted);}
.ks-assignment {display:flex;gap:8px;align-items:end;margin:8px 0;}
.ks-assignment .ks-field {flex:2;}.ks-assignment .ks-field-program{flex:1.6;}.ks-assignment .ks-field-hours{flex:.87;min-width:78px;}.ks-assignment .ks-field-norm{flex:.8;min-width:65px;}
.ks-icon-btn {width:30px;height:40px;border:none;background:transparent;color:#a34242;font-size:1.5rem;}
.ks-add-subject {margin:10px 0 5px;}.ks-options{display:flex;flex-direction:column;gap:12px;background:var(--ks-surface);border-radius:8px;padding:14px;margin-top:14px;}
.ks-tick {display:flex;gap:9px;align-items:flex-start;line-height:1.4;font-size:.83rem;cursor:pointer;}.ks-tick input{height:17px;width:17px;margin-top:2px;accent-color:var(--ks-accent);flex-shrink:0;}
.ks-extra {max-width:100%;}.ks-extra input{max-width:105px;}
.ks-footnote{font-size:.78rem;line-height:1.5;color:var(--ks-muted);}
.ks-results {position:sticky;top:22px;}.ks-results-inner{background:var(--ks-surface);border:1px solid var(--ks-border);padding:21px;border-radius:12px;}
.ks-results h3{margin-bottom:16px;}.ks-big-number{font-size:clamp(2rem,4vw,3.1rem);font-weight:850;letter-spacing:-.05em;line-height:1.1;color:var(--ks-accent);font-variant-numeric:tabular-nums;}.ks-big-number span{font-size:.83rem;letter-spacing:0;font-weight:500;color:var(--ks-muted);}
.ks-equivalent{margin:9px 0 12px;color:var(--ks-muted);font-size:.86rem;}.ks-meter{height:10px;background:#dce6eb;border-radius:50px;overflow:hidden;}.ks-meter span{display:block;background:var(--ks-accent);height:100%;border-radius:50px;}
.ks-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0 4px;}.ks-kpis>div{background:#fff;border-radius:7px;border:1px solid var(--ks-border);padding:10px;}.ks-kpis small{display:block;color:var(--ks-muted);font-size:.69rem;}.ks-kpis b{font-size:1.13rem;}
.ks-break-item {padding:13px 0 10px;border-top:1px solid var(--ks-border);}.ks-break-item h4{font-size:.94rem;margin:0 0 10px;}.ks-break-item h4 span{color:var(--ks-muted);font-weight:500;font-size:.72rem;}
.ks-break-item dl{margin:0;}.ks-break-item dl div{display:flex;justify-content:space-between;gap:15px;margin:6px 0;font-size:.77rem;}.ks-break-item dt{color:var(--ks-muted);}.ks-break-item dd{margin:0;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.ks-warning {border-top:1px solid var(--ks-border);padding-top:12px;color:#704b17;font-size:.77rem;line-height:1.46;}.ks-warning ul{padding-left:20px;margin:8px 0;}.ks-warning li{margin-bottom:6px;}.ks-info{font-size:.77rem;color:var(--ks-muted);}
.ks-actions{display:flex;gap:9px;flex-wrap:wrap;padding-top:13px;border-top:1px solid var(--ks-border);}.ks-actions .ks-btn{font-size:.75rem;}
.ks-details{border-top:1px solid var(--ks-border);padding:17px 0;color:var(--ks-muted);font-size:.83rem;line-height:1.65;}.ks-details summary{color:var(--ks-accent);cursor:pointer;font-weight:750;}.ks-details a{color:var(--ks-accent);}
@media(max-width:850px){.ks-main{grid-template-columns:1fr;}.ks-results{position:static;}.ks-results-inner{padding:18px;}}
@media(max-width:560px){.ks-school{padding:13px;}.ks-school-type{flex-direction:column;align-items:stretch;}.ks-assignment{display:grid;grid-template-columns:1fr 1fr 30px;}.ks-assignment .ks-field-subject{grid-column:1/-1;}.ks-assignment .ks-field-program{grid-column:1/-1;}.ks-assignment .ks-icon-btn{grid-column:3;grid-row:3;}.ks-section-head{align-items:flex-start;}.ks-head{padding-top:8px;}.ks-main{gap:12px;}}
@media print{.ks-root .ks-editor,.ks-root .ks-actions,.ks-root .ks-details,.ks-root .ks-head p,.ks-root .ks-section-head{display:none!important;}.ks-root .ks-main{display:block;}.ks-root .ks-results-inner{border:0;background:#fff;padding:0;}.ks-root .ks-head{padding:0 0 14px;}}
