.detail{width:min(1120px,100%);margin:auto;display:flex;flex-direction:column;gap:20px}
.detail-copy{width:100%;padding:24px 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"category meta" "title meta" "description meta" "level meta" "tags meta";column-gap:32px;align-items:center;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 34px #17202a0b}
.detail-copy>.eyebrow{grid-area:category}
.detail-copy h1{grid-area:title;margin:6px 0 10px;font:800 34px/1.1 Manrope;letter-spacing:-.04em}
.detail-copy>p:first-of-type{grid-area:description;margin:0;color:var(--muted);line-height:1.6}
.education-level{grid-area:level;margin:10px 0 0!important;color:#5f6b78!important;font-size:13px}.education-level strong{color:#4338ca}
.tags{grid-area:tags;display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0}
.tags span{padding:6px 9px;border-radius:999px;background:#efedff;color:#5145c7;font-size:12px;font-weight:700}
.detail-copy>.meta{grid-area:meta;margin:0;padding:9px 12px;border-radius:10px;background:#f3f1ff;color:#5c53a7;white-space:nowrap}

.viewer{position:relative;width:100%;height:calc(100vh - 130px);min-height:680px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dadddf;border-radius:20px;background:#e9ecef;box-shadow:0 16px 50px #17202a1a}
.viewer-toolbar{position:relative;flex:0 0 76px;padding:12px 16px;display:flex;align-items:center;gap:20px;background:#fff;border-bottom:1px solid #dfe2e5}
.viewer-heading{flex:1;min-width:0;display:flex;align-items:center;gap:11px}
.viewer-heading>div{min-width:0;display:grid;gap:3px}
.viewer-heading strong{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 15px Manrope}
.viewer-heading small{color:var(--muted);font-size:12px}
.viewer-file-icon{flex:0 0 38px;height:44px;display:grid;place-items:center;border-radius:7px;background:#ef5350;color:#fff;font:800 10px Manrope;box-shadow:0 5px 12px #a52d2d26}
.viewer-actions{flex:0 0 auto;display:flex;gap:8px}
.viewer-action{min-width:120px;min-height:44px;padding:10px 14px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d5d9de;border-radius:10px;background:#fff;color:#27313a;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 2px 5px #17202a0d;transition:.16s}
.viewer-action:hover{border-color:#aaa2eb;background:#f6f5ff;color:var(--accent);translate:0 -1px}
.viewer-action.download-action{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 6px 14px #6557e633}
.viewer-action.download-action:hover{background:var(--accent-dark)}
.action-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:#efedff;color:var(--accent);font-size:15px;font-weight:900}
.download-action .action-icon{background:#ffffff2b;color:#fff}
.share-status{position:absolute;right:16px;top:66px;z-index:4;margin:0!important;padding:7px 10px;border:1px solid #dfe3e6;border-radius:9px;background:#fff;color:#36734d!important;font-size:12px;box-shadow:0 8px 22px #17202a21}
.share-status:empty{display:none}
.pdf-document{position:absolute;top:76px;left:0;display:block;width:100%;height:calc(100% - 76px);border:0;background:#e9ecef}

@media(max-width:800px){
.detail-copy{display:block;padding:22px}.detail-copy>.meta{display:inline-block;margin-top:12px}
.viewer{height:78vh;min-height:560px}
.pdf-document{top:132px;height:calc(100% - 132px)}
.viewer-toolbar{flex-basis:132px;padding:0;display:grid;grid-template-rows:68px 64px;gap:0}
.viewer-heading{width:100%;height:68px;padding:10px 12px;border-bottom:1px solid #e7e9ec}
.viewer-heading strong{max-width:calc(100vw - 120px)}
.viewer-actions{width:100%;height:64px;padding:9px 8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:#fafbfc}
.viewer-action{min-width:0;width:100%;min-height:44px;padding:8px 5px;font-size:12px}
.share-status{top:122px}
}

@media print{
 header,footer,.detail-copy,.viewer-toolbar{display:none!important}
 body,main,.detail,.viewer{display:block!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;border:0!important;box-shadow:none!important;height:auto!important;min-height:0!important}
}
.related{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 34px #17202a0b}
.related-head h2{margin:6px 0 18px;font:800 22px/1.2 Manrope;letter-spacing:-.03em}
.related-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.related-card{min-width:0;display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.16s}
.related-card:hover{border-color:#bdb7ef;background:#faf9ff;translate:0 -2px}
.related-card img,.related-placeholder{width:76px;height:92px;display:grid;place-items:center;object-fit:cover;object-position:top;border-radius:8px;background:#ece9ff;color:var(--accent);font:800 13px Manrope}
.related-copy{min-width:0;display:grid;gap:4px}
.related-copy small{overflow:hidden;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.related-copy strong{display:-webkit-box;overflow:hidden;font:800 14px/1.3 Manrope;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.related-copy em{color:var(--muted);font-size:11px;font-style:normal}

@media(min-width:1400px){
 main{width:min(1380px,calc(100% - 48px))}
 .detail{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 292px;grid-template-rows:auto auto;align-items:start;gap:20px 24px}
 .detail-copy{grid-column:1;grid-row:1}
 .viewer{grid-column:1;grid-row:2}
 .related{grid-column:2;grid-row:1/3;position:sticky;top:20px}
 .related-list{grid-template-columns:1fr}
 .related-card{grid-template-columns:70px minmax(0,1fr)}
 .related-card img,.related-placeholder{width:70px;height:86px}
}
@media(max-width:1000px){.related-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.related-list{grid-template-columns:1fr}}
@media(max-width:390px){.viewer-action .action-icon{display:none}}
