.ptp-teacher-modal[hidden]{display:none!important}.ptp-teacher-modal{position:fixed;inset:0;z-index:220;font-family:"Vazirmatn","Vazir",Tahoma,Arial,sans-serif}.ptp-teacher-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(5,13,19,.72);backdrop-filter:blur(10px);cursor:pointer}.ptp-teacher-dialog{position:absolute;top:50%;left:50%;width:min(920px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 36px));transform:translate(-50%,-50%);overflow:auto;border:1px solid rgba(255,255,255,.11);border-radius:26px;background:#071e29;color:#f8fffd;box-shadow:0 30px 90px rgba(0,0,0,.42)}body.ptp-teacher-open{overflow:hidden}.ptp-teacher-dialog__close{position:absolute;top:16px;left:16px;z-index:3;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;cursor:pointer}.ptp-teacher-dialog__close svg{width:20px;height:20px}.ptp-teacher-form-stage{padding:42px}.ptp-teacher-head{padding-left:48px;margin-bottom:26px}.ptp-teacher-head>span,.ptp-teacher-success__kicker{display:block;margin-bottom:8px;color:#2EB58A;font-size:11px;font-weight:800;letter-spacing:.12em}.ptp-teacher-head h2,.ptp-teacher-success h2{margin:0 0 10px;font-size:30px;line-height:1.45;font-weight:800;color:#fff}.ptp-teacher-head p,.ptp-teacher-success p{margin:0;max-width:700px;color:rgba(247,255,252,.67);font-size:13px;line-height:2}.ptp-teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ptp-teacher-field{display:grid;gap:8px}.ptp-teacher-field--wide{grid-column:1/-1}.ptp-teacher-field>span,.ptp-teacher-upload>span strong{color:#f7fffc;font-size:12px;font-weight:700}.ptp-teacher-field small,.ptp-teacher-upload small{color:rgba(247,255,252,.46);font-size:10px;font-weight:500}.ptp-teacher-field input,.ptp-teacher-field select,.ptp-teacher-field textarea{width:100%;min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.055);color:#fff;outline:none;font:500 13px/1.7 inherit;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.ptp-teacher-field input,.ptp-teacher-field select{height:46px;padding:0 13px}.ptp-teacher-field textarea{padding:12px 13px;resize:vertical;min-height:92px}.ptp-teacher-field input:focus,.ptp-teacher-field select:focus,.ptp-teacher-field textarea:focus{border-color:#2EB58A;background:rgba(46,181,138,.06);box-shadow:0 0 0 3px rgba(46,181,138,.12)}.ptp-teacher-field input[readonly]{opacity:.72;cursor:default}.ptp-teacher-field select option{color:#101820;background:#fff}.ptp-teacher-upload{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:70px;padding:13px 15px;border:1px dashed rgba(46,181,138,.36);border-radius:15px;background:rgba(46,181,138,.045);cursor:pointer;overflow:hidden}.ptp-teacher-upload>span{display:grid;gap:4px;min-width:0}.ptp-teacher-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.ptp-teacher-upload em{flex:0 0 auto;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 10px;border-radius:9px;background:#2EB58A;color:#04241b;font-size:10px;font-style:normal;font-weight:800}.ptp-teacher-error{min-height:20px;margin:12px 0 0;color:#ffaaa2;font-size:11px}.ptp-teacher-actions{display:flex;justify-content:flex-end;margin-top:4px}.ptp-teacher-submit,.ptp-teacher-success button{min-width:170px;height:46px;padding:0 20px;border:0;border-radius:13px;background:#2EB58A;color:#fff;font:800 13px/1 inherit;cursor:pointer;box-shadow:0 10px 28px rgba(46,181,138,.18)}.ptp-teacher-success{padding:64px 42px;text-align:center}.ptp-teacher-success__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:20px;background:rgba(46,181,138,.13);color:#2EB58A;font-size:28px;font-weight:900}.ptp-teacher-success__code{width:fit-content;margin:20px auto;padding:10px 14px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.66);font-size:12px}.ptp-teacher-success__code strong{color:#fff;direction:ltr;unicode-bidi:isolate}.ptp-teacher-banner{display:block;position:relative;width:100%;overflow:hidden;border-radius:18px;background:#020b10;box-shadow:0 18px 50px rgba(5,16,25,.12);cursor:pointer}.ptp-teacher-banner img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover}.ptp-teacher-banner:focus-visible{outline:3px solid #2EB58A;outline-offset:4px}.ptp-teacher-banner-wrap{padding:22px 0 8px}.ptp-library .ptp-teacher-banner-wrap{padding:26px 0 10px}.ptp-library .ptp-teacher-banner{border-radius:16px}
@media(max-width:700px){.ptp-teacher-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:20px}.ptp-teacher-form-stage{padding:30px 16px 20px}.ptp-teacher-head{padding-left:42px;margin-bottom:20px}.ptp-teacher-head h2,.ptp-teacher-success h2{font-size:22px}.ptp-teacher-head p{font-size:12px}.ptp-teacher-grid{grid-template-columns:1fr;gap:13px}.ptp-teacher-field--wide{grid-column:auto}.ptp-teacher-upload{min-height:66px}.ptp-teacher-actions{justify-content:stretch}.ptp-teacher-submit{width:100%}.ptp-teacher-success{padding:52px 18px 28px}.ptp-teacher-banner-wrap{padding:14px 0 4px}.ptp-teacher-banner{border-radius:12px}.ptp-teacher-banner img{aspect-ratio:2.25/1;object-fit:cover;object-position:center}.ptp-library .ptp-teacher-banner-wrap{padding:16px 0 4px}}


/* Full-screen teacher application — no boxed modal / no visible inner scrollbar */
.ptp-teacher-modal {
  background:
    radial-gradient(circle at 15% 10%, rgba(46,181,138,.10), transparent 34%),
    radial-gradient(circle at 90% 90%, rgba(92,70,190,.10), transparent 32%),
    #071e29;
}

.ptp-teacher-modal__backdrop {
  display: none !important;
}

.ptp-teacher-dialog {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
  transform: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    radial-gradient(circle at 12% 5%, rgba(46,181,138,.10), transparent 30%),
    #071e29 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.ptp-teacher-dialog::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.ptp-teacher-dialog__close {
  position: fixed !important;
  top: 18px !important;
  left: 22px !important;
  z-index: 10 !important;
}

.ptp-teacher-form-stage {
  width: min(1320px, calc(100% - 64px));
  min-height: 100dvh;
  margin: 0 auto;
  padding: 32px 0 28px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ptp-teacher-head {
  padding-left: 64px !important;
  margin-bottom: 18px !important;
}

.ptp-teacher-head h2 {
  font-size: 27px !important;
}

.ptp-teacher-head p {
  max-width: 820px !important;
  line-height: 1.85 !important;
}

.ptp-teacher-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px 14px !important;
}

.ptp-teacher-field {
  gap: 6px !important;
}

.ptp-teacher-field--wide {
  grid-column: span 2 !important;
}

.ptp-teacher-field input,
.ptp-teacher-field select {
  height: 44px !important;
}

.ptp-teacher-field textarea {
  min-height: 76px !important;
  max-height: 76px !important;
  resize: none !important;
}

.ptp-teacher-upload {
  min-height: 62px !important;
  padding: 10px 13px !important;
}

.ptp-teacher-error {
  margin-top: 8px !important;
  min-height: 18px !important;
}

.ptp-teacher-actions {
  margin-top: 2px !important;
}

.ptp-teacher-success {
  width: min(760px, calc(100% - 40px));
  min-height: 100dvh;
  margin: 0 auto;
  padding: 40px 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.ptp-teacher-success[hidden] {
  display: none !important;
}

@media (max-width: 1100px) {
  .ptp-teacher-form-stage {
    width: min(960px, calc(100% - 48px));
    justify-content: flex-start;
    padding-top: 72px !important;
  }

  .ptp-teacher-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ptp-teacher-field--wide {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 700px) {
  .ptp-teacher-dialog {
    width: 100vw !important;
    height: 100dvh !important;
    max-height: none !important;
    border-radius: 0 !important;
  }

  .ptp-teacher-dialog__close {
    top: 12px !important;
    left: 14px !important;
  }

  .ptp-teacher-form-stage {
    width: calc(100% - 28px);
    min-height: 100dvh;
    padding: 68px 0 24px !important;
    justify-content: flex-start;
  }

  .ptp-teacher-head {
    padding-left: 46px !important;
    margin-bottom: 18px !important;
  }

  .ptp-teacher-head h2 {
    font-size: 22px !important;
  }

  .ptp-teacher-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .ptp-teacher-field--wide {
    grid-column: auto !important;
  }

  .ptp-teacher-field textarea {
    min-height: 90px !important;
    max-height: none !important;
  }

  .ptp-teacher-actions {
    padding-bottom: 10px;
  }

  .ptp-teacher-success {
    width: calc(100% - 32px);
    min-height: 100dvh;
    padding: 70px 0 30px !important;
  }
}

/* 2026-09-07 — viewport-fit responsive teacher application */
.ptp-teacher-modal{
  z-index:5000 !important;
}

@media (min-width:1101px){
  .ptp-teacher-dialog{
    overflow:hidden !important;
  }

  .ptp-teacher-form-stage{
    width:min(1280px,calc(100vw - 48px)) !important;
    height:100dvh !important;
    min-height:0 !important;
    padding:16px 0 12px !important;
    justify-content:center !important;
    overflow:hidden !important;
  }

  .ptp-teacher-head{
    padding-left:56px !important;
    margin-bottom:10px !important;
    flex:0 0 auto;
  }

  .ptp-teacher-head>span{
    margin-bottom:3px !important;
    font-size:9px !important;
  }

  .ptp-teacher-head h2{
    margin-bottom:4px !important;
    font-size:23px !important;
    line-height:1.28 !important;
  }

  .ptp-teacher-head p{
    font-size:11px !important;
    line-height:1.6 !important;
  }

  .ptp-teacher-form{
    min-height:0;
    flex:0 0 auto;
  }

  .ptp-teacher-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px 12px !important;
    align-items:end;
  }

  .ptp-teacher-field{
    gap:3px !important;
    min-width:0;
  }

  .ptp-teacher-field>span,
  .ptp-teacher-upload>span strong{
    font-size:10px !important;
    line-height:1.35 !important;
  }

  .ptp-teacher-field small,
  .ptp-teacher-upload small{
    font-size:8px !important;
  }

  .ptp-teacher-field input,
  .ptp-teacher-field select{
    height:38px !important;
    padding:0 11px !important;
    border-radius:10px !important;
    font-size:11px !important;
  }

  .ptp-teacher-field textarea{
    min-height:54px !important;
    height:54px !important;
    max-height:54px !important;
    padding:8px 11px !important;
    border-radius:10px !important;
    font-size:11px !important;
    line-height:1.55 !important;
  }

  .ptp-teacher-field--wide{
    grid-column:span 2 !important;
  }

  .ptp-teacher-upload{
    grid-column:span 2;
    min-height:50px !important;
    padding:7px 11px !important;
    gap:10px !important;
    border-radius:11px !important;
  }

  .ptp-teacher-upload>span{
    gap:1px !important;
  }

  .ptp-teacher-upload em{
    padding:6px 9px !important;
    border-radius:8px !important;
    font-size:9px !important;
  }

  .ptp-teacher-error{
    min-height:14px !important;
    height:14px !important;
    margin:5px 0 0 !important;
    font-size:9px !important;
    line-height:14px !important;
  }

  .ptp-teacher-actions{
    margin-top:3px !important;
  }

  .ptp-teacher-submit{
    min-width:150px !important;
    height:38px !important;
    padding:0 16px !important;
    border-radius:10px !important;
    font-size:11px !important;
  }

  .ptp-teacher-dialog__close{
    top:12px !important;
    left:16px !important;
    width:36px !important;
    height:36px !important;
  }
}

@media (min-width:1101px) and (max-height:680px){
  .ptp-teacher-form-stage{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  .ptp-teacher-head{
    margin-bottom:6px !important;
  }
  .ptp-teacher-head h2{
    font-size:20px !important;
  }
  .ptp-teacher-head p{
    font-size:10px !important;
  }
  .ptp-teacher-grid{
    gap:6px 10px !important;
  }
  .ptp-teacher-field input,
  .ptp-teacher-field select{
    height:34px !important;
  }
  .ptp-teacher-field textarea{
    min-height:46px !important;
    height:46px !important;
    max-height:46px !important;
  }
  .ptp-teacher-upload{
    min-height:44px !important;
  }
  .ptp-teacher-submit{
    height:34px !important;
  }
}

@media (min-width:701px) and (max-width:1100px){
  .ptp-teacher-dialog{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    scrollbar-width:none;
  }
  .ptp-teacher-dialog::-webkit-scrollbar{display:none}
  .ptp-teacher-form-stage{
    width:min(900px,calc(100% - 40px)) !important;
    min-height:100dvh !important;
    padding:64px 0 28px !important;
  }
  .ptp-teacher-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px 12px !important;
  }
  .ptp-teacher-field--wide,
  .ptp-teacher-upload{
    grid-column:1/-1 !important;
  }
}

@media (max-width:700px){
  .ptp-teacher-modal{
    z-index:5000 !important;
  }
  .ptp-teacher-dialog{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    scrollbar-width:none;
  }
  .ptp-teacher-dialog::-webkit-scrollbar{display:none}
  .ptp-teacher-form-stage{
    width:calc(100% - 24px) !important;
    padding:58px 0 22px !important;
  }
  .ptp-teacher-head{
    padding-left:42px !important;
    margin-bottom:14px !important;
  }
  .ptp-teacher-head h2{
    font-size:20px !important;
  }
  .ptp-teacher-head p{
    font-size:11px !important;
    line-height:1.75 !important;
  }
  .ptp-teacher-grid{
    gap:10px !important;
  }
  .ptp-teacher-field input,
  .ptp-teacher-field select{
    height:42px !important;
  }
  .ptp-teacher-field textarea{
    min-height:78px !important;
  }
  .ptp-teacher-upload{
    min-height:58px !important;
  }
}
