.teacher-entry-page { min-height: 100vh; background: #f4f7f6; color: #202124; }
.teacher-entry-header { position: sticky; z-index: 20; top: 0; min-height: 84px; display: grid; grid-template-columns: 250px minmax(260px,1fr) auto; align-items: center; gap: 24px; padding: 12px 28px; background: rgba(255,255,255,.96); border-bottom: 1px solid #dce3e0; box-shadow: 0 3px 14px rgba(22,65,51,.06); backdrop-filter: blur(14px); }
.teacher-entry-logo { width: 202px; }
.teacher-entry-logo img { width: 100%; height: 58px; object-fit: contain; object-position: left center; }
.teacher-entry-title span,.teacher-entry-title strong { display: block; }
.teacher-entry-title span { color: #6c7773; font-size: 12px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.teacher-entry-title strong { font-size: 20px; }
.teacher-entry-auth { display: flex; gap: 9px; }
.teacher-entry-button { min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; color: #176b4e; border: 1px solid #aacdbf; border-radius: 10px; font-size: 13px; font-weight: 850; }
.teacher-entry-button.primary { color: #fff; background: #18845e; border-color: #18845e; box-shadow: 0 8px 20px rgba(24,132,94,.18); }
.teacher-entry-layout { min-height: calc(100vh - 84px); display: grid; grid-template-columns: 276px minmax(0,1fr); }
.teacher-entry-sidebar { position: sticky; top: 84px; align-self: start; height: calc(100vh - 84px); overflow: auto; padding: 28px 16px; background: #f7f9f8; border-right: 1px solid #dfe5e2; }
.teacher-entry-nav { min-height: 52px; margin-bottom: 5px; padding: 0 15px; display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 10px; color: #176b4e; border-radius: 10px; font-size: 14px; font-weight: 850; }
.teacher-entry-nav.active { background: #fff; box-shadow: inset 4px 0 #18845e,0 5px 16px rgba(20,83,61,.06); }
.teacher-entry-nav.public { margin-bottom: 14px; color: #115d44; background: #e8f5ef; border: 1px solid #c4e3d6; }
.teacher-entry-nav.locked { color: #88918e; }
.teacher-entry-nav small { font-size: 10px; filter: grayscale(1); opacity: .55; }
.teacher-entry-main { min-width: 0; padding: 34px clamp(24px,4vw,64px) 80px; }
.teacher-entry-hero { overflow: hidden; min-height: 350px; display: grid; grid-template-columns: minmax(0,1fr) 250px; align-items: center; gap: 32px; padding: clamp(32px,5vw,68px); color: #fff; background: linear-gradient(126deg,#075139 0%,#0f7452 55%,#20a372 100%); border-radius: 24px; box-shadow: 0 22px 48px rgba(10,91,63,.22); }
.teacher-entry-eyebrow { margin-bottom: 15px; color: #d7f6e9; font-size: 13px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.teacher-entry-hero h1 { max-width: 900px; margin: 0; color: #fff; font-size: clamp(38px,5vw,70px); line-height: 1.01; letter-spacing: -.035em; }
.teacher-entry-lead { max-width: 850px; margin: 22px 0 0; color: #e1f5ee; font-size: clamp(17px,1.5vw,22px); line-height: 1.55; }
.teacher-entry-hero-actions { margin-top: 30px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.teacher-entry-hero-button { min-height: 54px; padding: 0 22px; display: inline-flex; align-items: center; gap: 12px; color: #0c6045; background: #fff; border-radius: 12px; font-size: 15px; font-weight: 900; box-shadow: 0 10px 28px rgba(0,0,0,.14); }
.teacher-entry-login-link { color: #fff; font-size: 14px; font-weight: 850; text-decoration: underline; text-underline-offset: 4px; }
.teacher-entry-mark { width: 230px; height: 230px; display: grid; place-items: center; align-content: center; color: #0c684a; background: rgba(255,255,255,.95); border: 8px solid rgba(255,255,255,.3); border-radius: 50%; box-shadow: 0 20px 50px rgba(0,0,0,.2); }
.teacher-entry-mark strong { font-size: 52px; line-height: 1; }
.teacher-entry-mark span { font-size: 25px; font-weight: 900; }
.teacher-entry-section { margin-top: 56px; }
.teacher-entry-section-label { margin-bottom: 7px; color: #18845e; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.teacher-entry-section h2 { max-width: 980px; margin: 0; font-size: clamp(28px,3vw,42px); line-height: 1.1; letter-spacing: -.02em; }
.teacher-entry-section-copy { max-width: 900px; margin: 13px 0 0; color: #67716d; font-size: 16px; }
.teacher-entry-public-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.teacher-entry-public-card { min-height: 142px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 15px; padding: 22px; color: #26312d; background: #fff; border: 1px solid #d9e3df; border-radius: 16px; box-shadow: 0 9px 24px rgba(29,65,52,.06); }
.teacher-entry-public-card.featured { color: #fff; background: #176b4e; border-color: #176b4e; }
.teacher-entry-public-card > span { font-size: 28px; }
.teacher-entry-public-card strong,.teacher-entry-public-card small { display: block; }
.teacher-entry-public-card strong { margin-bottom: 7px; font-size: 17px; }
.teacher-entry-public-card small { color: #68736f; font-size: 13px; line-height: 1.45; }
.teacher-entry-public-card.featured small { color: #d8f3e8; }
.teacher-entry-preview { padding-top: 48px; border-top: 1px solid #dce4e1; }
.teacher-entry-school-banner { margin-top: 26px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 22px; padding: 30px; color: #fff; background: linear-gradient(125deg,#0b5c42,#18845e 62%,#1da06f); border-radius: 19px; box-shadow: 0 15px 34px rgba(15,92,66,.17); }
.teacher-entry-school-icon { width: 76px; height: 76px; display: grid; place-items: center; color: #0b5c42; background: #fff; border-radius: 20px; font-size: 34px; }
.teacher-entry-school-banner small { color: #d8f7eb; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.teacher-entry-school-banner strong { display: block; margin-top: 5px; font-size: 42px; line-height: 1; }
.teacher-entry-school-banner h3 { margin: 4px 0 0; color: #fff; font-size: clamp(21px,2.2vw,30px); }
.teacher-entry-school-banner p { margin: 6px 0 0; color: #d8f7eb; }
.teacher-entry-requires { padding: 10px 13px; color: #416159; background: #eef3f1; border-radius: 10px; font-size: 12px; font-weight: 850; }
.teacher-entry-toolbar { margin: 16px 0; display: flex; flex-wrap: wrap; gap: 9px; }
.teacher-entry-toolbar span { min-height: 43px; padding: 0 14px; display: inline-flex; align-items: center; color: #9aa19f; background: #f1f3f2; border: 1px solid #dde2e0; border-radius: 9px; font-size: 12px; font-weight: 800; }
.teacher-entry-module-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.teacher-entry-module-grid article { min-height: 160px; position: relative; display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 16px; padding: 22px; background: #fff; border: 1px solid #dfe5e2; border-radius: 16px; box-shadow: 0 8px 22px rgba(32,62,51,.05); }
.teacher-entry-module-grid article > span { width: 52px; height: 52px; display: grid; place-items: center; color: #8a9691; background: #eef1f0; border-radius: 13px; font-size: 24px; }
.teacher-entry-module-grid h3 { margin: 3px 0 8px; font-size: 19px; }
.teacher-entry-module-grid p { margin: 0; color: #737d79; font-size: 13px; }
.teacher-entry-module-grid article > small { position: absolute; right: 18px; bottom: 16px; color: #929a97; font-size: 11px; font-weight: 800; }
@media (max-width:1120px) { .teacher-entry-header { grid-template-columns:180px minmax(180px,1fr) auto; gap:15px; padding-inline:18px; } .teacher-entry-logo { width:168px; } .teacher-entry-layout { grid-template-columns:225px minmax(0,1fr); } .teacher-entry-hero { grid-template-columns:1fr; } .teacher-entry-mark { display:none; } .teacher-entry-public-grid { grid-template-columns:1fr; } }
@media (max-width:780px) { .teacher-entry-header { position:relative; grid-template-columns:1fr; } .teacher-entry-title { display:none; } .teacher-entry-auth { display:grid; grid-template-columns:1fr 1fr; } .teacher-entry-layout { display:block; } .teacher-entry-sidebar { position:static; width:100%; height:auto; overflow-x:auto; display:flex; gap:7px; padding:12px 14px; border-right:0; } .teacher-entry-nav { min-width:max-content; margin:0; grid-template-columns:auto auto auto; } .teacher-entry-nav.locked { display:none; } .teacher-entry-main { padding:20px 14px 70px; } .teacher-entry-hero { min-height:0; padding:34px 24px; border-radius:18px; } .teacher-entry-hero h1 { font-size:clamp(34px,10vw,48px); } .teacher-entry-lead { font-size:16px; } .teacher-entry-school-banner { grid-template-columns:auto minmax(0,1fr); padding:22px; } .teacher-entry-requires { grid-column:1/-1; } .teacher-entry-module-grid { grid-template-columns:1fr; } }
@media (max-width:480px) { .teacher-entry-header { padding:10px 12px; } .teacher-entry-logo { width:150px; } .teacher-entry-button { min-height:47px; padding:0 10px; font-size:11px; text-align:center; } .teacher-entry-hero-actions { align-items:stretch; flex-direction:column; } .teacher-entry-hero-button,.teacher-entry-login-link { width:100%; justify-content:center; text-align:center; } .teacher-entry-school-icon { width:58px; height:58px; border-radius:15px; } .teacher-entry-school-banner h3 { font-size:20px; } .teacher-entry-toolbar { display:grid; grid-template-columns:1fr 1fr; } }
