:root{--bg-primary:#0f0f13;--bg-secondary:#16161d;--bg-card:#1c1c26;--bg-hover:#222230;--accent:#6366f1;--accent-hover:#4f46e5;--accent-soft:rgba(99,102,241,0.12);--text-primary:#f1f1f3;--text-secondary:#9999b3;--text-muted:#55556b;--border:rgba(255,255,255,0.06);--border-hover:rgba(255,255,255,0.12);--success:#10b981;--warning:#f59e0b;--danger:#ef4444}
*{box-sizing:border-box;margin:0;padding:0}
body{background-color:var(--bg-primary);color:var(--text-primary);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.5;overflow:hidden}
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent-hover)}
button,.btn{cursor:pointer;font-family:'Inter',system-ui,sans-serif;font-size:14px;line-height:1.5;border-radius:6px;transition:background-color .2s,transform .2s,box-shadow .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn{padding:10px 16px;font-weight:500}
.btn-primary{background-color:var(--accent);color:#fff;border:none}
.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(99,102,241,0.3)}
.btn-secondary{background-color:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border)}
.btn-secondary:hover{background-color:var(--bg-secondary);border-color:var(--border-hover);transform:translateY(-2px)}
.btn-danger{background-color:var(--danger);color:#fff;border:none}
.btn-danger:hover{background-color:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px rgba(239,68,68,0.3)}
.btn-icon{background:transparent;border:none;color:var(--text-secondary);padding:8px}
.btn-icon:hover{color:var(--text-primary);background-color:var(--bg-hover);transform:translateY(-2px)}
input,textarea,select{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:'Inter',system-ui,sans-serif;font-size:14px;padding:10px 12px;outline:none;transition:border-color .2s;width:100%}
input:focus,textarea:focus,select:focus{border-color:var(--accent)}
input[type="checkbox"]{width:18px;height:18px;cursor:pointer}
textarea{resize:vertical}
label{font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--text-secondary);display:block;margin-bottom:6px}
h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:10px;color:var(--text-primary)}
h2{font-size:1.5rem}
h3{font-size:1.1rem}
.divider{height:1px;background-color:var(--border);margin:12px 0}
.required{color:var(--danger)}
.error-message{font-size:12px;color:var(--danger);margin-top:4px;min-height:16px}
.app-container{display:flex;height:100vh;overflow:hidden}
.sidebar{width:240px;background-color:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;padding:20px 0;position:fixed;height:100vh;transition:transform .3s ease;z-index:50}
.logo{display:flex;align-items:center;gap:10px;padding:0 20px;margin-bottom:20px;font-size:1.2rem;font-weight:700;color:var(--accent)}
.logo svg{width:28px;height:28px}
.search-sidebar{position:relative;margin-bottom:16px;padding:0 20px}
.search-sidebar input{padding-right:36px;width:100%}
.search-sidebar i{position:absolute;right:30px;top:50%;transform:translateY(-50%);color:var(--text-muted)}
.categories-nav{flex:1;overflow-y:auto;padding:0 10px}
.categories-nav h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:10px;padding:0 10px}
.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;color:var(--text-secondary);font-size:14px;transition:background-color .2s,color .2s}
.nav-item:hover,.nav-item.active{background-color:var(--accent-soft);color:var(--accent)}
.nav-item i{width:18px;height:18px;display:flex;align-items:center;justify-content:center}
.nav-item .count{margin-left:auto;font-size:12px;background-color:rgba(255,255,255,0.1);padding:2px 6px;border-radius:10px}
.btn-new-block{background-color:var(--accent);color:#fff;margin:16px 20px 0;padding:12px;border-radius:6px;font-weight:600;display:flex;align-items:center;gap:8px;transition:background-color .2s,transform .2s}
.btn-new-block:hover{background-color:var(--accent-hover);transform:translateY(-2px)}
.user-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border)}
.avatar{width:32px;height:32px;border-radius:50%;background-color:var(--bg-hover);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}
.logout{font-size:14px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}
.logout:hover{color:var(--danger)}
.main-content{flex:1;margin-left:240px;display:flex;flex-direction:column;height:100vh;overflow:hidden}
.main-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background-color:var(--bg-primary);position:sticky;top:0;z-index:10}
.breadcrumbs{font-size:14px;color:var(--text-secondary)}
.breadcrumbs a{color:var(--text-secondary)}
.breadcrumbs a:hover{color:var(--accent)}
.search-bar{flex:1;max-width:600px;position:relative}
.search-bar input{width:100%;padding-left:36px}
.search-bar>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}
.search-suggestions,.search-history{position:absolute;top:calc(100% + 5px);left:0;right:0;background-color:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,0.2);max-height:300px;overflow-y:auto;z-index:100;display:none}
.search-history{padding:10px 0}
.search-history h4{font-size:12px;text-transform:uppercase;color:var(--text-muted);padding:0 16px;margin-bottom:8px}
.search-history a{display:block;padding:6px 16px;color:var(--text-secondary);font-size:14px}
.search-history a:hover{background-color:var(--bg-hover);color:var(--text-primary)}
.search-history .clear-history{font-size:13px;color:var(--danger);cursor:pointer;padding:8px 16px;margin-top:8px;text-align:center}
.search-history .clear-history:hover{background-color:var(--bg-hover)}
.search-suggestions div{padding:8px 16px;cursor:pointer;font-size:14px;color:var(--text-secondary)}
.search-suggestions div:hover{background-color:var(--bg-hover);color:var(--text-primary)}
.header-actions{display:flex;align-items:center;gap:10px}
.btn-mobile-new{display:none}
.stats-bar{display:flex;gap:16px;padding:16px 24px;animation:fadeInUp .35s ease-out}
.stat-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px;flex:1;transition:transform .2s,box-shadow .2s}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.2)}
.stat-card i{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:rgba(99,102,241,0.2);border-radius:50%}
.stat-card h4{font-size:1.2rem;margin:0;font-weight:700}
.stat-card p{font-size:13px;color:var(--text-secondary);margin:0}
.section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;animation:fadeInUp .35s ease-out;flex-wrap:wrap;gap:12px}
.section-title{display:flex;align-items:center;gap:10px}
.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.filter-count{font-size:14px;color:var(--text-secondary);margin-right:10px}
.filter-chip{background-color:var(--bg-hover);border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;font-size:13px;border-radius:20px;transition:background-color .2s,color .2s,border-color .2s}
.filter-chip:hover,.filter-chip.active{background-color:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.filter-advanced{display:flex;align-items:center;gap:6px}
.blocks-container{flex:1;overflow-y:auto;padding:0 24px 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;animation:fadeInUp .35s ease-out}
.blocks-container.list-view{display:flex;flex-direction:column;gap:10px}
.block-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.block-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.2)}
.list-view .block-card{flex-direction:row;align-items:center}
.list-view .thumbnail{width:80px;height:60px;flex-shrink:0}
.list-view .block-info{flex-direction:row;align-items:center;gap:16px;padding:12px 16px}
.list-view .block-info h3{margin:0;flex:1}
.list-view .block-info p,.list-view .tags{display:none}
.list-view .block-footer{border:none;padding:0}
.thumbnail{width:100%;height:200px;background-color:var(--bg-secondary);position:relative;overflow:hidden;background-size:cover;background-position:center}
.thumbnail img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}
.thumbnail img.loaded{opacity:1}
.thumbnail .category-badge{position:absolute;bottom:10px;left:10px;background-color:rgba(0,0,0,0.6);color:#fff;font-size:12px;padding:3px 8px;border-radius:4px;display:flex;align-items:center;gap:4px}
.thumbnail .category-badge i{display:inline-flex;align-items:center;justify-content:center}
.block-actions-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.7);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;opacity:0;transition:opacity .2s}
.block-card:hover .block-actions-overlay{opacity:1}
.block-actions-overlay .btn{width:80%}
.block-info{padding:16px;flex:1;display:flex;flex-direction:column}
.block-info h3{margin:0 0 8px;font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.block-info p{font-size:13px;color:var(--text-secondary);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;flex:1}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.tag{background-color:var(--bg-hover);color:var(--text-secondary);font-size:12px;padding:2px 8px;border-radius:4px}
.block-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:12px;font-size:13px;color:var(--text-muted)}
.block-footer div{display:flex;align-items:center;gap:12px}
.block-footer span{display:flex;align-items:center;gap:4px}
.fav-btn{cursor:pointer;transition:color .2s}
.fav-btn:hover,.fav-btn.active{color:var(--warning)}
.skeleton-loader{display:contents}
.skeleton{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.skeleton-bg{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-secondary) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}
.skeleton-text{height:16px;background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-secondary) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:8px}
.skeleton-text.short{width:60px;height:12px;display:inline-block;margin-bottom:0}
.skeleton-tags{display:flex;gap:6px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skeleton .thumbnail{height:200px}
.skeleton .block-info h3{width:80%}
.skeleton .block-info p{height:32px;margin-bottom:16px}
.pagination{display:flex;justify-content:center;padding:20px 0;animation:fadeInUp .35s ease-out}
#load-more{background-color:var(--bg-hover);border:1px solid var(--border);color:var(--text-primary);padding:10px 20px}
#load-more:hover{background-color:var(--bg-secondary);border-color:var(--border-hover)}
.modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:none}
.modal.active{display:block}
.modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.7)}
.modal-content{position:relative;background-color:var(--bg-card);border:1px solid var(--border);border-radius:10px;max-width:90%;max-height:90vh;overflow-y:auto;margin:5vh auto;z-index:1001;animation:fadeInUp .35s ease-out}
.modal-small{width:450px}
.modal-filters{width:600px}
.modal-detail{width:900px}
.modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.modal-header h2{margin:0;font-size:1.2rem;display:flex;align-items:center;gap:8px}
.btn-close{background:transparent;border:none;color:var(--text-secondary);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,color .2s}
.btn-close:hover{background-color:var(--bg-hover);color:var(--text-primary)}
.modal-body{padding:20px}
.modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}
.filter-group{margin-bottom:16px}
.filter-group label{margin-bottom:8px;font-weight:500}
.filter-group select,.filter-group input{width:100%}
.category-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.checkbox-item{display:flex;align-items:center;gap:8px}
.checkbox-item label{margin:0;cursor:pointer;display:flex;align-items:center;gap:6px}
.date-range .date-inputs{display:flex;gap:12px}
.date-range input{flex:1}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.detail-thumbnail{height:300px;background-color:var(--bg-secondary);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.detail-thumbnail img{width:100%;height:100%;object-fit:contain}
.detail-info h3{font-size:1.4rem;margin-bottom:10px}
.detail-category{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background-color:var(--accent-soft);border-radius:6px;margin-bottom:12px;font-size:13px;font-weight:500}
.detail-stats{display:flex;gap:16px;margin-bottom:16px;font-size:14px;color:var(--text-secondary)}
.detail-stats span{display:flex;align-items:center;gap:5px}
.detail-info>p{margin-bottom:20px;font-size:14px;line-height:1.6}
.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;font-size:14px}
.detail-meta div{display:flex;flex-direction:column;gap:2px}
.detail-actions{display:flex;gap:10px}
.detail-actions .btn{flex:1}
.related-blocks h4{font-size:1.1rem;margin-bottom:16px}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.related-grid .block-card{font-size:12px}
.related-grid .thumbnail{height:80px}
.related-grid .block-info{padding:8px}
.related-grid .block-info h3{font-size:13px;margin:0}
.related-grid .block-footer,.related-grid .tags,.related-grid p{display:none}
.toast-container{position:fixed;top:20px;right:20px;max-width:350px;z-index:9999}
.toast{background-color:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:14px 16px;margin-bottom:10px;display:flex;align-items:flex-start;gap:12px;box-shadow:0 4px 12px rgba(0,0,0,0.3);animation:slideInRight .3s ease-out;max-width:100%}
.toast.success{border-left:3px solid var(--success)}
.toast.success i{color:var(--success)}
.toast.error{border-left:3px solid var(--danger)}
.toast.error i{color:var(--danger)}
.toast.warning{border-left:3px solid var(--warning)}
.toast.warning i{color:var(--warning)}
.toast.info{border-left:3px solid var(--accent)}
.toast.info i{color:var(--accent)}
.toast i{font-size:18px}
.toast-message{font-size:14px;color:var(--text-primary);flex:1}
.toast-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;transition:color .2s}
.toast-close:hover{color:var(--text-secondary)}
.progress-bar{position:fixed;top:0;left:0;height:3px;background-color:var(--accent);width:0;z-index:999;transition:width .3s ease}
@keyframes fadeInUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideInRight{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
@keyframes slideOutRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
.cadastro-page{overflow-y:auto}
.cadastro-container{padding:24px;max-width:1000px;margin:0 auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.form-column{display:flex;flex-direction:column;gap:20px}
.form-group{display:flex;flex-direction:column}
.input-with-counter{position:relative}
.input-with-counter input,.input-with-counter textarea{padding-right:60px}
.char-counter{position:absolute;right:10px;bottom:10px;font-size:11px;color:var(--text-muted)}
.input-with-button{display:flex;gap:8px}
.input-with-button input{flex:1}
.btn-test-link{background-color:var(--bg-hover);border:1px solid var(--border);color:var(--text-primary);padding:0 12px;white-space:nowrap}
.btn-test-link:hover{background-color:var(--bg-secondary);border-color:var(--border-hover)}
.tags-input-container{border:1px solid var(--border);border-radius:6px;padding:8px 12px;background-color:var(--bg-secondary);min-height:40px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tags-input-container:focus-within{border-color:var(--accent)}
#tags-input{flex:1;border:none;background:transparent;outline:none;padding:4px 0;min-width:150px;width:auto}
.tag-chip{background-color:var(--bg-hover);color:var(--text-primary);font-size:13px;padding:3px 10px;border-radius:20px;display:inline-flex;align-items:center;gap:6px}
.tag-chip i{cursor:pointer;color:var(--text-muted);transition:color .2s;width:14px;height:14px}
.tag-chip i:hover{color:var(--danger)}
.thumbnail-column{grid-column:2;grid-row:1/span 5}
.thumbnail-group{height:100%;display:flex;flex-direction:column;min-height:400px}
.thumbnail-dropzone{flex:1;border:2px dashed var(--border);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;background-color:var(--bg-secondary);transition:border-color .2s,background-color .2s;outline:none;min-height:300px}
.thumbnail-dropzone:hover,.thumbnail-dropzone:focus,.thumbnail-dropzone.active-paste{border-color:var(--accent);background-color:var(--accent-soft)}
.dropzone-empty{text-align:center}
.dropzone-icon{color:var(--text-muted);margin-bottom:8px}
.dropzone-empty p{font-size:14px;color:var(--text-secondary);margin-bottom:12px}
.btn-select-file{background-color:var(--bg-hover);border:1px solid var(--border);color:var(--text-primary)}
.btn-select-file:hover{background-color:var(--bg-secondary);border-color:var(--border-hover)}
.thumbnail-preview-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);border-radius:8px;overflow:hidden}
#thumbnail-preview{max-width:100%;max-height:100%;object-fit:contain}
.thumbnail-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.6);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .2s;cursor:pointer}
.thumbnail-preview-container:hover .thumbnail-overlay{opacity:1}
.thumbnail-overlay i{margin-bottom:8px}
.btn-remove-thumbnail{position:absolute;top:10px;right:10px;background-color:var(--danger);color:#fff;border:none;padding:6px 10px;font-size:12px;border-radius:4px;opacity:0;transition:opacity .2s}
.thumbnail-preview-container:hover .btn-remove-thumbnail{opacity:1}
.upload-progress{width:100%;height:4px;background-color:var(--bg-hover);border-radius:2px;overflow:hidden;margin-top:10px}
.progress-bar-inner{height:100%;background-color:var(--accent);width:0;transition:width .3s}
.image-info{font-size:12px;color:var(--text-muted);margin-top:8px;text-align:center}
.dropzone-message{font-size:12px;margin-top:8px;min-height:16px}
.dropzone-message.success{color:var(--success)}
.dropzone-message.error{color:var(--danger)}
.form-actions{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--border)}
.form-actions>div{display:flex;gap:10px}
.admin-container{padding:24px}
.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.admin-table{width:100%;border-collapse:collapse;background-color:var(--bg-card);border-radius:8px;overflow:hidden}
.admin-table th,.admin-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}
.admin-table th{background-color:var(--bg-secondary);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}
.admin-table tr:hover{background-color:var(--bg-hover)}
.admin-table .color-dot{width:16px;height:16px;border-radius:50%;display:inline-block}
.admin-table .actions{display:flex;gap:8px}
.toggle-switch{position:relative;width:40px;height:22px;background-color:var(--bg-hover);border-radius:11px;cursor:pointer;transition:background-color .2s}
.toggle-switch.active{background-color:var(--success)}
.toggle-switch::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;background-color:#fff;border-radius:50%;transition:transform .2s}
.toggle-switch.active::after{transform:translateX(18px)}
.export-options{display:flex;gap:16px;margin-bottom:24px}
.export-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px;flex:1;text-align:center;transition:transform .2s,box-shadow .2s;cursor:pointer}
.export-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.2);border-color:var(--accent)}
.export-card i{font-size:32px;color:var(--accent);margin-bottom:12px}
.export-card h3{margin-bottom:8px}
.export-card p{font-size:13px;color:var(--text-secondary)}
.no-results{text-align:center;padding:60px 20px;color:var(--text-secondary)}
.no-results i{font-size:48px;color:var(--text-muted);margin-bottom:16px}
.no-results h3{color:var(--text-primary);margin-bottom:8px}
.no-results p{margin-bottom:20px}
@media(max-width:1024px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0}.btn-mobile-new{display:inline-flex}.stats-bar{flex-wrap:wrap}.stat-card{min-width:calc(50% - 8px)}.form-grid{grid-template-columns:1fr}.thumbnail-column{grid-column:1;grid-row:auto}.detail-grid{grid-template-columns:1fr}.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.blocks-container{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}.filters{width:100%;justify-content:flex-start}.stat-card{min-width:100%}.category-checkboxes{grid-template-columns:1fr}.modal-content{margin:2vh auto;max-width:95%}}
