:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#292442;background:#f6f2ff}*{box-sizing:border-box}body{margin:0}header{background:#7665d4;color:white;padding:20px clamp(18px,5vw,60px);display:flex;justify-content:space-between;align-items:center}header h1{margin:0}header p{margin:2px 0 0;color:#eee}main{max-width:1100px;margin:auto;padding:22px 15px}.panel,.stats article{background:white;border-radius:18px;padding:20px;box-shadow:0 2px 18px #25165110;margin-bottom:17px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats article{display:flex;flex-direction:column;gap:8px}.stats b{font-size:1.5rem;color:#7665d4}h2{margin:0 0 12px;font-size:1.2rem}form{display:grid;gap:10px}label{display:grid;gap:5px;color:#554f67;font-size:.92rem;flex:1}input,select,button{font:inherit;border:1px solid #d9d3eb;border-radius:10px;padding:10px;min-width:0}input[type=color]{width:54px;height:42px;padding:3px}button{background:#7665d4;color:white;border:none;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.3;cursor:not-allowed}.ghost{background:#eee9fa;color:#5848b2}.inline{display:flex;gap:8px;align-items:end}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.toolbar small{color:#706b7a}.card{padding:14px;border:1px solid #ebe7f4;border-radius:14px;margin:8px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}.card.completed{background:#ededf0;color:#73717b}.card h3{margin:4px 0}.card p{margin:4px 0;color:#777}.card .controls{display:flex;gap:5px;flex-wrap:wrap}.card button{font-size:.78rem;padding:7px}.tag{display:inline-block;border-radius:12px;padding:3px 8px;background:#f3efff;color:#5c4eb4;font-size:.78rem}.warning{color:#a56600!important}.late{color:#b8253b!important}#subjectList{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}#message{position:sticky;bottom:8px;color:#5c3091;background:#faf6ff;border-radius:10px;padding:8px;min-height:1.5em}@media(max-width:700px){.columns{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.toolbar,.card{align-items:stretch;flex-direction:column}.card .controls{justify-content:flex-end}}
/* Supervisão */
.supervisor-item{border:1px solid #e5dff5;border-radius:14px;padding:14px;margin-top:14px;display:grid;gap:10px}
.supervisor-item details{background:#faf8ff;border-radius:10px;padding:10px}
.supervisor-item summary{cursor:pointer;font-weight:600}
.checkline{display:flex;align-items:center;gap:8px;margin:6px 0;flex-wrap:wrap}
.checkline input{min-width:auto;accent-color:#7665d4}
.blocked-card{background:#ededf0;border-style:dashed;color:#686575}.blocked-card p{color:#6d6a76}
.hint{color:#6e687d;font-size:.9rem}
#supervisorWorkspace{margin-top:14px}

/* Navegação multipágina sem alterar os módulos de dados existentes */
.nav-tabs{display:flex;gap:7px;overflow-x:auto;padding:5px 0 17px;margin-bottom:6px;scrollbar-width:thin}
.nav-tabs button{white-space:nowrap;background:white;color:#5744a0;border:1px solid #e5ddf6;padding:10px 12px}
.nav-tabs button.nav-active{background:#7665d4;color:#fff;border-color:#7665d4}
[data-page-hidden="true"]{display:none!important}
.page-sections{display:block}.page-sections>.panel{max-width:850px;margin-inline:auto}
#supervisorWorkspace[hidden]{display:none!important}
.alias-form{margin:12px 0;padding:12px;border:1px solid #e9e2f6;border-radius:12px}
@media(max-width:700px){.nav-tabs{position:sticky;top:0;z-index:5;background:#f6f2ff;margin-inline:-15px;padding:10px 15px}.nav-tabs button{font-size:.87rem}}
/* Materiais, links e comentários */
.materials-panel{border:2px solid #dcd1f8;border-radius:15px;padding:16px;background:#fdfbff;margin-top:14px}
.materials-panel h3{margin:18px 0 8px}.materials-panel form{background:white;padding:13px;border:1px solid #e9e2f4;border-radius:12px;margin:10px 0}
.materials-panel textarea{font:inherit;border:1px solid #d9d3eb;border-radius:10px;padding:10px;resize:vertical;width:100%}
.material-item{display:flex;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid #e7e0f3;align-items:center;flex-wrap:wrap}
.material-item.is-hidden{opacity:.65}.comment-item{background:white;border-left:3px solid #7665d4;margin:9px 0;padding:9px 12px;border-radius:8px}.comment-item small{color:#716e79}.comment-item p{white-space:pre-wrap;overflow-wrap:anywhere}

/* Estudaí 0.4.1 */
.inline-materials{display:flex;gap:5px;flex-wrap:wrap;max-width:320px}.inline-file{font-size:.74rem!important;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0;padding:5px;background:#f6f2ff;border-radius:7px}.photo-line button{padding:5px;font-size:.8rem}.photo-preview{max-height:180px;overflow:auto}

/* Estudaí 0.4.2: ajustes para Safari iPhone e telefones pequenos */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;overflow-x:hidden}
.photo-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.photo-inputs input{max-width:100%;width:100%;font-size:.85rem}
@media(max-width:700px){
 header{padding:12px 14px;gap:8px;align-items:center}
 header h1{font-size:1.25rem;line-height:1.25}
 header p{font-size:.78rem}
 header #logout{font-size:.85rem;padding:8px 10px;flex:none}
 main{padding:12px 10px}
 .panel,.stats article{padding:14px;border-radius:14px;margin-bottom:12px}
 .nav-tabs{gap:6px;margin-inline:-10px;padding:8px 10px 12px;position:relative;max-width:calc(100vw);overscroll-behavior-x:contain}
 .nav-tabs button{flex:0 0 auto;white-space:nowrap;font-size:.8rem;min-height:42px;padding:8px 10px}
 .toolbar{gap:10px}
 .toolbar label,.toolbar select{width:100%}
 .card{padding:12px;min-width:0}
 .card .controls{justify-content:flex-start}
 .card button{min-height:38px;font-size:.8rem}
 .materials-panel{padding:10px;min-width:0}
 .materials-panel form{padding:9px;min-width:0}
 .materials-panel h2{font-size:1rem}
 .photo-inputs{grid-template-columns:1fr}
 .inline-materials{max-width:100%}
 input,select,textarea{max-width:100%;font-size:16px}
}

/* Estudaí 0.4.3: documentos visíveis diretamente no corpo do cartão */
.card > div:first-child{min-width:0;flex:1}
.card .inline-materials{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid #eae4f6;max-width:100%;width:100%}
.card .inline-heading{font-size:.84rem;color:#5b4b98}
.card .inline-file{display:block;max-width:min(100%,480px);width:auto;text-align:left;padding:9px 11px!important;font-size:.87rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f0ebff;color:#5143a8;border-radius:9px;min-height:40px;cursor:pointer}
.card .inline-more{font-size:.82rem;color:#746d80}
@media(max-width:700px){.card .inline-file{max-width:100%;font-size:.9rem!important;min-height:44px}}

/* Estudaí 0.4.4 — botões independentes e restauração */
.card .controls .action-plus,.card .controls .action-chat{display:inline-flex;align-items:center;justify-content:center;flex:none;width:43px;height:43px;min-width:43px;border-radius:13px;font-size:1.35rem!important;font-weight:800;padding:0!important;box-shadow:0 2px 7px #33256918}
.card .controls .action-plus{background:#7560dd;color:white}
.card .controls .action-chat{background:#e9e4ff;color:#49359d}
.card .controls .action-plus:focus-visible,.card .controls .action-chat:focus-visible{outline:3px solid #ffbb56;outline-offset:2px}
.archived-cards{margin-top:22px;border-top:1px solid #e9e2f6;padding-top:15px}.archived-cards summary{cursor:pointer;font-weight:650;color:#5543a8}.hidden-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee7fa}.hidden-row button{flex:none}
@media(max-width:700px){.card .controls .action-plus,.card .controls .action-chat{width:46px;height:46px;min-width:46px}.hidden-row{flex-wrap:wrap}.materials-panel{scroll-margin-top:15px}}


/* Estudaí 0.4.5 — fluxo visual para fotos e documentos */
.material-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.material-entry-card{background:white;padding:14px;border:1px solid #e9e2f4;border-radius:14px;margin:10px 0;display:grid;gap:10px}
.material-entry-card h4{margin:0;font-size:1.02rem;color:#352a67}
.add-actions{display:flex;flex-wrap:wrap;gap:8px}
.picker-btn{background:#efeaff;color:#5143a8;border:1px solid #d8cff8;border-radius:12px;padding:12px 14px;font-weight:700;min-height:48px}
.picker-btn.primary{background:#7665d4;color:white;border-color:#7665d4}
.sr-only-input{position:absolute!important;left:-9999px!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none!important}
.picked-file{padding:10px 12px;border:1px dashed #d9d2ef;border-radius:12px;background:#faf8ff;color:#685f81}
.photo-thumb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.photo-thumb{display:grid;gap:8px;border:1px solid #ebe4fb;border-radius:12px;padding:8px;background:#faf8ff}
.photo-thumb img{width:100%;height:110px;object-fit:cover;border-radius:10px;background:#ede7ff}
.photo-meta{display:grid;gap:4px}
.photo-meta strong{font-size:.85rem;line-height:1.2;word-break:break-word}
.photo-meta small{color:#786f92}
.small{padding:7px 9px!important;font-size:.8rem!important}
.photo-helper-row{display:flex;justify-content:flex-end}
@media(max-width:900px){.material-entry-grid{grid-template-columns:1fr}}
@media(max-width:700px){.material-entry-card{padding:12px}.picker-btn{width:100%;justify-content:flex-start;text-align:left}.photo-thumb-grid{grid-template-columns:1fr 1fr}.picked-file{font-size:.92rem}}

/* Estudaí 0.4.7: tipo de material e formato exibidos nos cartões */
.card .inline-file{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(100%,520px);max-width:100%;text-align:left;white-space:normal}
.inline-file-title{flex:1;min-width:0;overflow-wrap:anywhere}
.inline-file-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.material-category,.material-format{display:inline-block;font-size:.72rem;line-height:1.3;padding:4px 7px;border-radius:8px;font-weight:600}
.material-category{background:#ebe6fc;color:#5945ab}.material-format{background:#fff;color:#574b7b;border:1px solid #dcd4f4}
@media(max-width:700px){.card .inline-file{align-items:flex-start;flex-direction:column;gap:6px}.inline-file-meta{justify-content:flex-start}}

/* Estudaí 0.4.8: única entrada para materiais */
.attach-unified{display:grid;gap:14px}.attach-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.attach-options .picker-btn{width:100%;min-height:65px;text-align:center;padding:10px 6px}
.attach-submit-row button{width:100%}.attach-unified [hidden]{display:none!important}
.youtube-entry,.existing-materials{border:1px solid #e8e0f5;border-radius:12px;padding:12px;margin-top:16px;background:white}
.youtube-entry summary,.existing-materials summary{cursor:pointer;color:#5143a8;font-weight:650}
.existing-materials .material-list{margin-top:10px}
@media(max-width:700px){.attach-options{grid-template-columns:1fr 1fr}.attach-options .picker-btn:last-child{grid-column:1/-1}.attach-options .picker-btn{text-align:center;min-height:60px}}

/* 0.4.9 — gestão rápida de anexos no cartão */
.card .inline-file-row{display:flex;align-items:center;gap:8px;width:100%;max-width:680px}
.card .inline-file-row>.inline-file{flex:1;min-width:0;margin:0}
.inline-file-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.card .inline-control{font-size:.78rem!important;padding:9px 10px!important;border-radius:9px;min-height:38px}
.danger-action{background:#fff1f2!important;color:#a72f45!important;border:1px solid #ffd3dc!important}
.danger-action:focus-visible{outline:2px solid #a72f45;outline-offset:2px}
@media(max-width:700px){.card .inline-file-row{flex-direction:column;align-items:stretch}.inline-file-actions{justify-content:flex-end}.card .inline-control{min-height:44px;font-size:.85rem!important}}

/* Cor da disciplina preenche toda a etiqueta oval */
.tag.subject-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 11px;font-weight:650;line-height:1.35;white-space:normal}

/* Estudaí 0.4.12 — edição de disciplinas */
#subjectList{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:14px}
.subject-manage-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #eee8fa;padding:9px 11px;border-radius:12px}
.subject-manage-item button{font-size:.86rem;padding:8px 11px;min-height:39px}
.subject-edit-form{margin-top:16px;padding:16px;border:1px solid #d8ccfb;border-radius:14px;background:#fbf9ff}
.subject-edit-form h3{margin:0 0 5px}
.subject-edit-actions{display:flex;gap:9px;flex-wrap:wrap}
.subject-edit-actions button{flex:1;min-width:135px}
.subject-edit-form[hidden]{display:none!important}
@media(max-width:700px){.subject-manage-item{flex-wrap:wrap}.subject-edit-form{padding:12px}}

/* Estudaí 0.4.13 — fila de revisão */
.card.completed{background:#ededf0;border-color:#dbdbe0}
.card.completed .subject-pill{filter:grayscale(1);opacity:.75}
.card.completed .controls [data-action="active"]{background:#7665d4;color:white}

.reactivate-btn{background:#287963;color:white;border-radius:10px;font-weight:650}

/* Estudaí 0.4.15 — notificações internas */
.header-actions{display:flex;align-items:center;gap:8px}.notification-bell{position:relative;border:1px solid #ffffff55;background:#ffffff24;padding:9px 12px;border-radius:13px;font-size:1.15rem}.notification-count{position:absolute;top:-8px;right:-7px;background:#e74365;color:#fff;font-size:.7rem;border-radius:99px;padding:2px 6px;min-width:20px}.notification-panel{position:fixed;top:74px;right:15px;z-index:20;width:min(410px,calc(100vw - 30px));max-height:75vh;overflow:auto;background:#fff;border:1px solid #ddd5f4;box-shadow:0 12px 38px #29204436;border-radius:18px;padding:15px;color:#292442}.notification-item{width:100%;display:grid;gap:5px;text-align:left;background:#f3efff;color:#2e2352;border:1px solid #e6dcfa;padding:12px;margin:8px 0;border-radius:12px}.notification-item.is-read{background:#f8f7fb;color:#777}.notification-item span{font-size:.85rem}.notification-item small{font-size:.75rem;color:#6d6783}[hidden]{display:none!important}@media(max-width:700px){.notification-panel{top:65px;right:10px}.notification-bell{padding:8px}}

/* 0.4.16 */
.video-entry{margin:12px 0}.video-preview{width:100%;max-height:320px;background:#211e2e;border-radius:12px}.video-entry summary{cursor:pointer;font-weight:600;padding:12px;background:#f2edff;border-radius:12px}.video-entry .attach-options{display:flex;gap:8px;flex-wrap:wrap}.video-entry button{min-height:42px}

.estudai-brand{display:flex;align-items:center;gap:10px}.estudai-brand img{width:42px;height:42px;border-radius:12px;object-fit:cover;flex:none}@media(max-width:700px){.estudai-brand img{width:34px;height:34px;border-radius:10px}}

/* Estudaí 0.4.20 — linhas compactas de disciplinas (desktop, iPad e iPhone) */
.subject-manage-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:11px 14px;min-width:0}
.subject-manage-item>.subject-pill{min-width:0;max-width:100%;overflow-wrap:anywhere}
.subject-manage-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-left:auto}
.subject-manage-actions button{white-space:nowrap;flex:none;min-width:0}
@media(max-width:480px){
 .subject-manage-item{gap:9px;padding:11px}
 .subject-manage-actions{width:100%;justify-content:flex-end}
 .subject-manage-actions button{font-size:.82rem;padding:8px 10px}
}

/* Estudaí 0.4.21 — cabeçalho e menu sempre à vista */
:root{--estudai-header-height:86px}
body>header{position:sticky;top:0;z-index:80;box-shadow:0 2px 12px #28155420}
#mainNav.nav-tabs{position:sticky!important;top:var(--estudai-header-height)!important;z-index:70!important;background:#f6f2ff!important;margin-top:0;margin-bottom:10px;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #e5ddf6;scroll-margin-top:var(--estudai-header-height)}
.current-user-name{display:inline-flex;align-items:center;max-width:240px;color:#fff;font-size:.88rem;font-weight:650;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:10px;min-width:0}
.profile-separator{border:0;border-top:1px solid #e5ddf6;margin:26px 0 20px}
#changePasswordForm{max-width:500px}
#profileEmail{background:#f3f1f9;color:#514c68}
#passwordMessage:not(:empty){padding:10px;border-radius:10px;background:#f3f0ff;color:#45338c}
[data-page-content]{scroll-margin-top:calc(var(--estudai-header-height) + 75px)}
@media(max-width:700px){
 body>header{padding:10px 12px}
 .header-actions{gap:6px}
 .current-user-name{max-width:92px;font-size:.7rem}
 #mainNav.nav-tabs{margin-inline:-10px!important;padding-inline:10px!important;max-width:calc(100vw - 0px);min-height:53px}
}
@supports (top:env(safe-area-inset-top)){body>header{top:0}}


/* Estudaí 0.4.22 — uma única região fixa: cabeçalho + navegação.
   O nav foi retirado de dentro de #app, pois sticky era limitado
   pela posição/tamanho do seu contêiner. */
.fixed-top-shell{position:sticky;top:0;z-index:90;background:#f6f2ff;box-shadow:0 3px 12px #28155416}
.fixed-top-shell>header{position:relative!important;top:auto!important;box-shadow:none!important}
.fixed-nav-inner{max-width:1100px;margin:0 auto;padding:0 15px}
#mainNav.nav-tabs{position:relative!important;top:auto!important;display:flex;gap:7px;margin:0!important;padding:10px 0 11px!important;max-width:100%!important;overflow-x:auto;overscroll-behavior-x:contain;border-bottom:1px solid #e5ddf6;scrollbar-width:thin}
#mainNav[hidden]{display:none!important}
@media(max-width:700px){
 .fixed-nav-inner{padding:0 10px}
 #mainNav.nav-tabs{min-height:53px;margin:0!important;padding:7px 0 9px!important}
}

/* Estudaí 0.4.23 — Treinar com IA */
.quiz-dialog{width:min(760px,calc(100vw - 22px));max-height:calc(100dvh - 28px);border:1px solid #ddd4f3;border-radius:18px;padding:0;box-shadow:0 24px 70px #1a104b55;color:#28213d}
.quiz-dialog::backdrop{background:#1c1749a9}
.quiz-modal{padding:clamp(15px,3vw,26px);max-height:calc(100dvh - 32px);overflow-y:auto}
.quiz-item,.quiz-review{background:#f8f6ff;border:1px solid #e5ddf6;border-radius:12px;padding:14px;margin:10px 0}
.quiz-create{margin-top:18px;border-top:1px solid #e5ddf6;padding-top:15px}
.quiz-create summary{cursor:pointer;font-weight:700;margin-bottom:12px}
.quiz-create textarea{min-height:120px;width:100%;font-family:monospace;font-size:13px}
.quiz-create label{display:block;margin:10px 0}
.quiz-create .inline{display:flex;flex-wrap:wrap;gap:12px}
.quiz-progress{font-weight:700;color:#6e5ac7;margin:15px 0}
.quiz-options{border:0;padding:0;margin:14px 0}
.quiz-options label{display:block;padding:12px;margin:7px 0;border:1px solid #ddd6ec;border-radius:10px;background:#fbfaff;cursor:pointer}
.quiz-options input{width:auto;margin-right:9px}
.quiz-dialog .controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.quiz-dialog button{max-width:100%}
@media(max-width:600px){.quiz-modal{padding:14px}.quiz-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}}


/* Estudaí 0.4.32 — responsividade da fila e dos materiais em iPhone/iPad vertical */
@media (max-width: 980px){
  .card{flex-direction:column;align-items:stretch;gap:14px}
  .card>div:first-child,.card>.controls{width:100%}
  .card .controls{justify-content:flex-start;align-items:center;gap:8px}
  .card .inline-materials{max-width:100%;width:100%}
  .card .inline-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;max-width:100%}
  .card .inline-file{width:100%;max-width:100%}
  .inline-file-actions{justify-content:flex-start}
}
@media (max-width: 820px){
  .card .inline-file-row{grid-template-columns:1fr}
  .inline-file-actions{width:100%;justify-content:flex-start}
}
@media (max-width: 480px){
  .card h3{font-size:1.05rem}
  .card p{font-size:.95rem}
  .card .controls{gap:7px}
  .card button{font-size:.82rem}
  .card .inline-file-title{font-size:.95rem;line-height:1.3}
  .material-category,.material-format{font-size:.76rem}
}


/* Estudaí 0.4.33 — textos e chips adaptáveis ao iPhone / iPad vertical */
@media(max-width:980px){
 .subject-pill,.tag.subject-pill{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.25;text-align:center}
 .card .inline-file-row{min-width:0}
 .card .inline-file-title{overflow-wrap:anywhere;word-break:normal}
 #mainNav.nav-tabs{align-items:stretch}
 #mainNav.nav-tabs button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:max-content;max-width:none;white-space:nowrap;line-height:1.25;min-height:44px;padding:9px 12px;overflow:visible;text-overflow:clip}
 .fixed-nav-inner{min-width:0;max-width:100%;overflow:hidden}
 #mainNav.nav-tabs{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
}
@media(max-width:520px){
 .subject-manage-item{min-width:0}
 .subject-manage-item>.subject-pill{max-width:100%;overflow-wrap:anywhere}
 #mainNav.nav-tabs button{font-size:.83rem;padding-inline:11px}
 .card .controls{justify-content:flex-start}
 .quiz-quick-message textarea{font-size:16px}
}
.quiz-quick-message{margin:12px 0;padding:12px;background:#f5f1ff;border:1px solid #ded5f5;border-radius:12px}
.quiz-quick-message strong{display:block;margin-bottom:7px}
.quiz-quick-message textarea{display:block;width:100%;max-width:100%;padding:10px;border:1px solid #d9d3eb;border-radius:10px;user-select:text;-webkit-user-select:text;background:white;color:#292442}
.quiz-quick-message button{margin-top:8px}

/* 0.4.34: arquivo e controles juntos, sem quebrar o texto do título */
.card .inline-file-row{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;width:100%;max-width:100%}
.card .inline-file-row>.inline-file{flex:1 1 250px;min-width:min(100%,200px);max-width:100%;width:auto}
.card .inline-file-row>.inline-file-actions{display:flex;flex:0 0 auto;width:auto;gap:6px;justify-content:flex-start;flex-wrap:wrap}
.card .inline-file-title{overflow-wrap:break-word;word-break:normal;min-width:0}
@media(max-width:540px){
  .card .inline-file-row{align-items:stretch;gap:6px}
  .card .inline-file-row>.inline-file{flex-basis:100%;min-width:0}
  .card .inline-file-actions{margin-left:auto;justify-content:flex-end}
}

@media(max-width:540px){
 .card .inline-file-row{flex-wrap:nowrap;align-items:center}
 .card .inline-file-row>.inline-file{flex:1 1 0;min-width:0;max-width:none}
 .card .inline-file-actions{flex:0 0 auto;max-width:48%;margin-left:0}
 .card .inline-control{padding:7px 8px!important;font-size:.74rem!important;min-height:38px}
 .card .inline-file-meta{gap:3px}
}

/* Estudaí 0.4.35 — ação compacta de IA e setas sem deslocamento */
.card .controls .study-quiz-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:43px;min-width:43px;height:43px;padding:0!important;font-size:1.24rem!important;border-radius:12px}
.card .controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.card .controls button[data-action="up"],.card .controls button[data-action="down"]{min-width:35px;flex:0 0 auto}
@media(max-width:700px){.card .controls .study-quiz-trigger{width:46px;min-width:46px;height:46px}.card .controls{gap:6px}.card .controls button[data-action="up"],.card .controls button[data-action="down"]{min-height:42px}}


.quiz-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}
.quiz-step-card{background:#f8f6ff;border:1px solid #e0d8f3;border-radius:16px;padding:14px}
.quiz-step-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
.quiz-step-head h4{margin:0 0 4px;font-size:1.04rem;color:#2b2246}
.quiz-step-head .hint{margin:0}
.quiz-step-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#6e5ac7;color:#fff;font-weight:800;flex:0 0 34px;box-shadow:0 8px 18px rgba(110,90,199,.22)}
.quiz-json-box{background:#f4efff;border-color:#cfc1f2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.quiz-json-box textarea{display:block;width:100%;min-height:220px;padding:12px;border:2px solid #c5b5f3;border-radius:12px;background:#fff;color:#241d3f;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.5;box-shadow:0 8px 20px rgba(110,90,199,.08)}
.quiz-json-box textarea::placeholder{color:#7a6b9c;opacity:1}
.quiz-json-label,.quiz-json-file{display:block}
.quiz-json-file input{display:block;width:100%;margin-top:8px}
@media(max-width:700px){.quiz-steps{grid-template-columns:1fr}.quiz-step-card{padding:12px}.quiz-json-box textarea{min-height:180px}}



/* Estudaí 0.4.38 — Treinar com IA responsivo para iPhone e iPad vertical */
.quiz-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-width:calc(100vw - 24px);overflow:hidden}
.quiz-modal{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.quiz-modal .toolbar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
.quiz-modal .toolbar h2{min-width:0;flex:1;font-size:clamp(1.15rem,3.7vw,1.55rem);margin:0}
.quiz-modal .toolbar #quizClose{flex:0 0 auto;white-space:nowrap}
.quiz-create,.quiz-steps,.quiz-step-card,.quiz-step-head,.quiz-step-head>div{min-width:0;max-width:100%;box-sizing:border-box}
/* Even on portrait tablets, three columns are too narrow for form controls. */
.quiz-steps{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.quiz-step-card{width:100%;overflow:hidden;padding:clamp(12px,2vw,19px)}
.quiz-step-card .inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px}
.quiz-step-card label{display:flex;flex-direction:column;align-items:stretch;min-width:0;max-width:100%;width:100%;gap:7px}
.quiz-step-card select,.quiz-step-card input,.quiz-step-card textarea{box-sizing:border-box;min-width:0;max-width:100%;width:100%;font-size:16px}
.quiz-step-card .controls{display:flex;flex-wrap:wrap;gap:10px}
.quiz-step-card .controls button{white-space:normal;min-width:0;overflow-wrap:anywhere}
.quiz-json-box textarea{max-width:100%;min-width:0;overflow-wrap:anywhere}
.quiz-json-file input[type=file]{overflow:hidden;max-width:100%}
.quiz-create summary{overflow-wrap:anywhere}
@media(max-width:600px){
 .quiz-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto}
 .quiz-modal{max-height:calc(100dvh - 20px);padding:14px}
 .quiz-step-head{gap:9px}
 .quiz-step-head h4{font-size:1rem;line-height:1.3}
 .quiz-step-card .inline{grid-template-columns:repeat(2,minmax(0,1fr))}
 .quiz-step-card .controls{flex-direction:column;align-items:stretch}
 .quiz-step-card .controls button,.quiz-step-card #quizImport{width:100%}
}

/* Estudaí 0.4.39: formulário contextual próximo ao cartão. */
.material-card-context{margin:5px 0;color:#57448c;font-size:.94rem;overflow-wrap:anywhere}
.materials-panel{scroll-margin-top:175px}
.material-return-highlight{outline:3px solid #ab91ff;outline-offset:2px;transition:outline-color .6s}
@media(max-width:700px){.materials-panel{scroll-margin-top:135px}}

/* Estudaí 0.4.40: formulário de materiais independente da fila dinâmica */
.materials-dialog-overlay{position:fixed!important;inset: max(16px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom)) 12px!important;z-index:1000!important;margin:auto!important;width:min(700px,calc(100vw - 24px));height:max-content;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 0 0 200vmax rgba(27,19,66,.58),0 15px 50px rgba(18,8,58,.35);background:#fff;border-radius:18px;scroll-margin-top:0}
.materials-dialog-overlay .toolbar{position:sticky;top:-16px;background:white;z-index:2;padding:8px 0;border-bottom:1px solid #eee6f8}
.material-return-highlight{outline:3px solid #8161ea!important;outline-offset:3px}
@media(max-width:700px){.materials-dialog-overlay{inset:env(safe-area-inset-top) 6px env(safe-area-inset-bottom) 6px!important;width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:12px!important}}

/* Estudaí 0.4.41 — identificação visual do destino do material */
.material-card-context{display:flex;align-items:center;gap:12px;background:#f5f1ff;padding:10px 12px;border:1px solid #e5dcff;border-radius:12px;margin:10px 0;min-width:0}
.material-dialog-brand{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:0 0 auto}
.material-card-context>div{min-width:0;display:grid;gap:3px}
.material-dialog-subject{color:#62519a;font-size:.81rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.material-dialog-title{color:#292442;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}

/* Estudaí 0.4.42 — separação visual dos cartões na fila */
#cards > article.card:not(.completed):nth-of-type(odd),
#supervisorQueue > article.card:not(.completed):not(.blocked-card):nth-of-type(odd){
 background:#ffffff;
 border-color:#ded8f0;
 box-shadow:0 2px 7px rgba(67,49,111,.06);
}
#cards > article.card:not(.completed):nth-of-type(even),
#supervisorQueue > article.card:not(.completed):not(.blocked-card):nth-of-type(even){
 background:#fff6e8;
 border-color:#e8d4b5;
 box-shadow:0 2px 9px rgba(122,92,45,.08);
}
#cards > article.card.completed,
#supervisorQueue > article.card.completed{
 background:#ededf0;
 border-color:#d9d9df;
}
#supervisorQueue > article.card.blocked-card{
 background:#ededf0;
 border-style:dashed;
}
#cards > article.card,#supervisorQueue > article.card{transition:background-color .15s,border-color .15s}

/* Estudaí 0.4.44 — personalização opcional por disciplina */
.subject-color-options{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 12px;width:100%;padding:12px;background:#f8f5ff;border:1px solid #e8e0f7;border-radius:12px}
.subject-color-options .subject-option{display:flex;flex-direction:row;align-items:center;gap:9px;margin:0;min-width:0}
.subject-color-options input[type=checkbox]{width:18px;min-width:18px;height:18px;accent-color:#7665d4}
.subject-color-options input[type=color]{width:56px;max-width:56px;height:40px}
@media(max-width:480px){.subject-color-options{grid-template-columns:minmax(0,1fr) auto;padding:9px}}
#cards > article.card.subject-custom-bg:not(.completed),
#supervisorQueue > article.card.subject-custom-bg:not(.completed):not(.blocked-card){background:var(--subject-card-bg)!important;border-color:#b9a8d5;box-shadow:0 2px 9px rgba(65,45,105,.10)}


/* Estudaí 0.4.46 - Disciplinas: campos legíveis no iPhone/iPad vertical */
[data-page-content="subjects"]{min-width:0;max-width:100%;overflow:visible}
#subjectForm.inline{display:grid!important;grid-template-columns:minmax(0,1fr) 56px auto;align-items:end;gap:10px;width:100%;min-width:0}
#subjectForm #subjectName{width:100%;min-width:0}
#subjectForm>.subject-color-options{grid-column:1/-1;min-width:0;max-width:100%}
.subject-color-options{grid-template-columns:minmax(0,1fr) 58px;min-width:0}
.subject-color-options .subject-option{min-width:0;align-items:center;overflow-wrap:break-word;word-break:normal;white-space:normal;font-size:.86rem;line-height:1.3}
.subject-color-options input[type=color]{justify-self:end}
.subject-manage-item{min-width:0}
#editSubjectForm{min-width:0;max-width:100%;overflow:hidden}
#editSubjectForm label{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:750px){
 #subjectForm.inline{grid-template-columns:minmax(0,1fr) 56px;align-items:center}
 #subjectForm>button[type=submit]{grid-column:1/-1;width:100%}
 #subjectForm>.subject-color-options{grid-column:1/-1}
}
@media(max-width:400px){
 #subjectForm.inline{gap:8px}
 .subject-color-options{padding:10px 8px;column-gap:8px}
 .subject-color-options .subject-option{font-size:.82rem}
 .subject-manage-actions{gap:6px}
}

/* 0.4.47 — ícones de navegação da identidade visual Estudaí */
#mainNav button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
#mainNav .menu-icon{width:27px;height:27px;object-fit:contain;flex:none;vertical-align:middle}
.edit-card-title{display:inline-flex;align-items:center;justify-content:center;padding:7px!important;min-width:43px;min-height:43px}
.edit-card-title .edit-card-icon{width:29px;height:29px;object-fit:contain}
@media(max-width:700px){#mainNav .menu-icon{width:25px;height:25px}.edit-card-title .edit-card-icon{width:30px;height:30px}}

/* Estudaí 0.4.48: seletor de alunos simplificado e identificação destacada. */
.supervisor-student-card{padding:18px;border:1px solid #d4c7f5;background:linear-gradient(135deg,#f5f0ff,#eef6ff);border-radius:18px;margin:14px 0}
.supervisor-student-card-heading{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.supervisor-student-card-heading strong{font-size:1.1rem;color:#332467}
.supervisor-student-card-heading p{margin:3px 0 0;color:#655e7e;font-size:.88rem}
.supervisor-student-avatar{width:48px;height:48px;border-radius:15px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex:none}
.supervisor-student-select-label{display:block;font-size:.88rem;font-weight:600;color:#514177}
.supervisor-student-select-label select{display:block;width:100%;margin-top:7px;background:white;font-weight:650;color:#30244d;min-height:47px}
.supervisor-student-current{display:flex;align-items:center;gap:12px;background:white;border:1px solid #dfd6f7;border-radius:14px;padding:14px;margin-top:14px;min-width:0}
.supervisor-student-current-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#eee6ff;border-radius:50%;font-size:1.4rem;flex:none}
.supervisor-student-current-caption{display:block;color:#665b85;font-size:.78rem}
.supervisor-student-current-name{display:block;color:#2e225f;font-size:1.3rem;overflow-wrap:anywhere}
.supervisor-student-full-name{display:block;font-size:.78rem;color:#76698b}
.supervisor-student-alias{border:1px solid #eee7fa;border-radius:12px;padding:10px 14px;margin:12px 0}
.supervisor-student-alias summary{cursor:pointer;font-size:.88rem;color:#5d4ab0;font-weight:650}
.supervisor-student-alias .alias-form{margin:10px 0 0}
@media(max-width:600px){.supervisor-student-card{padding:13px}.supervisor-student-current-name{font-size:1.14rem}}

/* Estudaí 0.4.49 — busca superior e cartão único do aluno com sua fila */
.supervisor-search-card{border:1px solid #d5cbf4;border-radius:18px;background:linear-gradient(130deg,#f1eaff,#f6f9ff);padding:18px;margin:16px 0;display:grid;gap:12px;min-width:0}
.supervisor-search-head{display:flex;align-items:center;gap:12px}
.supervisor-search-head h3{margin:0 0 3px;font-size:1.13rem;color:#332567}
.supervisor-search-head p{margin:0;color:#685e80;font-size:.88rem}
.supervisor-search-icon{font-size:1.55rem;border-radius:13px;background:#fff;padding:9px}
.supervisor-search-card label{display:grid;gap:6px;color:#514177;font-weight:600;font-size:.9rem}
.supervisor-search-card input,.supervisor-search-card select{width:100%;min-width:0;background:#fff;min-height:45px}
.supervisor-detail-card{border:1px solid #ded6f4;border-radius:18px;background:#fff;padding:18px;margin-bottom:14px;min-width:0}
.supervisor-detail-card .supervisor-student-current{margin:0;background:linear-gradient(120deg,#efeaff,#f4f9ff)}
.supervisor-detail-queue-title{margin:20px 0 10px;color:#34275e;font-size:1.1rem}
.supervisor-detail-card #supervisorQueue{min-width:0}
@media(max-width:600px){.supervisor-search-card,.supervisor-detail-card{padding:12px}.supervisor-search-head{align-items:flex-start}}

/* 0.4.50 — supervisores existentes acima do convite */
.existing-supervisors-card,.invite-supervisor-card{border:1px solid #e5ddf6;border-radius:16px;padding:16px;margin:14px 0;background:#faf8ff;min-width:0}
.existing-supervisors-card h3,.invite-supervisor-card h3{margin:0 0 6px;font-size:1.05rem;color:#33275e}
.existing-supervisors-card .supervisor-item{background:white}
@media(max-width:700px){.existing-supervisors-card,.invite-supervisor-card{padding:12px}}

/* 0.4.51 - player de vídeos para iPhone/iPad */
.material-video-dialog{width:min(760px,calc(100vw - 18px));max-height:calc(100dvh - 18px);padding:0;border:1px solid #dfd8f6;border-radius:18px;box-shadow:0 25px 70px #17103855;color:#292442;overflow:auto}
.material-video-dialog::backdrop{background:#171238b3}
.material-video-shell{padding:clamp(14px,3vw,24px)}
.material-video-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.material-video-top h2{margin:0;overflow-wrap:anywhere;min-width:0}
.material-video-player{display:block;width:100%;max-height:65dvh;background:#151322;border-radius:12px}
.material-video-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.material-video-actions a{background:#eee9fa;color:#4d399d;padding:9px 12px;border-radius:10px;text-decoration:none;font-weight:650}
@media(max-width:600px){.material-video-dialog{width:calc(100vw - 12px)}.material-video-top h2{font-size:1.06rem}}

/* 0.4.52 — identidade do supervisor */
.supervisor-profile-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dbd2f4;border-radius:15px;background:#f6f2ff;min-width:0}
.supervisor-profile-avatar{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#e7dfff;font-size:1.5rem;flex:none}
.supervisor-profile-details{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}
.supervisor-profile-details strong{font-size:1.07rem;color:#2a204f}
.supervisor-profile-details small{font-size:.86rem;color:#6a627c}

/* Estudai 0.4.54 */
.quick-add-card{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(25px + env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;font-size:2rem;font-weight:700;box-shadow:0 8px 28px #5440ab70;z-index:30;display:flex;align-items:center;justify-content:center}
.quick-add-card:focus-visible{outline:3px solid #f7cc61;outline-offset:3px}
[data-page-hidden="true"] .quick-add-card{display:none!important}
.pdf-append-dialog{width:min(620px,calc(100vw - 24px));max-height:90dvh;border:1px solid #ded5f6;border-radius:20px;padding:0;box-shadow:0 16px 45px #29204455}
.pdf-append-dialog::backdrop{background:#19113699}
.pdf-append-inner{padding:20px;overflow-y:auto;max-height:88dvh;display:grid;gap:12px}
.pdf-append-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pdf-append-head h2{margin:0}.pdf-append-inner label{display:grid;gap:7px}.pdf-append-inner input[type=file]{width:100%;max-width:100%}
@media(max-width:700px){.quick-add-card{bottom:calc(18px + env(safe-area-inset-bottom))}.pdf-append-inner{padding:14px}}

/* 0.4.55: flutuante fora das seções alternadas pelo menu */
#quickAddCard[hidden]{display:none!important}
#quickAddCard{z-index:89;bottom:calc(20px + env(safe-area-inset-bottom));right:calc(18px + env(safe-area-inset-right))}

/* Confirmação acessível e visível após criação do cartão */
.create-card-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#236b47;color:#fff;padding:13px 22px;border-radius:16px;box-shadow:0 10px 28px #20202050;z-index:11000;font-weight:700;text-align:center;max-width:min(90vw,560px)}
.create-card-toast[hidden]{display:none!important}

/* Estudaí 0.4.57 — materiais e botões na fila em telas estreitas (iPhone) */
.hidden-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;border-bottom:1px solid #e8e0f3}
.hidden-row>span{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}
.hidden-card-actions{display:flex;flex-wrap:wrap;gap:8px}
.hidden-card-actions button{min-height:40px}
@media(max-width:600px){
  #cards .card{min-width:0;overflow:hidden;padding:13px 12px}
  #cards .card>div:first-child,#cards .inline-materials{min-width:0;width:100%;max-width:100%}
  #cards .inline-file-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;flex-wrap:nowrap!important;gap:8px!important;min-width:0;width:100%}
  #cards .inline-file-row>.inline-file{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:0 1 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:11px 12px!important}
  #cards .inline-file-title{display:block;width:100%;font-size:.94rem!important;line-height:1.42;overflow-wrap:anywhere;word-break:break-word}
  #cards .inline-file-meta{display:flex;flex-wrap:wrap;gap:5px}
  #cards .inline-file-actions{display:flex!important;width:100%!important;max-width:100%!important;margin:0!important;gap:7px!important;justify-content:flex-start!important;flex-wrap:wrap}
  #cards .inline-file-actions button{flex:1 1 90px;min-height:43px;padding:9px 10px!important;font-size:.85rem!important;white-space:normal}
  #cards .inline-file-row>button[data-append-pdf]{width:100%;min-height:43px;font-size:.88rem!important;padding:10px!important}
  #cards .card>.controls{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;width:100%;justify-content:initial}
  #cards .card>.controls>button{min-width:0!important;width:100%;min-height:44px;font-size:.8rem!important;padding:8px 5px!important;overflow-wrap:anywhere}
  #cards .card>.controls>.edit-card-title,#cards .card>.controls>.action-plus,#cards .card>.controls>.action-chat,#cards .card>.controls>.study-quiz-trigger{min-width:0!important;width:100%!important;height:48px!important}
  #cards .card>.controls>button[data-action="completed"],#cards .card>.controls>button[data-action="active"]{grid-column:span 2}
  #cards .card>.controls>button[data-action="up"],#cards .card>.controls>button[data-action="down"]{grid-column:span 1}
  .hidden-row{align-items:stretch}
  .hidden-card-actions{width:100%}
  .hidden-card-actions button{flex:1 1 130px}
}

/* Estudaí 0.4.58 — cada material e suas ações formam um bloco individual */
#cards .inline-materials{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:100%;min-width:0}
#cards .inline-file-row{box-sizing:border-box;border:1.5px solid #dacef5;border-radius:16px;background:#fcfaff;padding:12px;box-shadow:0 2px 5px rgba(78,51,138,.045);max-width:100%;min-width:0;margin:0}
#cards .inline-file-row>.inline-file{box-sizing:border-box}
#cards .inline-file-row+.inline-file-row{margin-top:2px}
@media(max-width:600px){
 #cards .inline-materials{gap:14px!important}
 #cards .inline-file-row{padding:12px!important;border:2px solid #dcd0f5!important;background:#faf7ff!important;box-shadow:0 3px 11px rgba(94,72,167,.07)!important}
 #cards .inline-file-row>.inline-file{background:#eee8fc!important}
 #cards .inline-file-row>.inline-file-actions{padding-top:7px;border-top:1px solid #e5dcf5}
 #cards .inline-file-row>button[data-append-pdf]{margin-top:2px}
}

/* 0.4.59 PDF leitor/anotador */
.pdf-editor-dialog{border:0;border-radius:18px;padding:0;width:min(98vw,1000px);max-width:1000px;max-height:96dvh;color:#302653;box-shadow:0 24px 80px #190f4670}.pdf-editor-dialog::backdrop{background:#1a1234ba}.pdf-editor-shell{padding:12px;display:grid;gap:10px}.pdf-editor-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pdf-editor-toolbar button{min-height:42px}.pdf-editor-toolbar h2{font-size:1rem;margin:0;flex:1;min-width:160px;overflow-wrap:anywhere}.pdf-editor-stage{overflow:auto;background:#e8e4f0;max-height:65dvh;text-align:center;padding:8px;border-radius:12px}.pdf-editor-page{position:relative;display:inline-block;max-width:100%;box-shadow:0 3px 14px #4d456344;background:white;line-height:0}.pdf-editor-page canvas{display:block;max-width:100%;height:auto}.pdf-editor-page canvas.pdf-ink{position:absolute;inset:0;touch-action:none;width:100%;height:100%;cursor:crosshair}.pdf-editor-page canvas.pdf-ink:not(.enabled){pointer-events:none}.pdf-editor-dialog [data-pdf-editor-info]{font-size:.85rem;color:#665b86}.pdf-editor-dialog button.ink-active{background:#5344af;color:white}@media(max-width:580px){.pdf-editor-shell{padding:8px}.pdf-editor-toolbar{gap:5px}.pdf-editor-toolbar button{padding:9px;font-size:.84rem}.pdf-editor-stage{max-height:61dvh}}

/* 0.4.60: ferramentas de anotação de PDFs em telas pequenas */
.pdf-editor-toolbar .pdf-tool-control{display:inline-flex;align-items:center;gap:6px;background:#f5f1ff;padding:7px 10px;border-radius:10px;font-size:.85rem;font-weight:600;color:#493d80}.pdf-tool-control input[type=color]{width:38px;height:34px;border:0;background:transparent;padding:0;cursor:pointer}.pdf-tool-control input[type=range]{width:96px;accent-color:#7463d3}.pdf-tool-control output{min-width:14px;text-align:right}.pdf-editor-toolbar button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:580px){.pdf-editor-toolbar .pdf-tool-control{flex:1;min-width:135px;justify-content:center}}

/* 0.4.62 — apelido do supervisor em uma linha compacta */
.friendly-name-row{display:flex;align-items:end;gap:10px;max-width:100%;min-width:0}
.friendly-name-row label{flex:1 1 auto;min-width:0;margin:0}
.friendly-name-row label input{width:100%;box-sizing:border-box}
.friendly-name-row button{flex:0 0 auto;white-space:nowrap;min-height:42px}
@media(max-width:360px){.friendly-name-row{gap:6px}.friendly-name-row button{font-size:.82rem;padding:9px}}

/* 0.4.63 — instruções persistentes após o cadastro */
.signup-notice{margin-top:16px;padding:18px;border-radius:16px;border:2px solid #9d8be8;background:#f5f1ff;color:#241a46;line-height:1.5;box-shadow:0 5px 18px rgba(91,65,160,.08)}
.signup-notice[hidden]{display:none!important}
.signup-notice-heading{font-size:1.1rem;font-weight:800;margin-bottom:8px}
.signup-notice p{margin:0 0 12px;overflow-wrap:anywhere}
.signup-back-login{max-width:100%;width:auto}
.auth-help{margin:12px 0 0;color:#5f5674;font-size:.9rem}

/* 0.4.64: avisos não devem ocupar espaço quando vazios */
#message:empty, #supervisorMessage:empty, #profileMessage:empty, #passwordMessage:empty,
#message[hidden], #supervisorMessage[hidden], #profileMessage[hidden], #passwordMessage[hidden] {
  display:none !important; padding:0 !important; min-height:0 !important; margin:0 !important; border:0 !important;
}
#message:not(:empty), #supervisorMessage:not(:empty) {
  margin:12px 0; padding:10px 14px; min-height:0; border-radius:12px; background:#f2edff; color:#4f3ca2;
}


/* 0.4.65 — botão Fechar com contraste real no painel de materiais.
   A identidade roxa é preservada nas ações primárias, mas o fechamento
   tem aparência neutra escura e posição inequívoca. */
.materials-dialog-overlay .toolbar{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  background:#fff!important;
  border-bottom:2px solid #d9d5e1!important;
  padding:10px 4px 12px!important;
  align-items:flex-start!important;
  flex-direction:row!important;
  box-shadow:0 6px 12px -12px rgba(15,23,42,.65);
}
.materials-dialog-overlay .toolbar > div:first-child{flex:1;min-width:0}
.materials-dialog-overlay .material-close-contrast{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
  min-height:48px;
  min-width:100px;
  padding:10px 14px;
  border:2px solid #111827;
  border-radius:14px;
  background:#1f2937!important;
  color:#fff!important;
  font-weight:800;
  font-size:.95rem;
  letter-spacing:.01em;
  box-shadow:0 3px 9px rgba(15,23,42,.24);
  white-space:nowrap;
}
.materials-dialog-overlay .material-close-contrast span:first-child{font-size:1.3rem;line-height:1}
.materials-dialog-overlay .material-close-contrast:hover{background:#111827!important;filter:none}
.materials-dialog-overlay .material-close-contrast:focus-visible{
  outline:3px solid #f59e0b;outline-offset:3px;
}
@media(max-width:600px){
  .materials-dialog-overlay .toolbar{gap:8px!important}
  .materials-dialog-overlay .toolbar h2{font-size:1.05rem;line-height:1.3}
  .materials-dialog-overlay .material-close-contrast{min-width:94px;padding:8px 10px;font-size:.88rem}
}

/* 0.4.66 — Fechar sob o título, sem competir com ele na horizontal. */
.materials-dialog-overlay .toolbar{
  flex-direction:column!important;
  align-items:stretch!important;
  gap:10px!important;
}
.materials-dialog-overlay .toolbar > div:first-child{width:100%;flex:none!important;}
.materials-dialog-overlay .toolbar .material-close-contrast{
  align-self:flex-start!important;
  min-width:128px;
  min-height:48px;
}
/* Confirmação contextual após persistir as permissões. */
.supervisor-save-feedback:not([hidden]){
  display:inline-flex;align-items:center;
  max-width:100%;padding:8px 12px;
  border-radius:10px;background:#e9f7ed;color:#165b30;
  border:1px solid #aad6b6;font-size:.9rem;font-weight:700;
}
.supervisor-item [data-action="save"]:disabled{opacity:.7;cursor:wait;}
@media(max-width:600px){
 .materials-dialog-overlay .toolbar .material-close-contrast{min-width:122px;}
}

/* 0.4.67 — Confirmação após Revogar acesso; não deslocar botões. */
.supervisor-item .inline:has([data-action="save"]){display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.supervisor-save-feedback:not([hidden]){order:10;flex:1 1 190px;min-width:160px;max-width:100%;font-size:.84rem}
/* Editor: botão Fechar preto, abaixo do título, sempre visível. */
.pdf-editor-dialog .pdf-editor-toolbar:first-child{position:sticky;top:0;z-index:8;background:#fff;display:flex;flex-direction:column;align-items:flex-start;padding:10px 8px;border-bottom:1px solid #e7e0f3}
.pdf-editor-dialog .pdf-editor-toolbar:first-child h2{flex:none;width:100%;min-width:0}
.pdf-editor-close-contrast{background:#171b26!important;color:#fff!important;border:2px solid #080c14!important;border-radius:10px!important;min-height:47px!important;min-width:123px!important;font-size:1rem!important;font-weight:750!important;box-shadow:0 2px 5px #0002!important;cursor:pointer}
.pdf-editor-close-contrast:focus-visible{outline:3px solid #eead40;outline-offset:2px}
/* PDF: ações agrupadas dentro da borda do arquivo, adaptadas ao iPhone. */
.card .inline-file-row .pdf-action-edit{background:#e9f3f7!important;color:#164c65!important;border-color:#b4d6e5!important}
.card .inline-file-row .pdf-action-share{background:#edf4ef!important;color:#24653d!important;border-color:#bedcc6!important}
@media(max-width:620px){
  #cards .inline-file-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%!important;gap:6px!important}
  #cards .inline-file-actions button{width:100%!important;min-width:0!important;flex:none!important;white-space:normal!important;overflow-wrap:anywhere;padding:9px 5px!important;font-size:.78rem!important}
  #cards .inline-file-row>.pdf-action-share{width:100%!important;min-height:43px!important}
  #supervisorQueue .inline-file-row{flex-wrap:wrap}
  #supervisorQueue .inline-file-row>.inline-file{flex-basis:100%}
}

/* 0.4.68 — Ações PDF visíveis no iPhone, sem botão Compartilhar redundante. */
@media(max-width:620px){
  #cards .inline-file-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important;max-width:none!important}
  #cards .inline-file-actions .pdf-action-edit{display:inline-flex!important;align-items:center;justify-content:center;visibility:visible!important;min-width:0!important;position:static!important}
  #cards .inline-file-actions button{font-size:.82rem!important;min-height:46px!important;padding:8px 3px!important}
  #supervisorQueue .inline-file-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important;border:1.5px solid #dacef5;border-radius:15px;padding:10px;background:#fcfaff}
  #supervisorQueue .inline-file-row>.inline-file{width:100%!important;max-width:100%!important;min-width:0!important;white-space:normal;overflow-wrap:anywhere}
  #supervisorQueue .inline-file-row>.pdf-action-edit{display:block!important;width:100%!important;min-height:44px!important}
  #supervisorQueue .inline-file-row>button[data-append-pdf]{width:100%!important;min-height:44px!important}
}

/* 0.4.69: direitos completos nos materiais da própria fila, inclusive contas aluno+supervisor. */
@media(max-width:620px){
 #cards .inline-file-row .inline-file-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;gap:7px!important;visibility:visible!important}
 #cards .inline-file-row .inline-file-actions .pdf-action-edit{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center}
 #cards .inline-file-row .inline-file-actions>button{min-width:0!important;width:100%!important;white-space:normal!important}
 #cards .inline-file-row>button[data-append-pdf]{width:100%!important}
}


/* 0.4.70 — editor PDF: fechar discreto e barra de ferramentas responsiva. */
.pdf-editor-dialog .pdf-editor-toolbar:first-child{
  gap:8px!important; padding:10px 8px 12px!important;
  background:#fff!important; border-bottom:1px solid #e5e7eb!important;
}
.pdf-editor-dialog .pdf-editor-toolbar:first-child h2{
  color:#242136; font-size:1.08rem; line-height:1.35; font-weight:750;
}
.pdf-editor-dialog .pdf-editor-close-contrast{
  appearance:none; -webkit-appearance:none;
  display:inline-flex!important; align-items:center; justify-content:center;
  flex:0 0 auto!important; align-self:flex-start!important;
  width:auto!important; min-width:0!important; max-width:100%!important;
  min-height:42px!important; padding:9px 15px!important;
  font-size:.9rem!important; line-height:1.2!important; font-weight:650!important;
  background:#fff!important; color:#1f2937!important;
  border:1px solid #9ca3af!important; border-radius:9px!important;
  box-shadow:none!important; outline:none!important;
  -webkit-tap-highlight-color:transparent;
}
.pdf-editor-dialog .pdf-editor-close-contrast:is(:hover,:active){
  background:#f3f4f6!important; color:#111827!important;
  border-color:#6b7280!important; box-shadow:none!important;
}
.pdf-editor-dialog .pdf-editor-close-contrast:focus-visible{
  outline:2px solid #334155!important; outline-offset:2px!important;
  box-shadow:none!important;
}
/* Mesmo após abrir a janela programaticamente, não exibir contorno dourado no iOS. */
.pdf-editor-dialog .pdf-editor-close-contrast:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}
.pdf-editor-dialog .pdf-editor-toolbar:nth-child(2){
  gap:8px; align-items:center; padding:3px 0 6px;
}
.pdf-editor-dialog .pdf-editor-toolbar:nth-child(2)>button,
.pdf-editor-dialog .pdf-editor-toolbar:nth-child(2)>.pdf-tool-control{
  border-radius:10px;
}
@media(max-width:620px){
  .pdf-editor-dialog .pdf-editor-shell{padding:12px 10px;gap:12px}
  .pdf-editor-dialog .pdf-editor-toolbar:first-child{padding:7px 4px 12px!important}
  .pdf-editor-dialog .pdf-editor-toolbar:first-child h2{font-size:1.03rem}
  .pdf-editor-dialog .pdf-editor-close-contrast{min-height:40px!important;padding:8px 13px!important;font-size:.85rem!important}
  .pdf-editor-dialog .pdf-editor-toolbar:nth-child(2){gap:7px}
  .pdf-editor-dialog .pdf-editor-toolbar:nth-child(2)>button{min-height:42px;line-height:1.2}
  .pdf-editor-dialog .pdf-editor-stage{max-height:58dvh}
}


/* 0.4.71: mesmo botão Fechar neutro no editor PDF e na adição de materiais,
   tanto em iPhone como iPad; sem borda/anel chamativo. */
.materials-dialog-overlay .toolbar,
.pdf-editor-dialog .pdf-editor-toolbar:first-child {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:10px!important;
  background:#fff!important;
  border-bottom:1px solid #e5e7eb!important;
  box-shadow:none!important;
}
.materials-dialog-overlay .toolbar > div:first-child,
.pdf-editor-dialog .pdf-editor-toolbar:first-child h2 {
  width:100%!important;
  min-width:0!important;
  flex:none!important;
}
.materials-dialog-overlay .toolbar .material-close-contrast,
.pdf-editor-dialog .pdf-editor-close-contrast {
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:42px!important;
  padding:9px 15px!important;
  align-self:flex-start!important;
  background:#fff!important;
  color:#1f2937!important;
  border:1px solid #9ca3af!important;
  border-radius:9px!important;
  box-shadow:none!important;
  outline:none!important;
  font-size:.9rem!important;
  font-weight:650!important;
  letter-spacing:normal!important;
  line-height:1.25!important;
  filter:none!important;
  transform:none!important;
  -webkit-tap-highlight-color:transparent;
}
.materials-dialog-overlay .material-close-contrast span:first-child {
  font-size:1rem!important;
  line-height:1!important;
}
.materials-dialog-overlay .toolbar .material-close-contrast:hover,
.pdf-editor-dialog .pdf-editor-close-contrast:hover,
.materials-dialog-overlay .toolbar .material-close-contrast:active,
.pdf-editor-dialog .pdf-editor-close-contrast:active {
  background:#f3f4f6!important;
  border-color:#6b7280!important;
  color:#111827!important;
  box-shadow:none!important;
}
.materials-dialog-overlay .toolbar .material-close-contrast:focus-visible,
.pdf-editor-dialog .pdf-editor-close-contrast:focus-visible {
  outline:2px solid #334155!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}
.materials-dialog-overlay .toolbar .material-close-contrast:focus:not(:focus-visible),
.pdf-editor-dialog .pdf-editor-close-contrast:focus:not(:focus-visible) {
  outline:none!important;
  box-shadow:none!important;
}
@media(max-width:620px) {
  .materials-dialog-overlay .toolbar .material-close-contrast,
  .pdf-editor-dialog .pdf-editor-close-contrast {
    min-height:42px!important;
    padding:9px 13px!important;
    font-size:.88rem!important;
  }
}


/* 0.4.72 — Fechar alinhado à direita do título, iPhone e iPad. */
.materials-dialog-overlay .toolbar,
.pdf-editor-dialog .pdf-editor-toolbar:first-child {
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
}
.materials-dialog-overlay .toolbar > div:first-child,
.pdf-editor-dialog .pdf-editor-toolbar:first-child h2 {
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.materials-dialog-overlay .toolbar .material-close-contrast,
.pdf-editor-dialog .pdf-editor-close-contrast {
  flex:0 0 auto!important;
  align-self:flex-start!important;
  width:auto!important;
  min-width:0!important;
  margin-left:auto!important;
  white-space:nowrap!important;
  padding:9px 12px!important;
  min-height:42px!important;
}
@media(max-width:620px){
  .materials-dialog-overlay .toolbar,
  .pdf-editor-dialog .pdf-editor-toolbar:first-child {gap:8px!important;}
  .materials-dialog-overlay .toolbar .material-close-contrast,
  .pdf-editor-dialog .pdf-editor-close-contrast {padding:9px 10px!important; font-size:.84rem!important;}
}


/* 0.4.73 — cabeçalhos equivalentes com título em card e Fechar alinhado. */
.materials-dialog-overlay .toolbar,
.pdf-editor-dialog .pdf-editor-toolbar:first-child {
 display:flex!important; flex-direction:row!important; align-items:center!important;
 justify-content:space-between!important; flex-wrap:nowrap!important;gap:10px!important;
 background:#fff!important;
}
.materials-dialog-overlay .toolbar > div:first-child {
 flex:1 1 auto!important;min-width:0!important;width:auto!important;
}
.materials-dialog-overlay .toolbar > div:first-child h2 {margin:0 0 7px!important;line-height:1.3!important;overflow-wrap:anywhere!important;}
.materials-dialog-overlay .toolbar .material-card-context {
 margin:0!important;min-width:0!important;border:1px solid #e4dcfa!important;
 background:#f5f1ff!important;border-radius:12px!important;
}
.pdf-editor-dialog .pdf-editor-toolbar:first-child h2 {
 flex:1 1 auto!important; min-width:0!important; width:auto!important; margin:0!important;
 display:flex!important; align-items:center!important; align-self:stretch!important;
 padding:12px 14px!important; background:#f5f1ff!important;
 border:1px solid #e4dcfa!important;border-radius:12px!important;
 overflow-wrap:anywhere!important;word-break:break-word!important;
 font-size:1rem!important;line-height:1.35!important;
}
.materials-dialog-overlay .toolbar .material-close-contrast,
.pdf-editor-dialog .pdf-editor-close-contrast {
 flex:0 0 auto!important; align-self:center!important;margin:0!important;
 min-height:44px!important;box-shadow:none!important;outline:none!important;
 border:1px solid #9ca3af!important;border-radius:9px!important;
 background:#fff!important;color:#1f2937!important;
}
@media(max-width:620px){
 .materials-dialog-overlay .toolbar,.pdf-editor-dialog .pdf-editor-toolbar:first-child {gap:8px!important;}
 .pdf-editor-dialog .pdf-editor-toolbar:first-child h2 {padding:10px 9px!important;font-size:.94rem!important;}
 .materials-dialog-overlay .toolbar .material-close-contrast,
 .pdf-editor-dialog .pdf-editor-close-contrast {padding:9px 10px!important;font-size:.83rem!important;}
}


/* 0.4.74: cabeçalho de materiais em duas linhas: título / cartão + Fechar. */
.materials-dialog-overlay .toolbar.material-header-grid {
 display:grid!important;
 grid-template-columns:minmax(0,1fr) auto!important;
 grid-template-rows:auto auto!important;
 align-items:center!important;
 column-gap:10px!important; row-gap:9px!important;
}
.materials-dialog-overlay .toolbar.material-header-grid > h2 {
 grid-column:1/-1!important; grid-row:1!important; margin:0!important;
 width:100%!important; min-width:0!important; line-height:1.3!important;
}
.materials-dialog-overlay .toolbar.material-header-grid > .material-card-context {
 grid-column:1!important; grid-row:2!important;
 width:100%!important; min-width:0!important; min-height:72px!important;
 box-sizing:border-box!important; margin:0!important;
}
.materials-dialog-overlay .toolbar.material-header-grid > .material-close-contrast {
 grid-column:2!important;grid-row:2!important;
 align-self:center!important;justify-self:end!important;
 margin:0!important;min-height:44px!important;
 width:auto!important;flex:none!important;
}
@media(max-width:420px){
 .materials-dialog-overlay .toolbar.material-header-grid{column-gap:8px!important;}
 .materials-dialog-overlay .toolbar.material-header-grid > .material-card-context{padding:9px 8px!important;gap:8px!important;}
 .materials-dialog-overlay .toolbar.material-header-grid .material-dialog-brand{width:34px!important;height:34px!important;}
 .materials-dialog-overlay .toolbar.material-header-grid > .material-close-contrast{padding:9px 10px!important;}
}

/* Estudaí 0.4.77 — relatório de compressão com fechamento automático */
.compression-report{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:99999;background:white;border:1px solid #d9d3eb;border-radius:14px;box-shadow:0 12px 35px #231a4670;padding:14px 16px;width:min(94vw,470px);color:#292442;font-size:.88rem}
.compression-report-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.compression-report-head button{background:#f3efff;color:#28213d;padding:2px 10px;font-size:1.35rem}.compression-report p{margin:8px 0;line-height:1.4}.compression-report-bar{height:8px;background:#efecf6;border-radius:99px;overflow:hidden}.compression-report-bar>div{height:100%;background:#7665d4;border-radius:99px}

/* 0.4.79 — seletor de imagens nativo também no desktop */
.native-photo-picker{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;user-select:none;}
.native-photo-picker:focus-visible{outline:3px solid #5842ad;outline-offset:3px;}
