.teacher-lead { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.teacher-lead h1 { margin:0 0 12px; font-size:36px; line-height:1.18; }
.teacher-lead > div > p:not(.section-label) { max-width:710px; margin:0; color:var(--muted); line-height:1.75; }
.teacher-user { margin:0; color:var(--green-dark); font-size:13px; font-weight:800; white-space:nowrap; }
.teacher-login-panel { max-width:700px; margin-bottom:26px; }
.entry-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:26px; }
.entry-card { display:flex; flex-direction:column; min-height:250px; border:1px solid var(--line); border-radius:var(--radius); padding:24px; color:var(--ink); background:var(--surface); text-decoration:none; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.entry-card:hover { transform:translateY(-3px); border-color:var(--green); background:var(--green-wash); }
.entry-number { color:var(--green); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; font-weight:800; }
.entry-kicker { margin-top:28px; color:var(--green-dark); font-size:12px; font-weight:800; }
.entry-card strong { margin-top:7px; font-size:24px; line-height:1.25; }
.entry-card > span:not(.entry-number):not(.entry-kicker) { margin-top:10px; color:var(--muted); font-size:13px; line-height:1.65; }
.entry-role { margin-top:9px; color:var(--green-dark); font-size:11px; font-weight:800; }
.entry-card b { display:flex; justify-content:space-between; margin-top:auto; padding-top:22px; color:var(--green-dark); font-size:13px; }
.entry-card-resource { border-top:4px solid var(--green); }
.entry-card-daily { border-top:4px solid #b1843c; }
.entry-card-chat { border-top:4px solid #4d7092; }
.workflow-note { padding:28px; }
.workflow-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.workflow-steps > div { border-top:1px solid var(--line); padding-top:14px; }
.workflow-steps span { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; color:#fff; background:var(--green-dark); font-size:12px; font-weight:800; }
.workflow-steps strong { display:block; margin-top:12px; font-size:15px; }
.workflow-steps p { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.pilot-note { margin:24px 0 0; border-top:1px solid var(--line); padding-top:16px; color:var(--muted); font-size:12px; line-height:1.7; }
.daily-form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.daily-form-grid .wide-field { grid-column:1 / -1; }
.daily-upload-panel { margin-bottom:26px; }
.daily-file-help { margin:10px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.daily-list { display:grid; gap:10px; }
.daily-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; border-top:1px solid var(--line); padding:17px 0; }
.daily-item:first-child { border-top:0; }
.daily-item h3 { margin:0 0 7px; font-size:16px; }
.daily-meta { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.daily-status { align-self:start; border:1px solid #d9c99d; border-radius:999px; padding:5px 9px; color:#80621e; background:#fbf7e9; font-size:11px; font-weight:800; white-space:nowrap; }
.daily-files { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.daily-files a { color:var(--green-dark); font-size:12px; }
.chat-panel { max-width:820px; }
.chat-status { display:flex; align-items:flex-start; gap:12px; border:1px solid #d9c99d; padding:15px; color:#6e581c; background:#fbf7e9; line-height:1.65; }
.chat-status strong { display:block; margin-bottom:3px; }
.chat-status p { margin:0; font-size:13px; }
.chat-dot { width:9px; height:9px; flex:0 0 auto; margin-top:7px; border-radius:50%; background:#b1843c; }
.chat-scope { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.chat-scope span { border:1px solid var(--line); border-radius:999px; padding:7px 11px; color:var(--green-dark); background:var(--green-wash); font-size:12px; font-weight:800; }
.chat-form { display:grid; gap:12px; }
.chat-form textarea { min-height:120px; resize:vertical; }
.chat-result { min-height:54px; margin:20px 0 0; border-top:1px solid var(--line); padding-top:16px; color:var(--muted); font-size:13px; line-height:1.7; }
@media (max-width:800px) {
  .entry-grid, .workflow-steps { grid-template-columns:1fr 1fr; }
  .entry-card-chat { grid-column:1 / -1; min-height:205px; }
  .daily-form-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .teacher-lead { display:block; }
  .teacher-lead h1 { font-size:29px; }
  .teacher-user { margin-top:14px; }
  .entry-grid, .workflow-steps, .daily-form-grid { grid-template-columns:1fr; }
  .entry-card-chat { grid-column:auto; }
  .workflow-steps { gap:14px; }
  .daily-item { grid-template-columns:1fr; gap:8px; }
}

/* Local pilot: concise teacher upload surfaces */
.materials-lead { margin-bottom: 22px; }
.materials-lead h1 { margin-bottom: 0; font-size: 34px; }
.materials-page .entry-grid { margin-bottom: 0; }
.materials-page .entry-card { min-height: 226px; }
.materials-page .entry-card > span:not(.entry-number):not(.entry-kicker) { max-width: 245px; }
.materials-page .entry-role { margin-top: 14px; }
.daily-materials-page .admin-main { max-width: 1180px; }
.daily-materials-page .daily-upload-panel { padding: 28px; }
.daily-materials-page .panel-heading h2 { margin: 0; }
.daily-form-grid { grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); align-items: start; }
.daily-form-grid .wide-field { grid-column: auto; }
.folder-picker { display: grid; gap: 9px; }
.folder-picker input[type="file"] { min-height: 112px; padding: 35px 18px; border: 1px dashed #a4b9aa; border-radius: 12px; background: #f7faf5; cursor: pointer; }
.folder-picker-note { color: var(--muted); font-size: 12px; line-height: 1.5; }
.daily-materials-page .form-actions { margin-top: 24px; }
.daily-item-actions { display: flex; align-items: flex-start; gap: 12px; }
.text-button { border: 0; padding: 5px 0; color: var(--green-dark); background: transparent; font: inherit; font-size: 12px; cursor: pointer; }
.text-button:hover { text-decoration: underline; }
.danger-button { color: #a04d42; }
.daily-admin-panel { margin-top: 26px; }
.daily-admin-list { display: grid; gap: 0; }
.daily-admin-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; border-top: 1px solid var(--line); padding: 18px 0; }
.daily-admin-item:first-child { border-top: 0; }
.daily-admin-item h3 { margin: 0 0 7px; font-size: 16px; }
.daily-admin-files { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.daily-admin-files a { color: var(--green-dark); font-size: 12px; }
.daily-admin-actions { display: flex; align-items: flex-start; gap: 12px; }
@media (max-width: 800px) {
  .daily-form-grid { grid-template-columns: 1fr; }
  .daily-form-grid .wide-field { grid-column: 1; }
  .daily-admin-item { grid-template-columns: 1fr; gap: 8px; }
}
@media (max-width: 600px) {
  .materials-lead h1 { font-size: 29px; }
  .daily-materials-page .daily-upload-panel { padding: 20px; }
  .folder-picker input[type="file"] { min-height: 94px; padding: 28px 14px; }
}

/* Capacity controls retain the existing workbench type/color system. */
.controls-main { max-width:1050px; }
.controls-main .admin-panel { margin-bottom:24px; }
.controls-form { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.controls-form label { display:grid;gap:8px; }
.controls-form input,.controls-form select { width:100%;min-height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink); }
.controls-form .wide { grid-column:1/-1; }
.controls-note { color:var(--muted);font-size:14px;line-height:1.6; }
.control-usage { display:flex;gap:32px;flex-wrap:wrap;padding:8px 0 20px; }
.control-usage p { margin:0; }
.control-usage strong { display:block;font-size:25px;line-height:1.4;font-variant-numeric:tabular-nums; }
.controls-alert { color:#92400e;background:#fff7e6;border-left:3px solid #b1843c;padding:12px 16px; }
.controls-main button { min-height:44px; }
.controls-main :focus-visible { outline:2px solid var(--green);outline-offset:3px; }
@media(max-width:640px) { .controls-form {grid-template-columns:1fr;} .controls-form .wide {grid-column:auto;} .control-usage {gap:20px;} }
