/* EDU Academia · componente unificado de carga privada a OneDrive */
.edu-upload-box{
  --edu-blue:#155eef;
  --edu-blue-2:#0b65ef;
  --edu-navy:#0b1f44;
  --edu-border:#d7e5f7;
  --edu-muted:#5f6f86;
  width:100%;
  max-width:100%;
  margin:16px 0 0;
  padding:24px;
  border:1px solid var(--edu-border);
  border-radius:26px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  box-shadow:0 18px 40px rgba(15,54,110,.08), inset 0 1px 0 rgba(255,255,255,.7);
  container-type:inline-size;
  overflow:hidden;
  position:relative;
}
.edu-upload-box::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:linear-gradient(180deg,#155eef 0%,#33a3ff 100%);
  border-radius:26px 0 0 26px;
}
.edu-upload-box__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding-left:6px}
.edu-upload-box__head>div:first-child{min-width:0;flex:1}
.edu-upload-box__head h4{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;color:var(--edu-navy);font-size:1.1rem;font-weight:900;line-height:1.25}
.edu-upload-box__head h4 i{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:14px;background:linear-gradient(135deg,#e8f1ff,#d9e8ff);color:var(--edu-blue);font-size:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.edu-upload-box__head p{margin:8px 0 0;color:#52627d;font-size:.94rem;line-height:1.58;max-width:60ch}
.edu-upload-badge{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;padding:10px 13px;border:1px solid #cfe0f6;border-radius:999px;background:#edf5ff;color:#075fd6;font-weight:900;font-size:.77rem;line-height:1;box-shadow:0 6px 16px rgba(9,92,212,.08)}
.edu-upload-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(7,95,214,.10)}
.edu-upload-badge.ok{border-color:#b9e2c8;background:#ecf9f1;color:#087a35}.edu-upload-badge.ok::before{box-shadow:0 0 0 4px rgba(8,122,53,.10)}
.edu-upload-badge.err{border-color:#f0c1bb;background:#fff2ef;color:#b52a1d}.edu-upload-badge.err::before{box-shadow:0 0 0 4px rgba(181,42,29,.10)}

.edu-file-picker{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:16px;padding:18px;border:1.5px solid #dbe7f7;border-radius:20px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.edu-file-picker::before{content:"\f15b";font-family:"Font Awesome 6 Free";font-weight:900;display:grid;place-items:center;width:88px;height:88px;border-radius:18px;background:linear-gradient(135deg,#edf4ff,#dbe9ff);color:#155eef;font-size:2rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.edu-file-picker:hover,.edu-file-picker:focus-within{border-color:#7ea9ea;box-shadow:0 14px 28px rgba(13,99,243,.08);transform:translateY(-1px)}
.edu-file-picker.has-file{border-color:#7aa9eb;background:linear-gradient(180deg,#fafdff 0%,#f2f8ff 100%)}
.edu-file-picker.is-uploaded{border-color:#77c593;background:linear-gradient(180deg,#fbfffc 0%,#f1fbf5 100%)}
.edu-file-picker.is-uploaded::before{content:"\f058";color:#0f9d52;background:linear-gradient(135deg,#eaf9f1,#d5f1e0)}
.edu-upload-input{display:none !important;position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;pointer-events:none!important}
.edu-file-picker__button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 16px;border:1px solid #c4d8f5;border-radius:14px;background:#fff;color:#0d56c8;font-weight:900;font-size:.9rem;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;white-space:nowrap;box-shadow:0 10px 22px rgba(13,99,243,.08)}
.edu-file-picker__button:hover{transform:translateY(-1px);border-color:#76a2e8;box-shadow:0 14px 26px rgba(13,99,243,.14);background:#f7fbff}
.edu-file-picker__button i{font-size:1rem}
.edu-file-picker__meta{min-width:0;display:flex;flex-direction:column;gap:10px}
.edu-file-picker__meta strong,.edu-file-picker__meta small{display:block}
.edu-file-picker__meta strong{color:#18345b;font-size:.98rem;font-weight:900;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.edu-file-picker__meta small{color:#6f7f95;font-size:.79rem;line-height:1.45}
.edu-file-picker__meta .edu-file-selected{color:#10386b}
.edu-file-picker.has-file .edu-file-picker__meta .edu-file-selected{color:#0a5fca}
.edu-file-picker.is-uploaded .edu-file-picker__meta .edu-file-selected{color:#087a35}
.edu-upload-help{margin-top:9px;color:#69778c;font-size:.79rem;line-height:1.48;padding-left:4px}

.edu-upload-action{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}
.edu-upload-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:0;border-radius:16px;padding:13px 20px;background:linear-gradient(135deg,#0b65ef,#155eef 55%,#337eff 100%);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 14px 28px rgba(13,99,243,.22);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;letter-spacing:.01em}
.edu-upload-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 32px rgba(13,99,243,.28);filter:saturate(1.04)}
.edu-upload-btn:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}
.edu-upload-code{display:inline-flex;align-items:center;min-height:42px;padding:9px 12px;border-radius:12px;border:1px dashed #c7dbf8;background:#eef4ff;color:#334968;font-size:.79rem;font-weight:900;overflow-wrap:anywhere}
.edu-upload-code:empty{display:none}
.edu-upload-status{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:14px 15px;border:1px solid #cadcf5;border-radius:15px;background:#eef5ff;color:#234b7d;font-size:.86rem;line-height:1.52;box-shadow:0 6px 16px rgba(13,99,243,.05)}
.edu-upload-status::before{content:"i";display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#dbeaff;color:#0b5ed7;font-size:.76rem;font-weight:900;margin-top:1px}
.edu-upload-status.ok{border-color:#bee4ca;background:#ecf9f1;color:#176b37}.edu-upload-status.ok::before{content:"✓";background:#d4f0dd;color:#0a7a36}
.edu-upload-status.err{border-color:#f0c4bd;background:#fff1ee;color:#a63125}.edu-upload-status.err::before{content:"!";background:#ffe0db;color:#ad2b20}
.edu-upload-status.work{border-color:#ead99a;background:#fff9e8;color:#735a00}.edu-upload-status.work::before{content:"↻";background:#fff0ba;color:#755a00}

.edu-upload-list{display:grid;gap:10px;margin-top:14px}.edu-upload-list:empty{display:none}
.edu-upload-row{padding:12px 13px;border:1px solid #dce5f2;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(30,64,110,.04)}
.edu-upload-row__top{display:flex;justify-content:space-between;gap:10px;font-size:.82rem}.edu-upload-row__name{font-weight:800;color:#1b3154;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edu-upload-row__pct{color:#52627d;white-space:nowrap}
.edu-upload-track{height:8px;background:#e8edf5;border-radius:999px;overflow:hidden;margin-top:9px}.edu-upload-bar{height:100%;width:0;background:linear-gradient(90deg,#0b65ef,#4a8cff);transition:width .15s ease}.edu-upload-row.done{border-color:#c9e8d3;background:#f7fcf8}.edu-upload-row.done .edu-upload-bar{background:linear-gradient(90deg,#159447,#42bd71)}.edu-upload-row.done .edu-upload-row__pct{color:#087a35;font-weight:800}
.edu-upload-proof{margin-top:15px;padding:15px;border:1px solid #d9e4f2;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(30,64,110,.04)}

.edu-folder-link{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 14px;border:1px solid #bfd3f2;border-radius:13px;background:#fff;color:#0757b7!important;text-decoration:none!important;font-size:.8rem;font-weight:900;line-height:1.2;box-shadow:0 8px 20px rgba(13,99,243,.06)}.edu-folder-link:hover{background:#eef6ff;border-color:#6ea5e8}.edu-folder-link[hidden]{display:none!important}.edu-folder-note{display:block;margin-top:9px;color:#60708a;font-size:.77rem;line-height:1.48;padding-left:4px}.edu-folder-note strong{color:#25476d}

@container (max-width:620px){
  .edu-upload-box{padding:18px 16px 18px 18px;border-radius:22px}
  .edu-upload-box::before{width:5px;border-radius:22px 0 0 22px}
  .edu-upload-box__head{display:block;margin-bottom:14px;padding-left:2px}
  .edu-upload-badge{margin-top:10px}
  .edu-file-picker{grid-template-columns:1fr;gap:12px;padding:14px}
  .edu-file-picker::before{width:62px;height:62px;border-radius:15px;font-size:1.55rem}
  .edu-file-picker__button{width:100%}
  .edu-file-picker__meta{text-align:left;gap:7px}
  .edu-upload-action{align-items:stretch;flex-direction:column}
  .edu-upload-btn,.edu-folder-link,.edu-upload-code{width:100%}
  .edu-upload-code{justify-content:center;text-align:center}
}
@media(max-width:640px){
  .edu-upload-box{padding:18px 16px 18px 18px}
  .edu-upload-box__head{display:block;padding-left:2px}
  .edu-upload-badge{display:inline-flex;margin-top:9px}
  .edu-file-picker{grid-template-columns:1fr;gap:12px;padding:14px}
  .edu-file-picker::before{width:62px;height:62px;border-radius:15px;font-size:1.55rem}
  .edu-upload-action{align-items:stretch;flex-direction:column}
  .edu-upload-btn,.edu-folder-link,.edu-upload-code,.edu-file-picker__button{width:100%}
}
