.bonus-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;margin-bottom:24px}.bonus-summary>div{display:flex;flex-direction:column;gap:4px;padding:18px 22px;background:var(--card)}.bonus-summary small{color:var(--muted)}.bonus-summary strong{font-size:25px}.bonus-summary .positive strong{color:#287353}.bonus-summary .negative strong{color:#ad403d}.bonus-layout,.bonus-lower{margin-bottom:24px}.bonus-entry-form select,.bonus-entry-form input,.bonus-entry-form textarea,.bonus-reset select,.bonus-reset textarea{width:100%;box-sizing:border-box}.bonus-share{display:flex;flex-direction:column;align-items:stretch}.share-status{align-self:flex-start;padding:5px 10px;border-radius:99px;background:#dcece3;color:#236647;font-size:12px;font-weight:800}.share-status.inactive{background:#ecebea;color:#6d716f}.share-link-label{display:flex;flex-direction:column;gap:7px;margin-top:16px;font-size:12px;font-weight:800}.share-link-label input{width:100%;box-sizing:border-box;padding:11px;border:1px solid var(--line);border-radius:9px;background:#f7f8f6}.bonus-share .inline-actions{align-items:center;margin-top:14px}.bonus-share .inline-actions form{margin:0}.bonus-status{margin-bottom:24px}.bonus-status td:last-child{text-align:right}.bonus-status td small{color:var(--muted)}.balance-pill{display:inline-grid;place-items:center;min-width:42px;height:32px;padding:0 9px;border-radius:99px;font-weight:900}.balance-pill.positive{background:#dcece3;color:#236647}.balance-pill.negative{background:#f2deda;color:#9d3835}.balance-pill.neutral{background:#e9ecea;color:#5b6661}.bonus-log-row{display:grid;grid-template-columns:48px 1fr;gap:13px;padding:14px 0;border-top:1px solid var(--line)}.bonus-log-row>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.bonus-log-row small{color:var(--muted)}.bonus-log-row p{margin:5px 0;line-height:1.45}.consequence{padding:5px 8px;border-radius:7px;background:#f1ead8;color:#6d542a;font-size:12px;font-weight:750}.bonus-reset .stacked-form{margin-top:12px}@media(max-width:760px){.bonus-summary{grid-template-columns:1fr}.bonus-status table{min-width:720px}}
.form-note{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.balance-pill.pupil-journal-alert{background:var(--red);color:#fff;font-weight:900}
.pupil-detention-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}.pupil-detention-form .button{white-space:normal;max-width:100%}
.balance-pill.pupil-journal-planned{background:#ffcf91;color:#633400;font-weight:800;border:1px solid #d68a24}.pupil-detention-pending{border-left:4px solid #d68a24;padding-left:16px}.pupil-detention .actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.pupil-detention .button{white-space:normal}
.pupil-threshold{flex-basis:100%;font-size:13px;color:var(--muted)}.pupil-threshold-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pupil-threshold-form label{font-weight:700;color:var(--ink)}.pupil-threshold-form input[type=number]{width:90px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:inherit}.pupil-counter-note{display:block;margin-top:6px;font-size:11px}.bonus-status .inline-actions{flex-wrap:wrap;justify-content:flex-end}.pupil-balance-explanation{padding:14px;border-radius:10px;background:var(--sage)}.pupil-detentions{margin-bottom:26px}.pupil-detention{padding:16px 0;border-bottom:1px solid var(--line)}.pupil-detention>strong,.pupil-detention>small{display:block;margin-bottom:5px}.pupil-detention p{margin:8px 0}.pupil-detention details{margin-top:10px}.pupil-detention form{max-width:600px;margin-top:12px}
.pupil-quarter-heading{flex-wrap:wrap;align-items:center}.pupil-quarter-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.pupil-quarter-form fieldset{border:0;padding:0;margin:0;min-width:0}.pupil-quarter-form legend{font-size:12px;color:var(--muted);margin-bottom:8px}.pupil-quarter-choices{display:flex;gap:10px;flex-wrap:wrap}.pupil-quarter-choices label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;padding:7px 9px;border-radius:8px;background:var(--sage)}.pupil-quarter-choices input{width:17px;height:17px;accent-color:var(--green)}.bonus-status .form-note{margin:0 0 18px}.pupil-history,.pupil-confirm{margin:24px 0}.pupil-history small{color:var(--muted);overflow-wrap:anywhere}.pupil-comment{min-width:220px;max-width:600px;white-space:normal;line-height:1.5;overflow-wrap:anywhere}.pupil-preview-table{max-height:65vh;overflow:auto}.pupil-preview-table table{min-width:850px}.pupil-student-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.pupil-confirm .actions{flex-wrap:wrap}.pupil-pagination{align-items:center;margin-top:16px;flex-wrap:wrap}#pupil-journal,#pupil-overview{scroll-margin-top:100px}
@media(max-width:760px){.bonus-heading{align-items:flex-start}.bonus-heading .button{white-space:normal}.pupil-quarter-heading{flex-direction:column;align-items:flex-start}.pupil-history table{min-width:650px}}

.bonus-points-setting{margin-bottom:24px}.bonus-points-form{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.bonus-points-form label{display:flex;align-items:center;gap:10px;font-weight:700}.bonus-points-form input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:var(--green)}.bonus-layout.bonus-journal-only{grid-template-columns:1fr}.bonus-journal-only .bonus-share{max-width:none}
