/* Стили страницы atlas_catalog; вынесены из шаблона для строгой CSP. */
:root { --atlas-soft: rgba(74, 144, 217, .10); }
.atlas-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:20px; }
.atlas-sidebar, .atlas-controls, .atlas-card { background:var(--card-background); border:1px solid var(--border-color); box-shadow:var(--shadow); }
.atlas-sidebar { align-self:start; position:sticky; top:20px; max-height:calc(100vh - 120px); overflow-y:auto; border-radius:12px; padding:14px; }
.atlas-sidebar h3 { margin:0 0 10px; font-size:.9rem; letter-spacing:.04em; opacity:.7; text-transform:uppercase; }
.atlas-category-list { display:flex; flex-direction:column; gap:3px; }
.atlas-category { display:flex; align-items:center; gap:8px; width:100%; border:0; border-radius:8px; padding:8px 10px; background:transparent; color:var(--text-color); cursor:pointer; text-align:left; font:inherit; font-size:.86rem; }
.atlas-category:hover { background:var(--atlas-soft); }
.atlas-category.active { background:var(--primary-color); color:#fff; font-weight:700; }
.atlas-category-count { margin-left:auto; font-size:.75rem; opacity:.68; }
.atlas-controls { border-radius:12px; padding:14px; margin-bottom:16px; }
.atlas-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.atlas-toolbar input, .atlas-toolbar select, .atlas-editor input, .atlas-editor textarea, .atlas-editor select { box-sizing:border-box; border:1px solid var(--border-color); border-radius:8px; background:var(--background-color); color:var(--text-color); font:inherit; }
.atlas-toolbar input { flex:1; min-width:220px; padding:9px 12px; }
.atlas-toolbar select { min-width:160px; padding:9px 10px; }
.atlas-count { font-size:.82rem; opacity:.65; margin-left:auto; }
.atlas-admin-actions { display:flex; gap:8px; flex-wrap:wrap; border-top:1px dashed var(--border-color); margin-top:11px; padding-top:11px; }
.atlas-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.atlas-card { position:relative; display:flex; flex-direction:column; gap:8px; border-radius:12px; padding:15px; cursor:pointer; transition:transform .18s,box-shadow .18s,border-color .18s; }
.atlas-card:hover { transform:translateY(-2px); box-shadow:0 7px 22px rgba(0,0,0,.14); border-color:var(--primary-color); }
.atlas-card-image { width:100%; height:145px; object-fit:cover; border-radius:8px; background:var(--background-color); }
.atlas-card-image-placeholder { height:145px; display:flex; align-items:center; justify-content:center; background:var(--atlas-soft); border-radius:8px; font-size:2.6rem; }
.atlas-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.atlas-card h3 { margin:0; color:var(--primary-text); font-size:1.05rem; overflow-wrap:anywhere; }
.atlas-badge { display:inline-block; border-radius:10px; padding:2px 8px; background:var(--atlas-soft); color:var(--primary-text); font-size:.7rem; font-weight:700; }
.atlas-card-description { margin:0; font-size:.83rem; line-height:1.45; opacity:.78; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.atlas-tags { display:flex; flex-wrap:wrap; gap:4px; }
.atlas-tag { padding:2px 7px; border-radius:9px; background:var(--atlas-soft); color:var(--primary-text); font-size:.69rem; }
.atlas-meta { display:flex; gap:9px; flex-wrap:wrap; border-top:1px solid var(--border-color); padding-top:7px; margin-top:auto; font-size:.76rem; opacity:.7; }
.atlas-card-admin { position:absolute; right:8px; top:8px; display:flex; gap:4px; z-index:1; }
.atlas-card-admin button { border:0; border-radius:6px; padding:4px 7px; cursor:pointer; color:var(--text-color); background:var(--atlas-soft); }
.atlas-card-admin button:hover { background:var(--primary-color); color:#fff; }
.atlas-card-admin .atlas-delete:hover { background:var(--danger-color); }
.atlas-empty { grid-column:1/-1; text-align:center; padding:50px 18px; opacity:.55; background:var(--card-background); border:1px dashed var(--border-color); border-radius:12px; }
.atlas-detail { max-width:680px; max-height:86vh; overflow-y:auto; }
.atlas-detail-meta { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.atlas-detail-description { white-space:pre-wrap; line-height:1.55; margin:12px 0; }
.atlas-detail-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:8px; margin-top:14px; }
.atlas-detail-box { border-radius:8px; padding:9px 11px; background:var(--atlas-soft); font-size:.88rem; line-height:1.45; }
.atlas-detail-image { display:block; max-width:100%; max-height:300px; object-fit:cover; border-radius:10px; margin:10px auto; }
.atlas-editor { max-width:620px; max-height:88vh; overflow-y:auto; }
.atlas-editor .form-row { margin:0 0 12px; }
.atlas-editor label { display:block; margin-bottom:4px; font-size:.82rem; font-weight:700; opacity:.75; }
.atlas-editor input, .atlas-editor textarea, .atlas-editor select { width:100%; padding:8px 10px; }
.atlas-editor textarea { resize:vertical; min-height:85px; }
.atlas-editor-actions { display:flex; gap:8px; margin-top:16px; }
.atlas-editor-actions .btn { flex:1; }
.atlas-error { display:none; margin-bottom:10px; padding:8px 10px; border-radius:8px; background:rgba(220,53,69,.12); color:var(--danger-color); }
@media (max-width:900px) { .atlas-layout { grid-template-columns:1fr; } .atlas-sidebar { position:static; max-height:none; } .atlas-category-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); } }
@media (max-width:680px) { .atlas-grid { grid-template-columns:1fr; } .atlas-toolbar { align-items:stretch; flex-direction:column; } .atlas-toolbar input, .atlas-toolbar select { width:100%; min-width:0; } .atlas-count { margin-left:0; } .atlas-card { padding:12px; } }
