.grades-page,.grade-detail{min-width:0}
.grade-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:22px;margin-bottom:22px}
.grade-total{background:#edf6f1;border-color:#cde4d9}
.grade-total-value{font-size:calc(53px + var(--font-increase));font-weight:600;letter-spacing:-1.8px;line-height:1.1;margin:20px 0 16px;color:#237c6b}
.grade-total-value small{font-size:calc(15px + var(--font-increase));letter-spacing:0;font-weight:400;color:#729486;margin-left:10px}
.grade-total p,.grade-ranking>p{font-size:calc(12px + var(--font-increase));line-height:1.8;margin:0 0 16px}
.grade-counts{display:flex;gap:8px;flex-wrap:wrap}
.grade-ranking .card-head h2{margin:8px 0 0}
.grade-rank-value{font-size:calc(30px + var(--font-increase));font-weight:600;line-height:1.6;margin:16px 0 12px}
.grade-rank-value .badge{vertical-align:middle}
.grade-inline-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grade-metric{min-width:0;display:flex;flex-direction:column;gap:8px}
.grade-metric>span,.grade-metric>small{font-size:calc(11px + var(--font-increase));color:#7a919d;line-height:1.65}
.grade-metric>strong{font-size:calc(20px + var(--font-increase));font-weight:550;line-height:1.5;overflow-wrap:anywhere}
.grade-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}
.grade-component{min-width:0}
.grade-component .card-head{gap:10px;margin-bottom:16px}
.grade-component .card-head h2{font-size:calc(15px + var(--font-increase))}
.grade-component-score{display:flex;align-items:baseline;gap:9px}
.grade-component-score>strong{font-size:calc(30px + var(--font-increase));font-weight:600}
.grade-component-score>span{font-size:calc(12px + var(--font-increase));color:#82949e}
.grade-component-bar{height:7px;background:#e8eeeb;border-radius:8px;overflow:hidden;margin:16px 0}
.grade-component-bar>span{display:block;height:100%;border-radius:8px;background:#2a9381}
.grade-component-calculation .grade-component-bar>span{background:#c79951}
.grade-component p{font-size:calc(12px + var(--font-increase));line-height:1.8;margin:0 0 10px}
.grade-component>small{font-size:calc(10px + var(--font-increase));line-height:1.8;display:block}
.grade-actual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:26px;margin-bottom:22px;background:#fafbf9}
.grade-actual h2{margin:0 0 10px}
.grade-actual p{font-size:calc(11px + var(--font-increase));line-height:1.8;margin:0}
.grade-reference-rank{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.grade-rounds{margin-top:22px;min-width:0}
.grade-rounds>.card-head{gap:14px;flex-wrap:wrap}
.grade-rounds>.card-head p{font-size:calc(11px + var(--font-increase));line-height:1.8;margin:10px 0 0}
.grade-round-list{display:grid;gap:12px}
.grade-round{border:1px solid #e0e9e6;border-radius:12px;overflow:hidden}
.grade-round>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;cursor:pointer;list-style:none;background:#fafcfb;min-height:68px}
.grade-round>summary::-webkit-details-marker,.grade-policy>summary::-webkit-details-marker{display:none}
.grade-round-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
.grade-round-title>strong{font-size:calc(14px + var(--font-increase))}
.grade-round-title>.muted{font-size:calc(11px + var(--font-increase))}
.grade-round-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.grade-expand{display:inline-flex;color:#8ba398}
.grade-round[open] .grade-expand{transform:rotate(90deg)}
.grade-round-content{padding:20px;border-top:1px solid #e0e9e6}
.grade-round-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.grade-round-metrics .grade-metric>strong{font-size:calc(16px + var(--font-increase))}
.grade-round-note{font-size:calc(11px + var(--font-increase));line-height:1.8;margin:22px 0 0}
.grade-policy{margin-top:22px}
.grade-policy>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;font-size:calc(15px + var(--font-increase));font-weight:600;min-height:28px}
.grade-policy>summary>span{display:flex;align-items:center;gap:11px}
.grade-policy[open]>summary>svg{transform:rotate(90deg)}
.grade-policy-body{margin-top:22px;border-top:1px solid #e1e9e6;padding-top:20px;font-size:calc(12px + var(--font-increase));line-height:1.85}
.grade-policy-formula{padding:16px 20px;background:#edf6f1;border-radius:10px;font-weight:600;color:#33796a}
.grade-policy ol{padding-left:24px}
.grade-policy li{padding-left:7px;margin:22px 0}
.grade-policy li p{margin:9px 0}
.grade-policy h3{margin:26px 0 10px}
.grade-class-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-bottom:22px}
.grade-class-summary .grade-metric>strong{font-size:calc(29px + var(--font-increase))}
.grade-filters{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(140px,1fr) minmax(160px,1fr);gap:16px}
.grade-filters .form-field{margin:0;min-width:0}
.grade-filters .input,.grade-filters .select{width:100%;min-width:0}
.grade-row-count{font-size:calc(11px + var(--font-increase));margin:20px 0 12px}
.grade-table-card,.grade-table-card .table-wrap{min-width:0;max-width:100%}
.grade-table{min-width:1080px}
.grade-table caption{text-align:left;font-size:calc(11px + var(--font-increase));line-height:1.8;color:#6f8793;padding:0 0 16px}
.grade-table tbody th{text-align:left;font-weight:600;color:#405966}
.grade-table td,.grade-table th{vertical-align:middle}
.grade-table-score{font-size:calc(18px + var(--font-increase));color:#278572}
.grade-table-sub{display:block;margin-top:5px;font-size:calc(10px + var(--font-increase));color:#8a9ca6}
.grade-own-identity{font-size:calc(13px + var(--font-increase));margin:-8px 0 22px;line-height:1.7}
.grade-detail .grade-overview{grid-template-columns:1fr 1.25fr}
.grade-detail .grade-total-value{font-size:calc(40px + var(--font-increase))}
.grade-detail .card{padding:20px}
.grade-detail .grade-rank-value{font-size:calc(22px + var(--font-increase))}
.grade-row-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px}
.grade-row-actions .btn{white-space:nowrap}
.grade-adjusted{display:block;margin-top:7px}
.grade-adjustment-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:12px 0 16px}
.grade-adjustment-note .grade-adjusted{margin:0}
.grade-adjustment-note>small{font-size:calc(10px + var(--font-increase));line-height:1.7;color:#6a8178}
.grade-total .grade-adjustment-explanation{margin-bottom:10px;font-weight:550}
.grade-edit-help{font-size:calc(12px + var(--font-increase));line-height:1.85;margin:0 0 20px}
.grade-edit-fields{display:grid;gap:16px}
.grade-edit-field{min-width:0;padding:18px;border:1px solid #dce7e0;border-radius:12px;background:#fafcfb}
.grade-edit-label{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;margin-bottom:12px}
.grade-edit-label label{font-size:calc(13px + var(--font-increase));font-weight:600}
.grade-edit-label label>span{font-size:calc(11px + var(--font-increase));color:#7b8c86;font-weight:400}
.grade-edit-controls{display:flex;gap:12px;align-items:center}
.grade-edit-controls .input{width:100%;min-width:0;flex:1}
.grade-edit-controls .btn{flex:0 0 auto}
.grade-edit-reference{font-size:calc(10px + var(--font-increase));line-height:1.7;margin:10px 0 0}
.grade-edit-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;background:#edf6f1;border-radius:12px;padding:18px;margin-top:20px;align-items:center}
.grade-edit-preview>span{font-size:calc(12px + var(--font-increase));color:#466b60}
.grade-edit-preview>strong{font-size:calc(23px + var(--font-increase));color:#237c6b;text-align:right}
.grade-edit-preview>small{grid-column:1/-1;font-size:calc(10px + var(--font-increase));line-height:1.8;color:#628275;overflow-wrap:anywhere}
.grade-edit-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:24px}
[data-grade-edit-form] .form-error{line-height:1.8;margin:16px 0 0}
[data-grade-edit-form] input[aria-invalid="true"]{border-color:#bb594f;box-shadow:0 0 0 2px #bb594f20}
.grade-round>summary:focus-visible,.grade-policy>summary:focus-visible,.grade-table-card .table-wrap:focus-visible{outline:3px solid #248b7e;outline-offset:3px}
@media(max-width:1100px){.grade-overview{grid-template-columns:1fr 1fr}.grade-class-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.grade-components{gap:12px}.grade-component{padding:20px}.grade-actual{grid-template-columns:1fr}.grade-round-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.grade-overview,.grade-detail .grade-overview,.grade-components,.grade-filters{grid-template-columns:1fr}.grade-overview,.grade-components{gap:15px}.grade-class-summary{gap:22px 15px}.grade-class-summary .grade-metric>strong{font-size:calc(22px + var(--font-increase))}.grade-rank-value{font-size:calc(26px + var(--font-increase))}.grade-total-value{font-size:calc(44px + var(--font-increase))}.grade-round>summary{align-items:flex-start;flex-direction:column;gap:12px;padding:15px}.grade-round-status{justify-content:flex-start;width:100%}.grade-expand{margin-left:auto}.grade-round-content{padding:16px}.grade-round-metrics{gap:18px 12px}.grade-round-metrics .grade-metric>strong{font-size:calc(14px + var(--font-increase))}.grade-bands{grid-template-columns:repeat(2,minmax(0,1fr))}.grade-policy{padding:20px}.grade-policy ol{padding-left:18px}.grade-policy-formula{padding:14px}.grade-detail .card{padding:17px}.grade-inline-metrics{gap:15px}.grades-page .page-heading>.btn{width:100%}}
@media(max-width:480px){.grade-edit-field{padding:14px}.grade-edit-controls{flex-direction:column;align-items:stretch;gap:9px}.grade-edit-preview{grid-template-columns:1fr;padding:15px}.grade-edit-preview>strong{text-align:left}.grade-edit-actions>.btn{flex:1}.grade-edit-label{align-items:flex-start}.grade-edit-help{font-size:calc(11px + var(--font-increase))}}
