body{--green-dark:color-mix(in srgb,var(--green) 82%,var(--ink));--sage:color-mix(in srgb,var(--green) 14%,var(--card));--line:color-mix(in srgb,var(--ink) 20%,var(--card));--muted:color-mix(in srgb,var(--ink) 78%,var(--card));--shadow:0 16px 40px color-mix(in srgb,var(--ink) 7%,transparent);font-family:var(--body-font,system-ui,sans-serif);color:var(--ink);background:var(--paper)}
body[data-theme="contrast"]{--line:color-mix(in srgb,var(--ink) 55%,var(--card));--muted:var(--ink)}
.card,.topbar,.account-dropdown{background:var(--card);border-color:var(--line)}.topbar nav a{color:var(--muted)}.topbar nav a:hover{color:var(--ink)}.button.primary,.brand-mark,.stat .button.primary{color:var(--accent-ink,#fff)}.button.primary:hover{background:var(--green);filter:brightness(.94)}.button.secondary,.pill,.eyebrow,.stat span,.link-button{color:var(--ink)}.button.ghost{background:transparent;color:var(--ink)}
h1,h2,h3,.date-range strong,.stat strong,.calendar-date strong,.brand-mark{font-family:var(--heading-font,Georgia,serif)}input,select,textarea,button{font-family:inherit}.field input,.field textarea,.field select,.filter-bar select,.planning-class-form select{background:var(--card);color:var(--ink);border-color:var(--line)}.planning-subject,.planning-filters,.school-year-bar{background:var(--sage);color:var(--ink)}.school-year-bar select{color:var(--ink);background:var(--card)}.field-error,.errorlist{color:#a02020}
.account-details{position:relative;display:block;color:var(--ink);flex-shrink:0}.account-details summary{cursor:pointer;padding:10px;border-radius:9px;font-weight:700;list-style:none}.account-details summary::-webkit-details-marker{display:none}.account-details summary:focus-visible{outline:3px solid var(--green)}.account-details summary span{display:inline!important}.account-dropdown{position:absolute;right:0;top:100%;width:290px;max-width:calc(100vw - 36px);padding:18px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:40;display:grid;gap:12px;color:var(--ink)}.account-layout-form{display:grid;gap:8px}.account-layout-form select{width:100%;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink)}.account-dropdown>a,.account-dropdown>.link-button,.account-dropdown>form>.link-button{display:block;padding:9px 0;font-weight:650}.account-dropdown>form>.link-button{width:100%;text-align:left}.custom-color-field input{min-height:48px;padding:4px}.appearance-preview{padding:20px;margin:24px 0;border:1px solid var(--line);border-radius:12px;background:var(--card)}.appearance-note{margin-top:18px;color:var(--muted)}
@media(max-width:850px){.topbar{justify-content:space-between}.account-details summary{max-width:170px;overflow-wrap:anywhere}.topbar nav{background:var(--card)}}
@media print{.account-dropdown{display:none!important}}
.topbar{overflow:visible}.appearance-form [hidden]{display:none!important}.grade-chart,.grade-filters label,.calendar-switch,.preview-form input,.checklist-detail textarea{background:var(--card);color:var(--ink);border-color:var(--line)}.grade-filters label:has(input:checked){background:var(--sage);border-color:var(--green)}.grade-chart svg{font-family:var(--body-font)}.grade-student-label,.grade-axis-label,.grade-average-label,.grade-missing-label{fill:var(--ink)}.grade-axis-line,.grade-row-line{stroke:var(--line)}.grade-point{stroke:var(--card)}.calendar-week thead th,.calendar-time,.week-grid thead th{background:var(--sage);color:var(--ink)}.calendar-cell.empty-slot,.calendar-week,.week-grid{background:var(--card)}.calendar-lesson,.calendar-lesson em,.calendar-lesson .status-label{color:#17211d}.calendar-switch span{color:var(--ink)}
.class-heading{flex-direction:column;align-items:stretch}.class-heading>div:first-child{min-width:0}.page-heading .class-actions{min-width:0;max-width:100%;flex-wrap:wrap;justify-content:flex-start;align-self:stretch}
