@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";html{font-size:62.5%}:root{--bg-main:#e0eaf5;--bg-sky:radial-gradient(circle at 50% 0%, #f0f9ff 0%, #dbeafe 40%, #bfdbfe 100%);--bg-card:#ffffffa6;--bg-sidebar:#ffffff8c;--accent:#0f172a;--accent-blue:#3b82f6;--text-bright:#0f172a;--text-muted:#64748b;--border:#ffffffb3;--border-dark:#0000000d;--radius:16px;--success:#10b981;--danger:#ef4444;--warning:#f59e0b}*{box-sizing:border-box;margin:0;padding:0}body.admin-body{background:var(--bg-sky);color:var(--text-bright);background-attachment:fixed;min-height:100vh;font-family:Inter,sans-serif;font-size:1.4rem}.admin-login-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);text-align:center;border-radius:24px;width:100%;max-width:440px;padding:3.5rem;animation:.6s cubic-bezier(.16,1,.3,1) fadeSlideUp;box-shadow:0 30px 60px #1f26870d,inset 0 1px #fffc}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-logo{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 2rem;display:flex;box-shadow:0 4px 12px #0000000d}.login-logo i{color:var(--accent);font-size:2.2rem}.login-title{color:var(--text-bright);margin-bottom:.8rem;font-size:2.2rem;font-weight:700}.login-subtitle{color:var(--text-muted);margin-bottom:2.5rem;font-size:1.3rem;line-height:1.5}.form-group{text-align:left;margin-bottom:1.8rem;position:relative}.form-group label{display:none}.form-group>i.input-icon,.form-group>i.right-icon{color:#94a3b8;font-size:1.4rem;position:absolute;top:50%;transform:translateY(-50%)}.form-group>i.input-icon{left:1.5rem}.form-group>i.right-icon{cursor:pointer;right:1.5rem}.form-group input{width:100%;color:var(--text-bright);background:#ffffffb3;border:1px solid #ffffffe6;border-radius:12px;outline:none;padding:1.3rem 1.5rem 1.3rem 4rem;font-family:Inter,sans-serif;font-size:1.4rem;transition:all .3s;box-shadow:inset 0 2px 4px #00000005}.form-group input::placeholder{color:#94a3b8;font-weight:400}.form-group input:focus{border-color:var(--accent-blue);background:#fff;box-shadow:0 0 0 3px #3b82f626}.forgot-pass{text-align:right;color:var(--text-bright);margin-top:-1rem;margin-bottom:2.5rem;font-size:1.25rem;font-weight:500;text-decoration:none;transition:color .2s;display:block}.forgot-pass:hover{color:var(--accent-blue)}.btn-login{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:.5rem;padding:1.4rem;font-family:Inter,sans-serif;font-size:1.5rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #0f172a26}.btn-login:hover{background:#1e293b;transform:translateY(-1px);box-shadow:0 6px 20px #0f172a33}.btn-login:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-divider{color:#94a3b8;align-items:center;margin:2.5rem 0;font-size:1.2rem;font-weight:500;display:flex}.login-divider:before,.login-divider:after{content:"";background:#00000014;flex:1;height:1px}.login-divider span{padding:0 1.5rem}.social-login{justify-content:center;gap:1.5rem;display:flex}.social-btn{cursor:pointer;width:45px;height:45px;color:var(--text-bright);background:#fff;border:1px solid #0000000d;border-radius:50%;justify-content:center;align-items:center;font-size:1.6rem;transition:all .2s;display:flex;box-shadow:0 2px 6px #00000008}.social-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.social-btn.google{color:#db4437}.social-btn.facebook{color:#1877f2}.social-btn.apple{color:#000}.login-error{color:var(--danger);background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;margin-top:2rem;padding:1.2rem 1.5rem;font-size:1.3rem;display:none}.back-to-home{color:var(--text-muted);background:#00000008;border-radius:10px;align-items:center;gap:.8rem;margin-top:2.5rem;padding:.8rem 1.5rem;font-size:1.3rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.back-to-home:hover{color:var(--accent);background:#0000000f;transform:translate(-4px)}.back-to-home i{font-size:1.1rem;transition:transform .3s}.back-to-home:hover i{transform:translate(-2px)}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:var(--bg-sidebar);-webkit-backdrop-filter:blur(24px);border-right:1px solid var(--border);z-index:100;flex-direction:column;width:240px;height:100vh;padding:2.5rem 0;display:flex;position:fixed;top:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:0 2rem 2.5rem;display:flex}.sidebar-logo i{color:var(--accent);font-size:2rem}.sidebar-logo span{font-size:1.6rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:2rem 1rem;display:flex}.sidebar-nav a{color:var(--text-muted);border-radius:10px;align-items:center;gap:1.2rem;padding:1.1rem 1.5rem;font-size:1.4rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-nav a:hover,.sidebar-nav a.active{color:var(--accent-blue);background:#3b82f61f}.sidebar-nav a i{text-align:center;width:18px;font-size:1.5rem}.sidebar-logout{border-top:1px solid var(--border);padding:1.5rem 2rem}.btn-logout{width:100%;color:var(--danger);cursor:pointer;background:#f5576c1a;border:1px solid #f5576c40;border-radius:10px;align-items:center;gap:1rem;padding:1rem 1.5rem;font-family:Inter,sans-serif;font-size:1.4rem;transition:all .2s;display:flex}.btn-logout:hover{background:#f5576c33}.admin-main{flex-direction:column;flex:1;margin-left:240px;display:flex}.admin-topbar{-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border);z-index:50;background:#ffffff73;justify-content:space-between;align-items:center;padding:1.5rem 3rem;display:flex;position:sticky;top:0}.topbar-title{font-size:1.8rem;font-weight:600}.topbar-user{color:var(--text-muted);align-items:center;gap:1rem;font-size:1.3rem;display:flex}.topbar-user .avatar{background:linear-gradient(135deg, var(--accent-blue), var(--accent));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;font-weight:600;display:flex}.admin-content{flex:1;padding:3rem}.stats-row{grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:3rem;display:grid}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1.5rem;padding:2rem 2.5rem;display:flex}.stat-icon{border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;display:flex}.stat-icon.orange{color:var(--accent);background:#f68c0926}.stat-icon.blue{color:var(--accent-blue);background:#667eea26}.stat-icon.green{color:var(--success);background:#43e97b26}.stat-info h3{font-size:2.8rem;font-weight:700;line-height:1}.stat-info p{color:var(--text-muted);margin-top:.3rem;font-size:1.2rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.section-header h2{font-size:1.8rem;font-weight:600}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.7rem;padding:1rem 2rem;font-family:Inter,sans-serif;font-size:1.4rem;font-weight:600;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-flex}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.posts-table-wrapper{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px #00000005}table.posts-table{border-collapse:collapse;width:100%}.posts-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:#00000008;padding:1.2rem 2rem;font-size:1.1rem;font-weight:600}.posts-table td{border-top:1px solid var(--border);vertical-align:middle;padding:1.5rem 2rem;font-size:1.3rem}.posts-table tr:hover td{background:#ffffff05}.post-title-cell{max-width:300px;font-weight:500}.post-slug-cell{color:var(--text-muted);font-size:1.2rem}.badge{border-radius:8px;align-items:center;gap:.6rem;padding:.5rem 1rem;font-size:1.1rem;font-weight:600;display:inline-flex}.badge-published{color:#059669;background:#10b9811a}.badge-draft{color:#475569;background:#0f172a0f}.badge-admin{color:#2563eb;background:#3b82f61a}.badge-editor{color:#d97706;background:#f59e0b1a}.table-actions{gap:.8rem;display:flex}.btn-sm{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-family:Inter,sans-serif;font-size:1.2rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-edit{color:var(--accent-blue);background:#667eea26}.btn-edit:hover{background:#667eea4d}.btn-publish{color:var(--success);background:#43e97b26}.btn-publish:hover{background:#43e97b4d}.btn-unpublish{color:var(--accent);background:#f68c0926}.btn-unpublish:hover{background:#f68c094d}.btn-delete{color:var(--danger);background:#f5576c26}.btn-delete:hover{background:#f5576c4d}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0f172a26;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;display:none;position:fixed;top:0;left:0}.modal-card{background:var(--bg-card);-webkit-backdrop-filter:blur(28px);border:1px solid var(--border);border-radius:24px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;animation:.4s cubic-bezier(.16,1,.3,1) modalIn;display:flex;box-shadow:0 40px 100px #0f172a14}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.modal-header h2{font-size:2rem;font-weight:700}.btn-close{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.6rem;transition:all .2s;display:flex}.btn-close:hover{color:var(--danger);background:#f5576c33}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.form-group textarea{border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-bright);resize:vertical;background:#ffffff0d;outline:none;min-height:200px;padding:1.2rem 1.5rem;font-family:Inter,sans-serif;font-size:1.4rem;line-height:1.7;transition:border-color .3s}.form-group textarea:focus{border-color:var(--accent)}.form-group select{border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-bright);cursor:pointer;background:#ffffff0d;outline:none;padding:1.2rem 1.5rem;font-family:Inter,sans-serif;font-size:1.4rem}.form-group select option{background:var(--bg-card)}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:1rem;margin-top:2.5rem;padding-top:2rem;display:flex}.btn-secondary{border:1px solid var(--border);color:var(--text-bright);cursor:pointer;background:#ffffff12;border-radius:10px;padding:1rem 2rem;font-family:Inter,sans-serif;font-size:1.4rem;transition:all .2s}.btn-secondary:hover{background:#ffffff1f}.empty-state{text-align:center;color:var(--text-muted);padding:5rem 2rem}.empty-state i{opacity:.4;margin-bottom:1.5rem;font-size:4rem;display:block}.empty-state p{font-size:1.4rem}.toast{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);z-index:9999;opacity:0;align-items:center;gap:1rem;min-width:280px;padding:1.4rem 2rem;font-size:1.4rem;font-weight:500;transition:all .4s;display:flex;position:fixed;bottom:3rem;right:3rem;transform:translateY(10px);box-shadow:0 8px 30px #0006}.toast.show{opacity:1;transform:translateY(0)}.toast.success{border-left:4px solid var(--success)}.toast.error{border-left:4px solid var(--danger)}.toast i{font-size:1.6rem}.toast.success i{color:var(--success)}.toast.error i{color:var(--danger)}.loading-spinner{text-align:center;color:var(--text-muted);padding:4rem;font-size:1.5rem}.loading-spinner i{margin-right:.8rem}@media (width<=768px){.admin-sidebar{transform:translate(-100%)}.admin-main{margin-left:0}.stats-row,.form-row{grid-template-columns:1fr}.admin-content{padding:2rem 1.5rem}}.stat-chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem}.stats-two-col{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.stat-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem}.stat-panel-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.8rem;margin-bottom:1.5rem;font-size:1.4rem;font-weight:600;display:flex}.stat-panel-title i{color:var(--accent)}.stat-list{flex-direction:column;gap:1rem;list-style:none;display:flex}.stat-list-item{justify-content:space-between;align-items:center;gap:1rem;display:flex}.stat-list-name{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:1.3rem;font-weight:500;overflow:hidden}.stat-list-right{flex-shrink:0;align-items:center;gap:1rem;display:flex}.stat-bar-wrap{background:#ffffff12;border-radius:3px;width:80px;height:6px;overflow:hidden}.stat-bar{background:linear-gradient(90deg, var(--accent), var(--accent-blue));border-radius:3px;height:100%;transition:width .5s}.stat-list-count{color:var(--accent);text-align:right;min-width:28px;font-size:1.3rem;font-weight:700}.stat-list-empty{color:var(--text-muted);text-align:center;opacity:.6;padding:2rem;font-size:1.3rem}@media (width<=900px){.stats-two-col{grid-template-columns:1fr}}.leaflet-container{border-radius:var(--radius);background:0 0!important;font-family:Inter,sans-serif!important}.leaflet-custom-tooltip{color:#1e293b!important;background:#ffffffe6!important;border:1px solid #0000001a!important;border-radius:8px!important;padding:8px 12px!important;font-size:1.2rem!important;box-shadow:0 4px 15px #0000000d!important}.leaflet-custom-tooltip:before{border-top-color:#ffffffe6!important}.leaflet-control-zoom{overflow:hidden;border:1px solid #0000001a!important;border-radius:8px!important;box-shadow:0 4px 12px #0000000d!important}.leaflet-control-zoom a{color:#64748b!important;background:#fff!important;border-color:#0000000d!important}.leaflet-control-zoom a:hover{color:#1e293b!important;background:#f8fafc!important}.quill-wrapper{border:1.5px solid var(--border);border-radius:var(--radius);background:#ffffffb3;overflow:hidden}.quill-wrapper .ql-toolbar.ql-snow{border:none;border-bottom:1px solid var(--border);background:#ffffffe6;padding:10px 12px}.quill-wrapper .ql-container.ql-snow{border:none;font-family:Inter,sans-serif;font-size:1.5rem}.quill-wrapper .ql-editor{min-height:280px;max-height:500px;color:var(--text-bright);padding:1.5rem;line-height:1.8;overflow-y:auto}.quill-wrapper .ql-editor.ql-blank:before{color:var(--text-muted);font-size:1.5rem;font-style:normal}.ql-snow .ql-stroke{stroke:var(--text-muted)!important}.ql-snow .ql-fill{fill:var(--text-muted)!important}.ql-snow .ql-picker-label{color:var(--text-muted)!important}.ql-snow .ql-picker-options{background:var(--bg-card)!important;border:1px solid var(--border)!important}.ql-snow .ql-picker-item{color:var(--text-bright)!important}.ql-snow .ql-active .ql-stroke,.ql-snow button:hover .ql-stroke{stroke:var(--accent)!important}.ql-snow .ql-active .ql-fill,.ql-snow button:hover .ql-fill{fill:var(--accent)!important}.ql-snow .ql-active .ql-picker-label,.ql-snow .ql-picker-label:hover{color:var(--accent)!important}.ql-editor h1,.ql-editor h2,.ql-editor h3{margin:1.5rem 0 .8rem;font-weight:700}.ql-editor blockquote{border-left:4px solid var(--accent);color:var(--text-muted);margin:1.5rem 0;padding-left:1.5rem;font-style:italic}.ql-editor code,.ql-editor pre{background:#667eea1a;border-radius:6px}.ql-editor pre{color:#a78bfa;padding:1.5rem;overflow-x:auto}.ql-editor a{color:var(--accent)}.dataTable-wrapper{color:var(--text-bright);font-family:inherit}.dataTable-top{padding:0 0 1.5rem}.dataTable-bottom{border-top:1px solid var(--border);margin-top:1.5rem;padding:2rem 0 0}.dataTable-selector,.dataTable-input{color:var(--text-bright);border:1px solid var(--border);background:#ffffffb3;border-radius:8px;outline:none;padding:.8rem 1.2rem;font-size:1.3rem}.dataTable-selector:focus,.dataTable-input:focus{border-color:var(--accent)}.dataTable-info{color:var(--text-muted);margin:0}.dataTable-pagination li a{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);background:#ffffffb3;margin:0 .2rem;transition:all .2s}.dataTable-pagination li a:hover{background:var(--bg-hover);color:var(--text-bright)}.dataTable-pagination li.active a{background:var(--accent);color:#fff;border-color:var(--accent)}
