:root{color:#1f2933;background-color:#f5f7fa;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5}body{margin:0}.page{max-width:720px;margin:0 auto;padding:3rem 1.5rem}.page-wide{max-width:960px}.hint{color:#52606d}.topbar{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.topbar-user{align-items:center;gap:.75rem;display:flex}.form{flex-direction:column;gap:.75rem;max-width:320px;display:flex}.form label{color:#52606d;flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.form input{box-sizing:border-box;width:100%;font:inherit;border:1px solid #cbd2d9;border-radius:4px;padding:.5rem .6rem}.dialog .form{max-width:none}.button{color:#fff;font:inherit;cursor:pointer;background:#2563eb;border:0;border-radius:4px;padding:.55rem 1rem}.button:disabled{cursor:default;background:#93b4f5}.button-secondary{color:#2563eb;background:0 0;border:1px solid #2563eb}.button-danger{background:#b91c1c}.button-danger:disabled{background:#e0a1a0}.error{color:#b91c1c;margin:0}.badge{color:#52606d;background:#e4e7eb;border-radius:3px;padding:.1rem .4rem;font-size:.85rem;display:inline-block}.tabs{border-bottom:1px solid #d9e2ec;gap:.5rem;margin:1.5rem 0;display:flex}.tabs a{color:#52606d;border-bottom:2px solid #0000;padding:.4rem .6rem;text-decoration:none}.tabs a.active{color:#2563eb;border-bottom-color:#2563eb}.section-head{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.section-head h2{margin:0;font-size:1.15rem}a.button{text-decoration:none;display:inline-block}.back-link{color:#2563eb;margin-bottom:.75rem;text-decoration:none;display:inline-block}.link-button{font:inherit;color:#2563eb;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.field-inline{color:#52606d;align-items:center;gap:.4rem;font-size:.9rem;display:flex}.notice{color:#1e6b3a;background:#e6f4ea;border-radius:4px;margin:0 0 1rem;padding:.5rem .75rem}.inline-form{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.input{min-width:16rem;font:inherit;border:1px solid #cbd2d9;border-radius:4px;padding:.5rem .6rem}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e4e7eb;padding:.5rem .6rem}.actions{justify-content:flex-end;gap:.4rem;display:flex}.overlay{background:#0f172a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{background:#fff;border-radius:6px;width:100%;max-width:420px;padding:1.25rem}.dialog-title{margin:0 0 .75rem;font-size:1.1rem}.dialog-body{margin-bottom:1rem}.dialog-body p{margin:0 0 .5rem}.dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.dialog-extra{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.journal-table{min-width:max-content}.journal-table th,.journal-table td{white-space:nowrap;background:#fff}.journal-table tbody tr:nth-child(2n) td{background:#f1f5f9}.journal-table .journal-lesson-col{border-left:1px solid #e4e7eb}.journal-table .journal-student-col{background:#fff;min-width:12rem;position:sticky;left:0}.journal-lesson-col{min-width:4.5rem;padding:0}.lesson-head,.lesson-head-static{text-align:center;padding:.5rem .6rem;display:block}.lesson-head{width:100%;font:inherit;cursor:pointer;background:0 0;border:0}.lesson-head:hover{background:#eef2f7}.lesson-date{font-weight:600;display:block}.lesson-title{color:#52606d;white-space:normal;max-width:10rem;font-size:.8rem;font-weight:400;display:block}.journal-cell{text-align:center;min-width:3rem}.journal-cell.journal-markable{padding:0}.mark-cell,.mark-cell-static{padding:.5rem .6rem;display:block}.mark-cell{width:100%;font:inherit;cursor:pointer;background:0 0;border:0}.mark-cell:hover{background:#e2e8f0}.journal-report-col{text-align:center;border-left:1px solid #d9e2ec;min-width:6.5rem}.mark-choices{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.mark-choice{min-width:2.5rem;font-size:1.05rem}.page section:has(>.table){overflow-x:auto}.tabs,.topbar{flex-wrap:wrap}@media (max-width:640px){.page{padding:1.5rem 1rem}.overlay{padding:.75rem}.input,.form{min-width:0;max-width:none}.journal-table{font-size:.9rem}.journal-table .journal-student-col{white-space:normal;overflow-wrap:anywhere;width:8.5rem;min-width:0;max-width:8.5rem}.journal-lesson-col,.journal-cell{min-width:2.75rem}.journal-report-col{white-space:normal;min-width:4.5rem}}
