:root{font-family:Lexend,Arial,sans-serif;color:#14213a;background:#f4f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit}.material-symbols-outlined{font-size:21px;vertical-align:middle}.site-header{background:#fff;border-bottom:1px solid #dce4ee}.site-inner{max-width:1240px;margin:auto;padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{color:#1474ca;font-size:23px;font-weight:800;text-decoration:none}.back-link,.student-badge{display:flex;align-items:center;gap:7px;color:#475b73;font-size:14px;text-decoration:none}.back-link:hover{color:#1474ca}.shell{max-width:1240px;margin:auto;padding:30px 24px 80px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.eyebrow{color:#60758f;font-size:13px;font-weight:600;margin:0 0 7px}.page-heading h1{font-size:30px;line-height:1.2;margin:0}.subtitle{color:#667b94;margin:7px 0 0;font-size:15px}.group-tabs{display:flex;gap:23px;border-bottom:1px solid #dce4ee;overflow-x:auto;margin:27px 0 24px}.group-tabs a{white-space:nowrap;padding:12px 2px;text-decoration:none;color:#53677f;font-size:14px;font-weight:600;border-bottom:2px solid transparent}.group-tabs a.active,.group-tabs a:hover{color:#1474ca;border-color:#1474ca}.status{margin:16px 0;padding:13px 16px;background:#eaf3ff;color:#1a5c9c;border:1px solid #c5def8;border-radius:6px;font-size:14px}.status.error{background:#fff0f0;border-color:#f5c4c4;color:#a22b2b}.status.success{background:#eaf8f2;border-color:#abe4cb;color:#116847}.status[hidden],.workspace[hidden],#student-workspace[hidden]{display:none!important}.workspace{display:grid;grid-template-columns:minmax(290px,390px) minmax(0,1fr);align-items:start;gap:24px}.composer,.library{background:#fff;border:1px solid #dce4ee;border-radius:7px}.composer{padding:22px}.composer h2,.library h2{font-size:19px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.form-grid label{display:block;font-size:13px;font-weight:600;color:#384d65}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:7px;border:1px solid #cbd7e5;border-radius:5px;background:#fff;color:#14213a;padding:10px;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.search-label input:focus{border-color:#1474ca;box-shadow:0 0 0 3px #dbeeff}.form-grid textarea{resize:vertical}.form-grid input[type=file]{padding:9px;font-size:12px}.form-actions{display:flex;flex-direction:column;gap:18px;margin-top:18px}.publish-check{font-size:13px;display:flex;align-items:center;gap:9px}.publish-check input{width:17px;height:17px;accent-color:#1474ca}.form-buttons{display:flex;gap:8px;flex-wrap:wrap}.button{border:1px solid transparent;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;font-weight:600;font-size:13px;text-decoration:none;min-height:41px}.button.primary{background:#1474ca;color:#fff}.button.primary:hover{background:#0d61ac}.button.secondary{background:#fff;border-color:#cbd7e5;color:#344960}.button.secondary:hover{background:#f1f5f9}.button.danger{background:#fff;border-color:#f3c4c4;color:#b22c2c}.button.danger:hover{background:#fff1f1}.library-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:20px;border-bottom:1px solid #e3eaf2}.library-heading p{margin:5px 0 0;color:#75869b;font-size:13px}.search-label{display:flex;align-items:center;gap:8px;border:1px solid #cbd7e5;border-radius:5px;background:#fff;padding:0 10px;color:#70839a;min-width:min(100%,230px)}.search-label input{border:0;outline:0;padding:10px 2px;width:100%;min-width:0;color:#14213a}.material-list{padding:2px 20px}.material-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;padding:17px 0;border-bottom:1px solid #edf1f5}.material-row:last-child{border-bottom:0}.file-icon{width:42px;height:42px;border-radius:6px;background:#e8f2fc;color:#1474ca;display:grid;place-items:center}.material-row.image .file-icon{background:#e7f7f1;color:#09866a}.material-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.material-title-line h3{font-size:15px;margin:0;overflow-wrap:anywhere}.tag{font-size:11px;font-weight:700;padding:4px 7px;border-radius:4px;background:#eef3f8;color:#48617b}.tag.published{background:#e5f7ef;color:#08704c}.tag.draft{background:#fff4d9;color:#885b00}.material-description{font-size:13px;color:#5d7189;margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}.material-meta{font-size:12px;color:#74869b;display:flex;gap:10px;flex-wrap:wrap}.material-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.material-actions .button{min-height:34px;padding:6px 10px;font-size:12px}.empty{padding:34px 14px;color:#60758f;text-align:center;font-size:14px}.student-shell{max-width:980px}.student-controls{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 15px}.student-controls .search-label{flex:1;min-width:230px}.student-controls select{border:1px solid #cbd7e5;border-radius:5px;padding:10px;background:white;color:#344960}.student-shell .material-list{background:#fff;border:1px solid #dce4ee;border-radius:7px}.student-shell .material-row{padding:21px 0}.student-shell .material-title-line h3{font-size:17px}@media(max-width:760px){.site-inner{padding:14px 17px}.brand{font-size:20px}.shell{padding:24px 16px 60px}.page-heading h1{font-size:25px}.workspace{grid-template-columns:1fr}.group-tabs{gap:17px;margin:22px 0}.composer{padding:18px}.material-list{padding:2px 16px}.student-controls select{width:100%}}@media(max-width:390px){.form-grid{grid-template-columns:1fr}.student-badge{font-size:12px}.back-link{font-size:12px}}

.material-app { display: grid; grid-template-columns: 220px minmax(0,1fr); min-height: 100vh; }
[hidden] { display: none !important; }
.material-sidebar { background: #fff; border-right: 1px solid #dce4ee; padding: 26px 12px; }
.sidebar-brand { display: block; color: #1474ca; font-size: 20px; font-weight: 800; text-decoration: none; padding: 0 12px 28px; }
.material-sidebar nav { display: flex; flex-direction: column; gap: 4px; }
.material-sidebar nav a { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 5px; color: #51657e; text-decoration: none; font-size: 13px; font-weight: 600; }
.material-sidebar nav a:hover { background: #f1f6fc; color: #1474ca; }
.material-sidebar nav a.active { color: #1474ca; background: #e9f3ff; }
.material-main { min-width: 0; }
.mobile-header { display: none; }
.menu-button { border: 1px solid #cbd7e5; border-radius: 5px; background: #fff; color: #344960; width: 42px; height: 42px; }
.student-shell { max-width: 1180px; }
.student-controls { align-items: end; }
.filter-field { display: flex; flex-direction: column; gap: 5px; color: #526781; font-size: 12px; font-weight: 700; }
.filter-field select { min-width: 138px; height: 42px; border: 1px solid #cbd7e5; border-radius: 5px; padding: 8px 10px; background: #fff; color: #14213a; }
.student-controls .search-label { height: 42px; }
.subject-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); align-items: start; gap: 18px; }
.subject-grid > .empty { grid-column: 1/-1; background: #fff; border: 1px solid #dce4ee; border-radius: 6px; }
.subject-card { min-width: 0; background: #fff; border: 1px solid #dce4ee; border-top: 4px solid #1474ca; border-radius: 6px; }
.subject-card.tone-1 { border-top-color: #128a6c; }
.subject-card.tone-2 { border-top-color: #bc6b15; }
.subject-card.tone-3 { border-top-color: #a63f70; }
.subject-card-heading { display: flex; align-items: center; gap: 12px; padding: 17px 20px; border-bottom: 1px solid #e8eef4; }
.subject-icon { color: #1474ca; background: #e8f2fc; border-radius: 5px; width: 41px; height: 41px; display: grid; place-items: center; }
.tone-1 .subject-icon { color: #128a6c; background: #e3f6ef; }
.tone-2 .subject-icon { color: #bc6b15; background: #fff1dc; }
.tone-3 .subject-icon { color: #a63f70; background: #fbe9f1; }
.subject-card-heading h2 { font-size: 18px; margin: 0; overflow-wrap: anywhere; }
.subject-card-heading p { margin: 3px 0 0; color: #71839a; font-size: 12px; }
.subject-files { padding: 0 20px; }
.subject-files .material-row { padding: 17px 0; }
@media(max-width: 1000px) { .workspace { grid-template-columns: 1fr; } }
@media(max-width: 900px) {
  .material-app { display: block; }
  .mobile-header { display: block; }
  .material-sidebar { display: none; position: absolute; z-index: 10; top: 63px; left: 0; width: min(280px, 85vw); box-shadow: 0 12px 24px #14213a30; }
  .material-sidebar.open { display: block; }
  .material-sidebar .sidebar-brand { display: none; }
}
@media(max-width: 720px) { .subject-grid { grid-template-columns: 1fr; } .student-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); } .student-controls .search-label { grid-column: 1/-1; } .filter-field select { min-width: 0; } }
@media(max-width: 450px) { .student-controls { grid-template-columns: 1fr; } .filter-field select { width: 100%; } .subject-card-heading { padding: 15px; } .subject-files { padding: 0 15px; } }
