/* Staff class view, sharing the yellow/orange Summer Memory palette. */
.natsu-staff-entry{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff9e6;border:1px solid #f3d697;border-radius:18px;padding:16px 18px;margin:18px 0;color:#704308}.natsu-staff-entry small{display:block;margin-top:5px;color:#856239}.natsu-staff-entry button,.class-room button{font:inherit;cursor:pointer}.natsu-staff-entry button{background:#ad5900;border:0;color:#fff;padding:13px 18px;border-radius:12px;font-weight:700;white-space:nowrap;box-shadow:0 4px 12px #ad590022}.class-room{position:fixed;inset:0;z-index:9000;background:#fbf6ed;color:#453c3a;overflow:auto;font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}.class-room[hidden]{display:none}.class-room *{box-sizing:border-box}.class-room .cr-top{position:sticky;top:0;z-index:4;background:#fffdf8ed;backdrop-filter:blur(10px);border-bottom:1px solid #e9dfd7;padding:15px max(24px,calc((100vw - 1200px)/2));display:flex;gap:16px;justify-content:space-between;align-items:center}.class-room .cr-top h2{margin:2px 0;font-size:24px;letter-spacing:.05em}.class-room .cr-kicker{font-size:12px;letter-spacing:.16em;color:#805000;font-weight:700}.class-room .cr-top button,.class-room .cr-actions button{border:1px solid #d9c8bf;border-radius:10px;background:white;color:#73564b;padding:10px 15px;min-height:44px}.class-room .cr-main{max-width:1248px;margin:auto;padding:28px 24px 60px}.class-room .cr-intro{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.class-room .cr-intro p{margin:0;line-height:1.8;color:#78685f;font-size:14px}.class-room .cr-demo{font-size:12px;color:#866f5c;background:#f3eadc;border-radius:6px;padding:7px 10px;white-space:nowrap}.class-room .cr-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.class-room .cr-tabs button{border:1px solid #e5d9d0;background:#fff;padding:12px 18px;border-radius:12px;font-size:16px;min-height:48px;color:#63554e}.class-room .cr-tabs button[aria-selected=true]{background:#ad5900;color:white;border-color:#ad5900;box-shadow:0 4px 12px #ad590020}.class-room .cr-tabs small{font-size:11px;margin-right:7px;opacity:.75}.class-room .cr-heading{display:flex;align-items:end;gap:16px;margin:0 0 18px}.class-room .cr-heading h3{font-size:26px;margin:0}.class-room .cr-heading span{font-size:13px;color:#8d7b70}.class-room .cr-stats{display:flex;gap:14px;margin-bottom:26px}.class-room .cr-stat{background:#fff;border:1px solid #efdfc4;border-radius:14px;padding:18px 22px;flex:1}.class-room .cr-stat b{font-size:30px;color:#ad5900;font-weight:650}.class-room .cr-stat span{font-size:13px;margin-left:8px;color:#806d61}.class-room .cr-tools{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;align-items:center}.class-room .cr-tools input{font:inherit;width:240px;border:1px solid #ddcfc3;background:white;border-radius:10px;padding:11px 14px}.class-room .cr-tools label{font-size:14px;display:flex;gap:8px;align-items:center}.class-room .cr-tools input[type=checkbox]{width:18px;height:18px}.class-room .cr-table-wrap{border:1px solid #e5d9cf;border-radius:14px;overflow:auto;background:#fff}.class-room table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;margin:0;min-width:850px}.class-room th{background:#fff3d4;text-align:left;font-weight:600;color:#766152;white-space:nowrap}.class-room td,.class-room th{padding:17px 18px;border-bottom:1px solid #eee4dc;vertical-align:middle}.class-room tbody tr:last-child td{border-bottom:0}.class-room tbody tr:hover td{background:#fffaf5}.class-room td:first-child,.class-room th:first-child{position:sticky;left:0;z-index:1;background:#fff;min-width:155px}.class-room th:first-child{background:#fff3d4}.class-room .cr-name{border:0;background:none;color:#965000;padding:0;font-size:16px;font-weight:650;text-decoration:underline;text-underline-offset:5px;min-height:36px}.class-room .cr-progress{display:flex;align-items:center;gap:10px;white-space:nowrap}.class-room .cr-bar{width:65px;height:6px;background:#f0e7df;border-radius:8px;overflow:hidden}.class-room .cr-bar i{display:block;background:#f0a22d;height:100%}.class-room .cr-muted{color:#9e8a7a;font-size:13px}.class-room .cr-foot{margin:15px 0;color:#8d7b6c;font-size:12px;line-height:1.9}.class-room .cr-empty{padding:40px;text-align:center;color:#8d7869}.class-room .cr-goals{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.class-room .cr-goal{background:#fff;border:1px solid #efdfc4;border-radius:12px;padding:18px;line-height:1.8}.class-room .cr-goal label{font-size:12px;color:#a46a47;display:block;margin-bottom:5px}.class-room .cr-goal p{margin:0}.class-room .cr-detail th:first-child,.class-room .cr-detail td:first-child{min-width:180px;max-width:180px}.class-room .cr-detail th,.class-room .cr-detail td{padding:12px 9px;font-size:13px;text-align:center;min-width:48px}.class-room .cr-detail td:first-child,.class-room .cr-detail th:first-child{text-align:left}.class-room .cr-check{color:#ad5900;font-size:17px}.class-room .cr-note-list{display:grid;gap:10px;margin:20px 0}.class-room .cr-note{background:#fff;padding:15px 18px;border-left:3px solid #ffb733;border-radius:0 10px 10px 0;font-size:14px;line-height:1.8}.class-room .cr-note time{font-size:12px;color:#aa7957;display:block}.class-room button:focus-visible,.class-room input:focus-visible{outline:3px solid #c28c36;outline-offset:3px}@media(max-width:640px){.natsu-staff-entry{align-items:stretch;flex-direction:column}.class-room .cr-main{padding:20px 14px}.class-room .cr-top{padding:12px 14px}.class-room .cr-top h2{font-size:20px}.class-room .cr-intro{align-items:start;flex-direction:column}.class-room .cr-tabs{gap:6px}.class-room .cr-tabs button{padding:10px 11px;font-size:14px}.class-room .cr-stats{gap:7px}.class-room .cr-stat{padding:12px}.class-room .cr-stat b{font-size:25px}.class-room .cr-stat span{display:block;margin:4px 0 0}.class-room .cr-tools{align-items:stretch;flex-direction:column}.class-room .cr-tools input{width:100%}.class-room .cr-goals{grid-template-columns:1fr}}@media print{body:has(.class-room:not([hidden]))>*{display:none!important}body:has(.class-room:not([hidden]))>.class-room{display:block!important;position:static;overflow:visible}.class-room .cr-top{position:static}.class-room button,.class-room .cr-tools,.class-room .cr-tabs,.class-room .cr-demo{display:none}.class-room .cr-table-wrap{overflow:visible}.class-room table{min-width:0;font-size:10px}.class-room td,.class-room th{padding:7px}.class-room .cr-main{padding:10px}}

.natsu-staff-entry button{background:linear-gradient(155deg,#ffe14d,#ffb733);color:#704000;border:1px solid #ebad24;box-shadow:0 3px 0 #e9a229;min-height:46px}
.natsu-staff-entry button:focus-visible{outline:3px solid #a85d0a;outline-offset:3px}
.class-room .cr-top{background:radial-gradient(120% 90% at 50% -8%,#fff08cbf 0%,#fff08c00 46%),linear-gradient(158deg,#ffe14d 0%,#ffd21f 56%,#ffb733 88%,#ffa52e 100%);border-bottom:1px solid #efb238;color:#704000}
.class-room .cr-top h2{color:#704000}.class-room .cr-top button{background:#fffdf5ed;border-color:#e7aa23;color:#704000;flex-shrink:0}
.class-room .cr-stat{background:linear-gradient(145deg,#fffdf6,#fff5d9);border-color:#efdfbd}
.class-room .cr-tabs button[aria-selected=true]{background:#ad5900;border-color:#ad5900;box-shadow:0 3px 9px #c9781422}
.class-room .cr-year-wrap{display:flex;gap:9px;align-items:center;flex-wrap:wrap;flex-shrink:0}.class-room .cr-year-wrap label{font-size:13px;color:#78603e}.class-room .cr-year-wrap select{font:inherit;width:auto;min-width:112px;min-height:44px;border:1px solid #dac49f;border-radius:10px;padding:8px 12px;background:#fffdf7;color:#704000}
.class-room .cr-status{font-size:14px;line-height:1.8;margin:0 0 18px;color:#765523}.class-room .cr-status.cr-error{padding:12px 15px;background:#fff0e7;border:1px solid #e7ba99;border-radius:10px;color:#903d13}.class-room .cr-status[hidden]{display:none}
.class-room .cr-goal p,.class-room .cr-note{white-space:pre-wrap;overflow-wrap:anywhere}.class-room .cr-intro,.class-room .cr-tools,.class-room .cr-heading{min-width:0}.class-room button:disabled,.class-room select:disabled{cursor:wait;opacity:.65}
.class-room select:focus-visible{outline:3px solid #a85d0a;outline-offset:3px}
@media(max-width:640px){.class-room .cr-top{gap:10px}.class-room .cr-top h2{font-size:18px;letter-spacing:0}.class-room .cr-top button{font-size:12px;padding:9px}.class-room .cr-kicker{font-size:10px;letter-spacing:.08em}.class-room .cr-heading{flex-wrap:wrap;gap:5px 12px}.class-room .cr-stat span{font-size:12px}}

.class-room .cr-actions{display:flex;gap:10px;flex-wrap:wrap}
