.teacher-courses-workspace{grid-template-rows:65px minmax(0,1fr)}
.courses-canvas{display:grid;grid-template-rows:98px minmax(0,1fr);min-width:0;min-height:0;padding:0 18px 12px;overflow:hidden;background:radial-gradient(circle at 70% 12%,rgba(209,176,112,.09),transparent 30%),repeating-linear-gradient(0deg,rgba(110,75,30,.018) 0 1px,transparent 1px 5px),#f8f2e6}
.courses-heading{display:flex;align-items:end;justify-content:space-between;padding:14px 4px 0;border-bottom:1px solid var(--teacher-line)}
.courses-heading h1{margin:0 0 8px;color:#4a392b;font-size:28px;font-weight:500;letter-spacing:.1em}
.course-tabs{display:flex;gap:34px;height:36px}
.course-tabs button{position:relative;padding:0 7px;border:0;color:#554c42;background:none;font-size:15px}
.course-tabs button.is-active{color:var(--teacher-wine);font-weight:700}
.course-tabs button.is-active::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;background:var(--teacher-wine)}
.wine-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #9e7136;color:#fff4d5;background:linear-gradient(#7c2732,#5e111c);box-shadow:inset 0 0 0 2px rgba(255,225,160,.12)}
.courses-heading>.wine-button{min-width:128px;height:40px;margin-bottom:38px;border-radius:4px}
.courses-layout{display:grid;grid-template-columns:minmax(0,2.08fr) minmax(330px,1fr);gap:14px;min-height:0;padding-top:14px}
.courses-left{display:grid;grid-template-rows:minmax(0,1fr) 220px;gap:14px;min-width:0;min-height:0}
.courses-right{display:grid;grid-template-rows:260px 206px 82px minmax(180px,1fr);gap:10px;min-width:0;min-height:0}
.paper-card{position:relative;min-width:0;border:1px solid rgba(178,132,61,.55);border-radius:4px;background:rgba(255,251,243,.72);box-shadow:inset 0 0 0 3px rgba(255,255,255,.36)}
.paper-card::before,.paper-card::after{content:"";position:absolute;width:16px;height:16px;pointer-events:none}
.paper-card::before{top:5px;left:5px;border-top:1px solid #b59054;border-left:1px solid #b59054}
.paper-card::after{right:5px;bottom:5px;border-right:1px solid #b59054;border-bottom:1px solid #b59054}
.timetable-card{display:grid;grid-template-rows:46px minmax(0,1fr);overflow:hidden}
.schedule-head{display:grid;grid-template-columns:82px repeat(5,1fr);border-bottom:1px solid rgba(161,124,71,.36);text-align:center}
.schedule-head span{display:grid;place-content:center;border-left:1px solid rgba(161,124,71,.28);font-size:14px;line-height:1.15}
.schedule-head span:first-child{border-left:0}.schedule-head small{display:block;margin-top:2px;font-size:11px;font-weight:400}.schedule-head .today{color:#8b2430;background:rgba(128,31,42,.035)}
.schedule-body{display:grid;grid-template-columns:82px minmax(0,1fr);min-height:0}
.time-column{display:grid;grid-template-rows:repeat(6,1fr);border-right:1px solid rgba(161,124,71,.28)}
.time-column span{display:grid;place-content:center;text-align:center;border-bottom:1px solid rgba(161,124,71,.26);font-size:13px;line-height:1.05}
.time-column small{font-size:12px}
.day-grid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(6,1fr);min-height:0;background-image:linear-gradient(to right,transparent calc(20% - 1px),rgba(161,124,71,.24) calc(20% - 1px) 20%),linear-gradient(to bottom,transparent calc(16.666% - 1px),rgba(161,124,71,.24) calc(16.666% - 1px) 16.666%);background-size:20% 100%,100% 16.666%}
.lesson{align-self:center;justify-self:stretch;z-index:1;height:64px;margin:4px 7px;padding:5px;border:1px solid rgba(93,34,37,.65);border-radius:4px;color:#fff6e1;text-align:center;box-shadow:inset 0 0 14px rgba(0,0,0,.13)}
.lesson strong,.lesson span,.lesson small{display:block}.lesson strong{font-size:14px;font-weight:500}.lesson span,.lesson small{margin-top:2px;font-size:10px}
.lesson.wine{background:linear-gradient(135deg,#792c32,#5b171e)}.lesson.navy{border-color:#102a42;background:linear-gradient(135deg,#1a3850,#071b30)}
.day1{grid-column:1}.day2{grid-column:2}.day3{grid-column:3}.day4{grid-column:4}.day5{grid-column:5}
.row1{grid-row:1}.row2{grid-row:2}.row3{grid-row:3}.row4{grid-row:4}.row5{grid-row:5}.row6{grid-row:6}
.selected-lesson{position:relative;z-index:3;align-self:stretch;margin:5px 6px;padding:12px 10px 7px;border:2px solid #8a2a32;border-radius:5px;color:#564637;background:#fffaf0;box-shadow:0 2px 8px rgba(68,39,17,.12);grid-row:3/span 3}
.selected-lesson::before{content:"";position:absolute;top:-8px;left:50%;width:14px;height:14px;border-top:2px solid #8a2a32;border-left:2px solid #8a2a32;background:#fffaf0;transform:translateX(-50%) rotate(45deg)}
.selected-lesson>strong,.selected-lesson>span{display:block;text-align:center}.selected-lesson>strong{color:#80242e;font-size:16px}.selected-lesson>span{margin:3px 0 7px;font-size:11px}
.selected-lesson p{display:flex;align-items:center;gap:6px;margin:5px 0;font-size:10px;line-height:1.35}.selected-lesson p svg{width:13px;height:13px}
.selected-lesson footer{position:absolute;right:8px;bottom:7px;left:8px;display:flex;align-items:center;justify-content:space-between;font-size:10px}
.selected-lesson footer b{padding:3px 6px;border:1px solid #a66565;border-radius:3px;color:#8c3238;font-weight:400}
.courses-bottom{display:grid;grid-template-columns:1fr 1.08fr;gap:14px;min-height:0}
.paper-card>header{display:flex;align-items:center;justify-content:space-between;min-height:43px;padding:0 16px;border-bottom:1px solid rgba(161,124,71,.32)}
.paper-card h2{display:flex;align-items:center;gap:9px;margin:0;color:#4d3c2c;font-size:17px;font-weight:500}.paper-card h2 svg{color:#8f6a36}
.paper-card header button{border:0;color:#8d4b42;background:none;font-size:11px}
.compact-list ul,.files-card ul,.request-card ul,.course-detail ul{margin:0;padding:0;list-style:none}
.compact-list li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;min-height:55px;margin:0 14px;border-bottom:1px solid rgba(161,124,71,.25)}
.compact-list li>svg{width:22px;height:22px;color:#735e42}.compact-list p{margin:0}.compact-list strong,.compact-list span{display:block}.compact-list strong{font-size:13px;font-weight:500}.compact-list span,.compact-list time{margin-top:4px;color:#8a8175;font-size:10px}.compact-list time{white-space:nowrap}
.resource-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px;padding:18px 14px}
.resource-card>div button{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;padding:0;border:0;text-align:left;background:none}
.resource-card i{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:#fff}.resource-card i svg{width:22px;height:22px}
.resource-card .red{background:#a94d3f}.resource-card .violet{background:#665c84}.resource-card .teal{background:#4f7c7b}.resource-card .purple{background:#62587c}.resource-card .blue{background:#4b6078}.resource-card .brown{background:#85614b}
.resource-card strong,.resource-card small{display:block}.resource-card strong{font-size:13px;font-weight:500}.resource-card small{margin-top:4px;color:#877b6c;font-size:10px}
.course-detail{padding-bottom:12px}.course-detail .detail-title{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;padding:15px 16px 8px}
.detail-title>span{display:grid;place-items:center;width:51px;height:51px;border:2px solid #a2753d;border-radius:50%;color:#fff0d4;background:#80303a;font-size:24px}
.detail-title h3{margin:0;color:#3d342d;font-size:18px;font-weight:500;white-space:nowrap}.detail-title b{padding:5px 9px;border:1px solid #c9aa73;border-radius:3px;color:#8d6d39;font-size:11px;font-weight:400}
.course-detail ul{display:grid;gap:7px;padding:3px 20px}.course-detail li{display:flex;align-items:center;gap:10px;color:#675c50;font-size:12px}.course-detail li svg{width:17px;height:17px;color:#8f6d3d}
.detail-actions{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;padding:10px 14px 0}.detail-actions button{display:flex;align-items:center;justify-content:center;gap:7px;height:42px;border:1px solid #b68c52;border-radius:3px;color:#6e5432;background:#fffaf0}
.detail-actions .wine-button{color:#fff4d5;background:linear-gradient(#7c2732,#5e111c)}
.files-card{display:grid;grid-template-rows:43px minmax(0,1fr) 29px;overflow:hidden}
.files-card li{display:grid;grid-template-columns:22px minmax(0,1fr) 50px 54px;align-items:center;gap:7px;min-height:34px;margin:0 13px;border-bottom:1px solid rgba(161,124,71,.24);font-size:10px}
.files-card li i{display:grid;place-items:center;width:18px;height:22px;border-radius:2px;color:#fff;font:700 9px Arial}.files-card .ppt{background:#d65b34}.files-card .pdf{background:#c44639}.files-card .word{background:#4a6ca8}
.files-card li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-card li small,.files-card li time{color:#7f7569;text-align:right}.files-card>button{border:0;color:#88453c;background:none;font-size:11px}
.progress-card{display:grid;grid-template-columns:auto 1fr 48px 104px;grid-template-rows:35px 27px;align-items:center;padding:5px 12px}
.progress-card h2{font-size:15px}.progress-track{height:8px;margin-left:12px;border-radius:8px;background:#e5dccb;overflow:hidden}.progress-track i{display:block;width:50%;height:100%;background:#bd8b38}
.progress-card>strong{font-size:13px;text-align:center}.progress-card>p{grid-column:1/4;margin:0;color:#85796a;font-size:9px}.progress-card>button{height:25px;border:1px solid #c2a06d;border-radius:3px;color:#735735;background:#fffaf0;font-size:10px}
.request-card{display:grid;grid-template-rows:43px minmax(0,1fr) 28px;overflow:hidden}.request-card header button{padding:5px 9px;border:1px solid #b88a4d;border-radius:3px;color:#7f2c34;background:#fff8eb}
.request-card li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:60px;margin:0 13px;border-bottom:1px solid rgba(161,124,71,.25)}
.request-card p{margin:0;font-size:10px;line-height:1.35}.request-card p small{display:block;margin-top:5px;color:#8d8174}.request-card li>b{padding:4px 9px;border:1px solid #cbc1b0;border-radius:10px;color:#8c8174;font-size:9px;font-weight:400}
.request-card li .pending{color:#a46322;background:#fff2d9}.request-card li .passed{color:#47784b;background:#ebf3e7}.request-more{border:0;color:#88453c;background:none;font-size:10px}
.teacher-toast{position:fixed;right:28px;bottom:28px;z-index:50;padding:11px 18px;border:1px solid #c69a53;border-radius:4px;color:#fff3d4;background:#681923;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none}.teacher-toast.is-visible{opacity:1;transform:none}
@media(max-width:1280px){.courses-layout{grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr)}.lesson{margin-inline:4px}.detail-title h3{font-size:15px}.resource-card>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.teacher-app{height:auto;min-height:100vh;overflow:visible}.teacher-courses-workspace{display:block}.teacher-topbar{position:sticky;top:0;z-index:20}.courses-canvas{display:block;overflow:visible;padding:14px}.courses-heading{align-items:start}.courses-heading>.wine-button{margin:4px 0 0}.courses-layout,.courses-left,.courses-right{display:block}.timetable-card{height:620px;margin-bottom:14px;overflow-x:auto}.schedule-head,.schedule-body{min-width:760px}.courses-bottom{margin-bottom:14px}.courses-right>*{margin-bottom:14px}.course-detail,.files-card,.request-card{min-height:220px}.progress-card{min-height:82px}}
@media(max-width:680px){.courses-heading{display:block}.courses-heading>.wine-button{position:absolute;top:18px;right:14px;min-width:110px}.course-tabs{gap:14px;overflow-x:auto}.courses-layout{padding-top:14px}.courses-bottom{grid-template-columns:1fr}.teacher-topbar{height:62px}.courses-canvas{padding:10px}.schedule-head,.schedule-body{min-width:680px}.resource-card>div{grid-template-columns:repeat(2,1fr)}}
