.resource-page{min-height:100vh;padding:118px max(20px,6vw) 64px;color:#f5f5f5;background:linear-gradient(135deg,#050505 0%,#181818 52%,#0b0b0b 100%)}
.resource-shell{width:min(1060px,100%);margin:0 auto}
.back-link{display:inline-flex;align-items:center;gap:8px;color:#aaa;text-decoration:none;font-size:.84rem;margin-bottom:24px;transition:transform .23s,color .23s}
.back-link:hover{color:#fff;transform:translateX(-2px)}
.resource-header{animation:fade-up .55s ease-out both;margin-bottom:28px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#bdbdbd;font-size:.75rem;font-weight:800;letter-spacing:.12em}
.resource-header h1{margin:8px 0 0;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.05em}
.resource-header p{margin:8px 0 0;color:#aaa}
.admin-panel{display:flex;align-items:center;gap:20px;margin-bottom:28px;padding:20px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(22,22,22,.9);box-shadow:0 14px 34px rgba(0,0,0,.27);animation:fade-up .5s ease-out .04s both}
.admin-panel>div{display:flex;flex-direction:column;gap:6px;margin-right:auto;min-width:0}
.admin-panel strong{font-size:1rem}
.admin-panel span{color:#aaa;font-size:.82rem;line-height:1.4}
.admin-panel form{display:flex;align-items:center;gap:10px}
.admin-panel input{max-width:250px;color:#bbb;font-size:.82rem}
.admin-panel input::file-selector-button{border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#292929;color:#ddd;padding:10px 12px;margin-right:10px;cursor:pointer}
.admin-panel button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:#292929;color:#fff;padding:11px 15px;font-weight:700;cursor:pointer;transition:background .23s,border-color .23s,transform .23s}
.admin-panel button:hover{background:#353535;border-color:rgba(255,255,255,.28);transform:translateY(-2px)}
.admin-panel p{margin:0;color:#aaa;font-size:.78rem;min-width:90px;text-align:right}
.files-section{animation:fade-up .55s ease-out .08s both}
.section-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.section-title h2{font-size:1.1rem;margin:0}
.section-title span{min-width:27px;padding:4px 8px;text-align:center;border-radius:999px;background:#292929;color:#bbb;font-size:.75rem}
.files-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.file-card{position:relative;display:flex;align-items:center;gap:14px;min-height:88px;padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(22,22,22,.9);box-shadow:0 14px 34px rgba(0,0,0,.27);animation:fade-up .5s ease-out both;transition:transform .23s,border-color .23s,background .23s}
.file-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.32);background:rgba(30,30,30,.96)}
.file-icon{width:46px;height:46px;flex:0 0 46px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#292929;color:#ddd;font-size:1rem}
.file-info{min-width:0;display:flex;flex-direction:column;gap:4px;flex:1}
.file-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.file-info span{color:#aaa;font-size:.76rem;line-height:1.4}
.download,.delete{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#292929;color:#ddd;text-decoration:none;cursor:pointer;transition:background .23s,color .23s,border-color .23s,transform .23s}
.download:hover,.delete:hover{background:#353535;color:#fff;border-color:rgba(255,255,255,.25);transform:translateY(-2px)}
.empty-state{padding:34px;border:1px dashed rgba(255,255,255,.16);border-radius:17px;color:#888;text-align:center;background:rgba(22,22,22,.55)}
@keyframes fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.files-grid{grid-template-columns:1fr 1fr}.admin-panel{align-items:stretch;flex-wrap:wrap}.admin-panel form{flex:1;min-width:280px}.admin-panel p{text-align:left}}
@media(max-width:700px){.admin-panel{flex-direction:column}.admin-panel form{flex-direction:column;align-items:stretch;min-width:0}.admin-panel input{max-width:none}.admin-panel p{text-align:left}.files-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.resource-header,.admin-panel,.files-section,.file-card{animation:none}.back-link,.admin-panel button,.download,.delete,.file-card{transition:none}}

.admin-panel[hidden]{display:none !important}
