:root { --documents-blue:#336aea; --documents-text:#17243a; --documents-muted:#68758a; --documents-border:#dbe4ef; }
.downloads-section { padding:46px 0 80px; background:#fff; }
.downloads-section > .container { width:min(1240px,calc(100% - 32px)); max-width:none; padding-right:0; padding-left:0; }
.downloads-toolbar { display:grid; grid-template-columns:minmax(280px,1fr) minmax(220px,300px) auto; align-items:center; gap:12px; margin-bottom:20px; }
.downloads-search { position:relative; margin:0; }
.downloads-search i { position:absolute; top:50%; left:16px; color:var(--documents-muted); transform:translateY(-50%); }
.downloads-search input,.downloads-toolbar select { width:100%; height:50px; padding:0 16px; background:#fff; border:1px solid var(--documents-border); border-radius:14px!important; outline:0; }
.downloads-search input { padding-left:44px; }
.downloads-search input:focus,.downloads-toolbar select:focus { border-color:var(--documents-blue); box-shadow:0 0 0 4px rgba(51,106,234,.1); }
.downloads-toolbar > span { color:var(--documents-muted); font-size:12px; white-space:nowrap; }
.downloads-toolbar > span b { color:var(--documents-text); }
.downloads-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.download-card { display:grid; grid-template-columns:52px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; gap:14px; min-height:132px; padding:20px; background:#fff; border:1px solid var(--documents-border); border-radius:18px; box-shadow:0 8px 24px rgba(23,36,58,.045); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.download-card:hover { border-color:#bfd0e8; transform:translateY(-2px); box-shadow:0 14px 32px rgba(23,36,58,.08); }
.download-card__icon { display:grid; width:52px; height:52px; grid-row:1 / span 2; place-items:center; color:#d84d56; background:#ffedef; border-radius:15px; font-size:11px; font-weight:900; }
.download-card__copy { min-width:0; }
.download-card__category { color:var(--documents-blue); font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.download-card h2 { display:-webkit-box; overflow:hidden; margin:5px 0; color:var(--documents-text); font-size:16px; font-weight:800; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.download-card small { color:var(--documents-muted); font-size:11px; }
.download-card__actions { display:flex; grid-column:2; gap:7px; }
.download-card__actions button,.download-card__actions a { display:grid; width:36px; height:36px; place-items:center; color:var(--documents-blue); background:#edf3ff; border:0; border-radius:10px; }
.download-card__actions button:hover,.download-card__actions a:hover { color:#fff; background:var(--documents-blue); }
.downloads-empty { display:grid; place-items:center; min-height:240px; color:var(--documents-muted); text-align:center; }
.downloads-grid > .downloads-empty { grid-column:1 / -1; width:100%; justify-self:stretch; }
.downloads-empty[hidden] { display:none; }
.downloads-empty > span { display:grid; width:52px; height:52px; place-items:center; color:#d84d56; background:#ffedef; border-radius:15px; font-size:11px; font-weight:900; }
.downloads-empty h2 { margin:12px 0 2px; color:var(--documents-text); font-size:20px; }
.downloads-empty p { margin:0; }
.document-viewer-modal { z-index:1090; }
.document-viewer-modal .modal-content { height:100%; background:#e9edf3; border:0; border-radius:0; }
.document-viewer-toolbar { display:flex; align-items:center; gap:18px; min-height:72px; padding:12px 16px; background:#fff; border-bottom:1px solid #d8e0eb; }
.document-viewer-heading { display:flex; align-items:center; gap:11px; min-width:250px; max-width:360px; }
.document-pdf-icon { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; color:#d84d56; background:#ffedef; border-radius:10px; font-size:10px; font-weight:900; }
.document-viewer-heading h2 { overflow:hidden; margin:0; color:var(--documents-text); font-size:14px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.document-viewer-heading small { color:var(--documents-muted); font-size:10px; }
.document-viewer-search { display:flex; flex:1; align-items:center; max-width:460px; height:42px; padding-left:13px; background:#f5f7fa; border:1px solid #dce4ee; border-radius:12px; }
.document-viewer-search input { min-width:80px; height:100%; flex:1; padding:0 9px; background:transparent; border:0; outline:0; }
.document-viewer-search button,.document-viewer-controls button,.document-viewer-controls a { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; color:var(--documents-text); background:transparent; border:0; border-radius:10px; }
.document-viewer-search button:hover,.document-viewer-controls button:hover,.document-viewer-controls a:hover { color:var(--documents-blue); background:#edf3ff; }
.document-viewer-search > span,.document-viewer-controls > span { min-width:48px; color:var(--documents-muted); font-size:10px; text-align:center; }
.document-viewer-controls { display:flex; align-items:center; gap:2px; margin-left:auto; }
.document-viewer-separator { min-width:1px!important; width:1px; height:24px; margin:0 5px; background:#dce4ee; }
.document-viewer-stage { position:relative; flex:1; overflow:auto; padding:28px; text-align:center; }
.document-viewer-stage canvas { display:block; margin:0 auto; background:#fff; box-shadow:0 12px 36px rgba(16,40,63,.18); }
.document-viewer-stage iframe { width:100%; height:100%; background:#fff; border:0; }
.document-viewer-loader { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; gap:10px; color:var(--documents-muted); background:rgba(233,237,243,.82); font-size:12px;font-weight:700; }
.document-viewer-loader[hidden] { display:none; }
.document-viewer-loader span { width:18px;height:18px;border:2px solid #c9d7ea;border-top-color:var(--documents-blue);border-radius:50%;animation:document-spin .7s linear infinite; }
@keyframes document-spin { to { transform:rotate(360deg); } }
@media(max-width:1100px){.downloads-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.downloads-toolbar{grid-template-columns:1fr 1fr}.downloads-toolbar>span{grid-column:1/-1}.document-viewer-toolbar{flex-wrap:wrap}.document-viewer-search{order:3;width:100%;max-width:none}.document-viewer-controls{width:100%;overflow-x:auto}}
@media(max-width:640px){.downloads-section{padding-top:30px}.downloads-section>.container{width:min(100% - 20px,1240px)}.downloads-toolbar{grid-template-columns:1fr}.downloads-toolbar>span{grid-column:auto}.downloads-grid{grid-template-columns:1fr}.download-card{grid-template-columns:46px minmax(0,1fr);padding:16px}.download-card__icon{width:46px;height:46px}.document-viewer-stage{padding:12px}}
