.teacher-class-invite-trigger{border-color:rgba(255,255,255,.58)!important;background:rgba(255,255,255,.14)!important}
.teacher-class-invite-trigger i{color:#fff}
.teacher-class-invite-trigger:disabled{opacity:.48;cursor:not-allowed}

.class-invite-modal{--invite-blue:#002fa7;--invite-ink:#101828;--invite-muted:#667085;--invite-line:#dfe3ea;--invite-soft:#f7f7f8;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif}
.class-invite-modal .modal-dialog{width:min(460px,calc(100% - 24px));margin-left:auto;margin-right:auto}
.class-invite-modal .modal-content{overflow:hidden;border:1px solid var(--invite-line);border-radius:18px;background:#fff;box-shadow:0 18px 48px rgba(16,24,40,.16)}
.class-invite-modal .modal-header{align-items:flex-start;padding:18px 20px 15px;border-bottom:1px solid var(--invite-line);background:#fff}
.class-invite-modal .modal-header small{display:block;color:var(--invite-blue);font-size:12px;font-weight:700}
.class-invite-modal .modal-title{margin:3px 0 0;color:var(--invite-ink);font-size:21px;font-weight:800;line-height:1.3;text-align:left}
.class-invite-modal .modal-body{padding:16px 20px 22px;background:#fff}
.class-invite-loading,.class-invite-error{display:flex;min-height:160px;align-items:center;justify-content:center;gap:10px;color:var(--invite-muted);text-align:center}
.class-invite-loading span{width:20px;height:20px;border:2px solid #d7dce5;border-top-color:var(--invite-blue);border-radius:50%;animation:class-invite-spin .8s linear infinite}
.class-invite-error{padding:20px;border:1px solid #f4c7cd;border-radius:12px;background:#fff;color:#b42335}
.class-invite-class-summary{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--invite-line);border-radius:12px;background:#fff;text-align:left}
.class-invite-class-summary>i{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:10px;background:var(--invite-blue);color:#fff;font-size:19px}
.class-invite-class-summary div{display:grid;min-width:0;gap:2px}
.class-invite-class-summary strong{overflow:hidden;color:var(--invite-ink);font-size:16px;text-overflow:ellipsis;white-space:nowrap}
.class-invite-class-summary span{overflow:hidden;color:var(--invite-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.class-invite-recommended{display:flex;gap:10px;margin-top:12px;padding:12px 13px;border-left:4px solid var(--invite-blue);background:#f2f5ff;text-align:left}
.class-invite-recommended>i{margin-top:2px;color:var(--invite-blue);font-size:18px}
.class-invite-recommended div{display:grid;gap:3px}
.class-invite-recommended strong{color:var(--invite-ink);font-size:13px}
.class-invite-recommended span{color:#526078;font-size:12px;line-height:1.55}
.class-invite-poster-frame{position:relative;display:block;width:min(224px,68vw);aspect-ratio:1055/1491;margin:15px auto 12px;overflow:hidden;border:1px solid var(--invite-line);border-radius:12px;background:#fff;color:#fff;text-decoration:none}
.class-invite-poster-frame img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.class-invite-poster-frame>span{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:7px;background:rgba(16,24,40,.78);color:#fff;font-size:10px;font-weight:700}
.class-invite-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--invite-line);border-bottom:1px solid var(--invite-line)}
.class-invite-steps>div{display:flex;min-width:0;gap:8px;padding:12px 8px;border-left:1px solid var(--invite-line);text-align:left}
.class-invite-steps>div:first-child{border-left:0;padding-left:0}
.class-invite-steps>div:last-child{padding-right:0}
.class-invite-steps b{color:var(--invite-blue);font-size:17px;line-height:1}
.class-invite-steps span{display:grid;min-width:0;gap:2px}
.class-invite-steps strong{color:var(--invite-ink);font-size:11px;white-space:nowrap}
.class-invite-steps small{color:var(--invite-muted);font-size:9px;line-height:1.35}
.class-invite-meta{display:flex;justify-content:space-between;gap:12px;margin:12px 0 0;color:var(--invite-muted);font-size:11px}
.class-invite-meta span{display:flex;align-items:center;gap:5px}
.class-invite-meta i{color:var(--invite-blue)}
.class-invite-actions{margin-top:14px}
.class-invite-actions a{display:flex;min-height:50px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--invite-blue);border-radius:10px;background:var(--invite-blue);color:#fff;text-decoration:none;font-size:15px;font-weight:800}
.class-invite-actions a:active{transform:translateY(1px)}
.class-invite-save-help{display:flex;align-items:flex-start;justify-content:center;gap:6px;margin:9px 0 0;color:var(--invite-muted);font-size:10px;line-height:1.5;text-align:left}
.class-invite-save-help i{margin-top:1px;color:var(--invite-blue)}
.class-invite-rotate{display:block;margin:12px auto 0;border:0;background:transparent;color:#7b8494;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.class-invite-status{min-height:18px;margin-top:7px;color:#166b4f;font-size:11px;line-height:1.45;text-align:center}
.class-invite-status.is-error{color:#b42335}

.class-invite-login-summary{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #dfe3ea;border-radius:12px;background:#fff}
.class-invite-login-icon{display:grid;flex:0 0 46px;width:46px;height:46px;place-items:center;border-radius:10px;background:#002fa7;color:#fff;font-size:21px}
.class-invite-login-summary div{display:grid;min-width:0;gap:3px}
.class-invite-login-summary small{color:#667085}
.class-invite-login-summary strong{color:#101828;font-size:16px}
.class-invite-login-summary span{color:#344054;font-size:12px;line-height:1.5}

.class-invite-landing-body{margin:0;min-height:100vh;background:#f7f7f8;color:#101828;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif}
.class-invite-landing{box-sizing:border-box;width:min(460px,100%);min-height:100vh;margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) 18px calc(30px + env(safe-area-inset-bottom))}
.class-invite-landing-card,.class-invite-invalid{box-sizing:border-box;padding:22px;border:1px solid #dfe3ea;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(16,24,40,.08);text-align:left}
.class-invite-landing-header{display:flex;align-items:flex-start;gap:14px;padding-bottom:19px;border-bottom:1px solid #dfe3ea}
.class-invite-landing-mark,.class-invite-invalid>span{display:grid;flex:0 0 50px;width:50px;height:50px;place-items:center;border-radius:11px;background:#002fa7;color:#fff;font-size:23px}
.class-invite-eyebrow,.class-invite-invalid small{display:block;margin-bottom:3px;color:#002fa7;font-size:12px;font-weight:700}
.class-invite-landing h1,.class-invite-invalid h1{margin:0;color:#101828;font-size:24px;line-height:1.3}
.class-invite-landing-header p,.class-invite-invalid p{margin:6px 0 0;color:#667085;font-size:13px;line-height:1.6}
.class-invite-target-card{margin:18px 0;border-top:1px solid #dfe3ea;border-bottom:1px solid #dfe3ea}
.class-invite-target-card>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;padding:12px 0;border-top:1px solid #e8ebf0}
.class-invite-target-card>div:first-child{border-top:0}
.class-invite-target-card span{color:#667085;font-size:12px}
.class-invite-target-card strong{overflow-wrap:anywhere;color:#101828;font-size:14px;line-height:1.45}
.class-invite-landing-message{margin:0 0 14px;padding:11px 12px;border-left:3px solid #b27a12;background:#fff;color:#72510d;font-size:12px;line-height:1.55}
.class-invite-landing-message.is-error{border-color:#b42335;color:#b42335}
.class-invite-landing-message.is-success{border-color:#16794f;color:#16794f}
.class-invite-direct-form{display:grid;gap:13px;margin-top:20px;text-align:left}
.class-invite-form-heading{margin-bottom:2px}
.class-invite-form-heading>span{color:#002fa7;font-size:11px;font-weight:700}
.class-invite-form-heading h2{margin:2px 0 0;font-size:19px}
.class-invite-form-heading p{margin:5px 0 0;color:#667085;font-size:12px}
.class-invite-direct-form label{display:grid;gap:6px}
.class-invite-direct-form label>span{color:#344054;font-size:12px;font-weight:700}
.class-invite-direct-form label>div{display:flex;height:48px;align-items:center;border:1px solid #cfd4dc;border-radius:9px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.class-invite-direct-form label>div:focus-within{border-color:#002fa7;box-shadow:0 0 0 3px rgba(0,47,167,.1)}
.class-invite-direct-form label i{flex:0 0 42px;color:#667085;text-align:center}
.class-invite-direct-form input{box-sizing:border-box;width:100%;min-width:0;height:46px;border:0;padding:0 12px 0 0;background:transparent;color:#101828;font-size:15px;outline:none}
.class-invite-direct-form input::placeholder{color:#98a2b3}
.class-invite-landing-primary,.class-invite-landing-primary:visited{box-sizing:border-box;display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;gap:8px;margin-top:3px;border:1px solid #002fa7;border-radius:10px;background:#002fa7;color:#fff;text-decoration:none;font-size:15px;font-weight:800}
.class-invite-security{display:flex!important;align-items:flex-start;justify-content:flex-start;gap:7px;margin:18px 0 0!important;padding-top:14px;border-top:1px solid #dfe3ea;color:#667085!important;font-size:11px!important;line-height:1.55}
.class-invite-security i{margin-top:1px;color:#002fa7}
.class-invite-invalid{display:grid;grid-template-columns:50px minmax(0,1fr);gap:14px;margin-top:18vh}
.class-invite-invalid a{grid-column:1/-1;display:flex;min-height:48px;align-items:center;justify-content:center;border:1px solid #002fa7;border-radius:9px;color:#002fa7;text-decoration:none;font-weight:700}
.class-invite-platform{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 0;color:#667085;font-size:11px}
.class-invite-platform i{color:#002fa7}
.d-none{display:none!important}

@keyframes class-invite-spin{to{transform:rotate(360deg)}}

@media(max-width:390px){
  .class-invite-modal .modal-header{padding:16px 16px 13px}
  .class-invite-modal .modal-body{padding:14px 16px 18px}
  .class-invite-poster-frame{width:min(206px,62vw)}
  .class-invite-steps>div{gap:5px;padding:10px 5px}
  .class-invite-steps b{font-size:15px}
  .class-invite-steps strong{font-size:10px}
  .class-invite-meta{display:grid;grid-template-columns:1fr 1fr}
  .class-invite-landing{padding-left:12px;padding-right:12px}
  .class-invite-landing-card,.class-invite-invalid{padding:18px}
  .class-invite-landing-header{gap:11px}
  .class-invite-landing h1,.class-invite-invalid h1{font-size:21px}
}

@media(max-width:350px){
  .class-invite-steps{grid-template-columns:1fr}
  .class-invite-steps>div{padding:9px 0;border-top:1px solid #dfe3ea;border-left:0}
  .class-invite-steps>div:first-child{border-top:0}
}
