.bootcamp-page{z-index:1;color:#fff;min-height:100vh;font-family:var(--font-sans);background-image:linear-gradient(#020005b3,#020005b3),url(/images/bootcamp_bg.png);background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;padding:24px 40px 48px;display:flex;position:relative}.bootcamp-page:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 20% 30%,#7a2aff40 0%,#0000 50%),radial-gradient(circle at 80% 70%,#c14bff26 0%,#0000 50%);position:fixed;inset:0}.bootcamp-container{width:100%;max-width:1400px;margin:0 auto}.glass-card{-webkit-backdrop-filter:blur(10px)saturate(1.8)brightness(1.1);backdrop-filter:blur(10px)saturate(1.8)brightness(1.1);background:#ffffff14;border:1px solid #ffffff1f;border-radius:24px;padding:24px;box-shadow:0 8px 32px #0006}.back-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin-bottom:24px;transition:color .2s;display:flex}.bootcamp-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.header-action{cursor:pointer;border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:all .2s;display:flex}.back-btn.header-action{margin-bottom:0}.edit-btn{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .2s;display:flex;position:absolute;top:16px;right:16px;color:#fff9!important}.edit-btn:hover{background:#ffffff1a;transform:translateY(-2px);color:#fff!important}.edit-btn svg{width:16px;height:16px}.bottom-layout-only{display:none!important}@media (max-width:1200px){.desktop-grid-only{display:none!important}.bottom-layout-only{margin-top:32px;display:block!important}}.back-btn:hover{color:#fff}.bootcamp-title-capsule{-webkit-backdrop-filter:blur(50px)saturate(1.8);background:#ffffff1a;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:12px;padding:10px 24px;display:flex;box-shadow:0 8px 32px #0000004d}.title-emoji{font-size:20px}.title-text-gold{color:gold;font-size:20px;font-weight:700}.title-text-white{color:#fff;font-size:20px;font-weight:500}.stat-cards-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px;display:grid}.stat-card{flex-direction:column;gap:12px;display:flex}.stat-card__header{align-items:center;gap:12px;display:flex}.stat-card__icon-wrap{background:#a855f7;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-card__title{color:#ffffffe6;font-size:14px;font-weight:600}.stat-card__body{justify-content:space-between;align-items:flex-end;display:flex}.stat-card__value{font-size:28px;font-weight:700}.stat-card__trend{color:#d8b4fe;background:#a855f74d;border-radius:8px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:600;display:flex}.stat-card__footer{color:#ffffff80;font-size:13px}.middle-grid{grid-template-columns:1.5fr 1.5fr 1fr;gap:20px;margin-bottom:24px;display:grid}.upload-zone{text-align:center;cursor:pointer;border:4px solid #f0f;flex-direction:column;justify-content:center;align-items:center;transition:all .2s;display:flex}.upload-zone:hover{background:#ffffff14;border-color:#fff6}.upload-zone__title{color:#fffc;align-self:flex-start;margin-bottom:32px;font-size:18px;font-weight:600}.upload-zone__main{flex-direction:column;align-items:center;gap:16px;display:flex}.upload-zone__action{color:#fff;font-size:20px;font-weight:600}.upload-zone__formats{color:#fff6;font-size:13px}.upload-zone__file-info{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:12px;max-width:90%;margin-top:12px;padding:12px 20px;display:flex}.upload-zone__file-name{color:#ffffffe6;white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.upload-btn{color:#fff;cursor:pointer;background:#7a35ee;border:none;border-radius:12px;margin-top:20px;padding:12px 32px;font-size:16px;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #7a35ee4d}.upload-btn:hover:not(:disabled){background:#8b4ff3;transform:translateY(-2px);box-shadow:0 6px 16px #7a35ee66}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.bootcamp-status-bar{gap:8px;width:100%;max-width:400px;margin-top:24px;display:grid}.bootcamp-status-bar__track{background:#ffffff1a;border-radius:999px;width:100%;height:8px;overflow:hidden}.bootcamp-status-bar__fill{background:linear-gradient(90deg,#7a35ee,#c14bff);border-radius:999px;height:100%;transition:width .3s}.bootcamp-status-bar__meta{color:#fff9;justify-content:space-between;font-size:12px;display:flex}.chart-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.chart-title{color:#fffc;font-size:15px;font-weight:600}.time-ranges{background:#ffffff1a;border-radius:8px;gap:4px;padding:4px;display:flex}.range-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px;font-size:11px}.range-btn.active{color:#fff;background:#fff3}.chart-legend{justify-content:center;gap:16px;margin-top:16px;display:flex}.legend-item{color:#fff9;align-items:center;gap:6px;font-size:12px;display:flex}.legend-dot{border-radius:2px;width:10px;height:10px}.submissions-section{width:100%}.submissions-table-wrap{overflow-x:auto}.submissions-table{border-collapse:collapse;text-align:left;width:100%}.submissions-table th{color:#fff9;border-bottom:1px solid #ffffff1a;padding:16px;font-size:14px;font-weight:500}.submissions-table td{color:#ffffffe6;padding:16px;font-size:14px}.submissions-table tr:nth-child(2n){background:#ffffff05}.submissions-table tr:hover{background:#ffffff0d}.btn-link{color:#60a5fa;font-weight:500;text-decoration:none}.btn-link:hover{text-decoration:underline}.status-badge{background:#ffffff1a;border:1px solid #fff3;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700}.pill-button{white-space:nowrap;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:120px;padding:8px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.pill-button--purple{color:#d8b4fe;background:#a855f733;border-color:#a855f766}.pill-button--purple:hover{background:#a855f74d;border-color:#a855f799;transform:translateY(-1px)}.pill-button--yellow{color:#fef08a;background:#eab30833;border-color:#eab30866}.bg-dots{opacity:.2;position:absolute;bottom:20px;right:20px}.dot-grid{grid-template-columns:repeat(6,6px);gap:12px;display:grid}.dot{background:#fff;border-radius:50%;width:4px;height:4px}@media (max-width:1200px){.middle-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.bootcamp-page{padding:16px 12px 48px}.submissions-table td{padding:12px 6px;font-size:11px}.submissions-table th{padding:0 6px 8px;font-size:10px}.pill-button{gap:2px;min-width:70px;padding:4px 8px;font-size:10px}.pill-button svg{width:12px;height:12px}}@media (max-width:900px){.bootcamp-page{padding:16px 20px 48px}.bootcamp-title-section{justify-content:center;margin-top:12px;margin-bottom:24px}.bootcamp-title-capsule{gap:8px;padding:8px 20px}.title-text-gold,.title-text-white{font-size:16px}.stat-cards-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.stat-card{gap:8px;padding:16px}.stat-card__value{font-size:22px}.stat-card__trend{padding:2px 6px;font-size:10px}.stat-card__footer{font-size:11px}.middle-grid{flex-direction:column;gap:16px;display:flex}.weekly-progress-card{order:1}.upload-zone{order:2}.competition-data-card{order:3}.submissions-table{border-collapse:separate;border-spacing:0 12px}.submissions-table tr{background:#ffffff08;border-radius:16px}.submissions-table td{border:none;padding:16px 8px}.submissions-table td:first-child{border-radius:16px 0 0 16px;padding-left:16px}.submissions-table td:last-child{border-radius:0 16px 16px 0;padding-right:16px}.submissions-table th{text-align:left;color:#fff6;border:none;padding:0 12px 8px;font-size:11px}.pill-button{gap:4px;min-width:100px;padding:6px 14px;font-size:12px}}.competition-data-card{flex-direction:column;gap:16px;min-height:340px;display:flex;position:relative}.comp-title{color:#ffffffe6;text-align:center;margin-bottom:8px;font-size:15px;font-weight:600}.comp-info-list{flex-direction:column;gap:12px;display:flex}.comp-info-item{gap:8px;font-size:14px;display:flex}.info-label{color:#ffffffb3;font-weight:500}.info-value{color:#fff;font-weight:600}.info-value.link-style{color:#d8b4fe;cursor:pointer;text-decoration:underline}.guidelines-box{background:#0006;border:1px solid #ffffff1a;border-radius:16px;margin-top:4px;padding:16px;box-shadow:inset 0 2px 10px #0000004d}.guidelines-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.guideline-item{color:#ffffffb3;font-size:13px;line-height:1.5}.comp-info-item.no-border{margin-top:4px}.comp-info-item:not(.no-border):not(:last-child){border-bottom:1px solid #ffffff0d;padding-bottom:8px}.status-container-inline{align-items:center;display:flex}.status-value.completed{color:#10b981}.status-value.not-available{color:#fb7185}.guideline-status-container.mt-2{background:0 0;border:none;margin-top:8px;padding:0}.retry-inline-btn{color:#d8b4fe;cursor:pointer;background:#7a35ee33;border:1px solid #7a35ee66;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .2s;display:flex}.retry-inline-btn:hover:not(:disabled){background:#7a35ee4d;transform:scale(1.05)}.retry-inline-btn:disabled{opacity:.5;cursor:not-allowed}.status-row{align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.status-text{color:#fff9}.status-value{text-transform:capitalize}.status-value.processing{color:#a855f7}.status-value.failed{color:#ef4444}.retry-guideline-btn{color:#d8b4fe;cursor:pointer;background:#7a35ee33;border:1px solid #7a35ee66;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.retry-guideline-btn:hover:not(:disabled){background:#7a35ee4d;transform:translateY(-1px)}.retry-guideline-btn:disabled{opacity:.5;cursor:not-allowed}.retry-guideline-btn svg.spinning{animation:2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
