.grades-page{--bg-0:#f2fcf7;--bg-1:#e8f7ef;--bg-2:#dff3e8;--card:hsla(0,0%,100%,.88);--card-border:rgba(16,185,129,.2);--text-main:#103529;--text-soft:#2f6b55;--text-muted:#5e8f7a;--input-bg:rgba(246,253,249,.95);--input-border:rgba(16,185,129,.3);--focus:rgba(16,185,129,.2);--primary-a:#0e9f6e;--primary-b:#14b87f;--danger-bg:rgba(127,29,29,.84);--danger-border:hsla(0,91%,71%,.42);--surface-soft:rgba(16,185,129,.08);--chart-border:rgba(16,185,129,.26);--chart-bg:rgba(245,253,249,.88);--line:#0ea870;--dot:#36cc92;--dot-stroke:#f2fff9;--axis:rgba(22,106,79,.4);--gridline:rgba(16,185,129,.16);--shadow-lg:0 22px 56px rgba(11,66,47,.16);--shadow-md:0 12px 28px rgba(16,84,61,.12);--link:#0f8e63;--menu-bg:hsla(0,0%,100%,.96);--active-border:rgba(16,185,129,.72);--active-shadow:rgba(16,185,129,.18);--row-divider:rgba(16,185,129,.18);--row-pill-border:rgba(16,185,129,.2);--color-ring:rgba(214,247,232,.95);--secondary-btn-bg:rgba(16,185,129,.1);--secondary-btn-border:rgba(16,185,129,.32);color-scheme:light;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);min-height:100vh;padding:2.1rem 1rem 3rem;color:var(--text-main);background:radial-gradient(circle at 12% 18%,rgba(16,185,129,.16),transparent 34%),radial-gradient(circle at 86% 8%,rgba(16,185,129,.12),transparent 42%),linear-gradient(180deg,var(--bg-0) 0,var(--bg-1) 46%,var(--bg-2) 100%)}[data-theme=dark] .grades-page{--bg-0:#04150f;--bg-1:#072219;--bg-2:#0b2f23;--card:rgba(8,30,22,.78);--card-border:rgba(82,226,163,.24);--text-main:#e8f8f0;--text-soft:#b9ddce;--text-muted:#8bbba8;--input-bg:rgba(6,36,26,.88);--input-border:rgba(82,226,163,.34);--focus:rgba(52,211,153,.28);--primary-a:#0f9d61;--primary-b:#10b981;--surface-soft:rgba(52,211,153,.1);--chart-border:rgba(110,241,184,.24);--chart-bg:rgba(4,24,17,.8);--line:#5ef0ba;--dot:#9dfad8;--dot-stroke:#04170f;--axis:rgba(167,243,208,.44);--gridline:rgba(110,241,184,.16);--shadow-lg:0 22px 56px rgba(1,8,6,.48);--shadow-md:0 12px 28px rgba(1,12,9,.38);--link:#8af3cb;--menu-bg:rgba(5,25,18,.96);--active-border:rgba(94,234,165,.72);--active-shadow:rgba(52,211,153,.18);--row-divider:rgba(94,234,165,.16);--row-pill-border:rgba(82,226,163,.2);--color-ring:rgba(6,22,15,.84);--secondary-btn-bg:rgba(16,88,58,.22);--secondary-btn-border:rgba(82,226,163,.34);color-scheme:dark}.grades-content{max-width:1240px;margin:0 auto}.grades-auth-required,.grades-loading{min-height:60vh;display:grid;place-content:center;text-align:center;grid-gap:.75rem;gap:.75rem}.grades-auth-card{width:min(460px,92vw);padding:1.2rem;border-radius:18px;border:1px solid var(--card-border);background:var(--card);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.grades-auth-card h1{margin:0 0 .35rem}.grades-auth-card p{margin:0 0 .9rem;color:var(--text-soft)}.grades-auth-toggle{display:flex;gap:.5rem;margin-bottom:.7rem}.grades-auth-form{display:grid;grid-gap:.55rem;gap:.55rem}.grades-auth-hint{margin-top:.75rem;font-size:.9rem}.grades-auth-hint a,.grades-page a{color:var(--link)}.grades-page .grades-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.15rem;background:transparent;box-shadow:none;position:static;top:auto;z-index:auto;border:0}.grades-heading{min-width:0}.grades-heading h1{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1.04;letter-spacing:-.01em}.grades-heading p{margin:.35rem 0 0;color:var(--text-soft);font-size:clamp(1rem,2vw,1.08rem)}.grades-filters{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap;max-width:100%}.grades-settings{position:relative;flex:0 0 auto}.grades-settings-btn{width:44px;min-width:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}.grades-settings-icon{width:20px;height:20px;display:block;filter:none}.grades-settings-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:260px;z-index:20;border:1px solid var(--card-border);border-radius:14px;background:var(--menu-bg);box-shadow:var(--shadow-lg);padding:.75rem}.grades-settings-title{margin:0 0 .55rem;color:var(--text-soft);font-size:.9rem}.grades-settings-scale{display:grid;grid-gap:.45rem;gap:.45rem}.grades-settings-option{width:100%;text-align:left;border:1px solid var(--input-border);border-radius:10px;background:var(--input-bg);color:var(--text-main);padding:.56rem .68rem;cursor:pointer}.grades-settings-option.is-active{border-color:var(--active-border);box-shadow:0 0 0 2px var(--active-shadow) inset}.grades-field{display:flex;flex-direction:column;gap:.32rem;min-width:220px;flex:1 1 220px}.grades-label{font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.grades-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.1rem}.grades-card{grid-column:span 4;border:1px solid var(--card-border);border-radius:18px;padding:1rem;background:var(--card);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.grades-card h2,.grades-card h3{margin-top:0;margin-bottom:.7rem;color:var(--text-main)}.grades-card h3{font-size:.95rem;color:var(--text-soft)}.grades-card ul{padding-left:0;margin:0;list-style:none}.grades-card label,.grades-card li,.grades-card p,.grades-card span,.grades-card strong{color:var(--text-main)}.grades-page button,.grades-page input,.grades-page select,.grades-page textarea{border:1px solid var(--input-border);border-radius:12px;padding:.62rem .75rem;font:inherit;line-height:1.3;background:var(--input-bg);color:var(--text-main);min-height:44px}.grades-page select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.35rem;background-image:linear-gradient(45deg,transparent 50%,var(--text-soft) 50%),linear-gradient(135deg,var(--text-soft) 50%,transparent 50%);background-position:calc(100% - 1.15rem) calc(50% + 1px),calc(100% - .8rem) calc(50% + 1px);background-size:.38rem .38rem,.38rem .38rem;background-repeat:no-repeat}.grades-page textarea{min-height:92px;resize:vertical}.grades-page input::placeholder,.grades-page textarea::placeholder{color:var(--text-muted)}.grades-page input:focus,.grades-page select:focus,.grades-page textarea:focus{outline:none;border-color:#34d399;box-shadow:0 0 0 3px var(--focus)}.grades-page option{background:var(--bg-1);color:var(--text-main)}.grades-btn{border:1px solid transparent;background:linear-gradient(135deg,var(--primary-a),var(--primary-b));color:#f3fffa;cursor:pointer;font-weight:600;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;white-space:nowrap}.grades-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(16,185,129,.34)}.grades-btn-secondary{background:var(--secondary-btn-bg);border-color:var(--secondary-btn-border);color:var(--text-main)}.grades-logout-btn{flex:0 0 auto;min-width:130px}.grades-btn-danger{background:var(--danger-bg);border-color:var(--danger-border);color:#fee2e2}.grades-btn:disabled,.grades-page button:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.grades-error{color:#fee2e2;margin-bottom:1rem;background:rgba(127,29,29,.34);border:1px solid hsla(0,91%,71%,.42);border-radius:12px;padding:.5rem .7rem}.grades-stats .grades-card{grid-column:span 4}.grades-big{font-size:2rem;font-weight:700;margin:.4rem 0 0;color:var(--line)}.grades-chart-card{grid-column:span 12}.grades-chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;margin-bottom:.7rem}.grades-chart-head p{margin:0;color:var(--text-soft);font-size:.92rem}.grades-chart-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.6rem;gap:.6rem;margin-bottom:.8rem}.grades-chart{width:100%;border:1px solid var(--chart-border);border-radius:14px;background:var(--chart-bg);padding:.5rem}.grades-chart svg{width:100%;height:auto;display:block}.grades-axis{stroke:var(--axis);stroke-width:1.5}.grades-gridline{stroke:var(--gridline);stroke-width:1}.grades-axis-label{fill:var(--text-muted);font-size:11px}.grades-line{stroke:var(--line);stroke-width:3;stroke-linecap:round}.grades-dot{fill:var(--dot);stroke:var(--dot-stroke);stroke-width:2}.grades-chart-foot{margin-top:.7rem;display:flex;gap:1rem;color:var(--text-soft)}.grades-empty{color:var(--text-muted);margin:.6rem 0 .2rem;border:1px dashed var(--chart-border);border-radius:12px;padding:.66rem .78rem;background:rgba(16,185,129,.08)}.grades-form-card{display:flex;flex-direction:column;gap:.62rem}.grades-row{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;padding:.65rem 0;border-bottom:1px solid var(--row-divider)}.grades-row:last-child{border-bottom:none}.grades-row-main{background:var(--surface-soft);border:1px solid var(--row-pill-border);border-radius:10px;padding:.35rem .5rem;flex:1 1;min-width:0;word-break:break-word}.grades-color{width:10px;height:10px;border-radius:999px;display:inline-block;margin-right:.45rem;box-shadow:0 0 0 2px var(--color-ring)}@media (max-width:980px){.grades-header{flex-direction:column;align-items:stretch;gap:1.1rem}.grades-filters{width:100%;display:grid;grid-template-columns:1fr;align-items:stretch;grid-gap:.72rem;gap:.72rem}.grades-settings,.grades-settings-btn{width:100%}.grades-settings-menu{position:static;margin-top:.55rem;min-width:0}.grades-field,.grades-logout-btn{min-width:0;width:100%}.grades-logout-btn{white-space:normal;text-align:center}.grades-card{grid-column:span 12}.grades-chart-head{flex-direction:column;align-items:flex-start}.grades-chart-filters{grid-template-columns:1fr}}@media (max-width:720px){.grades-page{padding:1.15rem .75rem 2rem}.grades-heading h1{font-size:clamp(1.85rem,11vw,2.8rem)}.grades-heading p{font-size:1rem;line-height:1.35}.grades-card{border-radius:16px;padding:.9rem}.grades-chart-foot{flex-direction:column;gap:.4rem}.grades-row{flex-direction:column;align-items:stretch}.grades-row .grades-btn{width:100%;white-space:normal}}