@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Noto+Sans+Khmer:wght@400;500;700&display=swap";body{background:#fff;color:#8f9297;border-bottom:1px solid #4b55634f;font-family:Manrope,Arial,sans-serif}.body-dashboard{background:#000}html.dark body{background:#000;color:#8f9297;border-bottom:1px solid #4b55634f}html[lang=kh] body{font-family:Noto Sans Khmer,Arial,sans-serif}.card-hover{transition:transform .3s ease,box-shadow .3s ease}.card-hover:hover{transform:translateY(-5px);box-shadow:0 24px 64px #00000021}.card-hover:hover .card-overlay{opacity:1}.card-overlay{opacity:0;transition:opacity .3s ease}.nav-active{border-bottom:1.5px solid #8b8b8b;padding-bottom:2px}.scrollbar-none::-webkit-scrollbar{display:none}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.filter-btn.active{background:#1a1a1a;color:#f5f2ec}.sidebar{width:260px;min-height:100vh;background:#000;box-shadow:1px 0 #4b55634f;display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:40;overflow-y:auto;color:#fff}.sidebar-logo{display:flex;align-items:center;gap:.6rem;padding:1.4rem 1.5rem 1rem;border-bottom:1px solid #4b55634f;text-decoration:none}.sidebar-logo__icon{width:2.2rem;height:2.2rem;background:linear-gradient(135deg,#6366f1,#818cf8);border-radius:.55rem;display:flex;align-items:center;justify-content:center}.sidebar-logo__icon svg{width:1.1rem;height:1.1rem;color:#fff}.sidebar-logo__name{font-size:1.1rem;font-weight:700;color:#fe1100}.sidebar-logo__badge{font-size:.6rem;font-weight:700;background:#6366f1;color:#fff;padding:.1rem .4rem;border-radius:999px;letter-spacing:.05em;text-transform:uppercase}.sidebar-nav{padding:1rem .75rem;flex:1}.nav-group-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8;padding:.5rem .75rem .4rem;margin-top:.5rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;border-radius:.6rem;font-size:.875rem;font-weight:500;color:#64748b;text-decoration:none;transition:background .15s,color .15s;margin-bottom:.1rem;position:relative}.nav-item svg{width:1.1rem;height:1.1rem;flex-shrink:0}.nav-item:hover{background:#f8fafc;color:#1e293b}.nav-item.active{background:#eef2ff;color:#6366f1;font-weight:600}.nav-item.active svg{color:#6366f1}.nav-item__soon{margin-left:auto;font-size:.6rem;font-weight:700;background:#fef3c7;color:#d97706;padding:.1rem .4rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.layout{margin-left:260px;flex:1;display:flex;flex-direction:column;min-height:100vh}.topbar{height:66px;border-bottom:1px solid #4b55634f;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:30}.topbar__greeting{font-size:1rem;font-weight:600}.topbar__greeting span{font-weight:400}.topbar__actions{display:flex;align-items:center;gap:.75rem}.topbar__icon-btn{width:2.2rem;height:2.2rem;border-radius:50%;background:#f8fafc;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:background .15s}.topbar__icon-btn:hover{background:#f1f5f9}.topbar__icon-btn svg{width:1rem;height:1rem}.topbar__user{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.3rem .5rem;border-radius:.5rem;transition:background .15s}.topbar__user:hover{background:#f8fafc}.topbar__avatar{width:2rem;height:2rem;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a78bfa);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff}.topbar__username{font-size:.875rem;font-weight:600}.topbar__chevron{color:#94a3b8}.topbar__chevron svg{width:.9rem;height:.9rem}.main-content{flex:1;padding:1.75rem 2rem}.breadcrumb{display:flex;gap:.4rem;font-size:.82rem;color:#9ca3af;margin-bottom:.3rem}.breadcrumb a{color:#2563eb;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.page-header h1{margin:0;font-size:1.5rem;font-weight:700}.header-actions{display:flex;gap:.75rem;align-items:center}.form-layout{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;align-items:start}@media(max-width:768px){.form-layout{grid-template-columns:1fr}}.card{border:1px solid #4b55634f;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000d;margin-bottom:1.25rem}.card-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;border-bottom:1px solid #4b55634f}.card-header h2{margin:0;font-size:.95rem;font-weight:700;color:#8f9297}.card-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.82rem;font-weight:600;color:#8f9297}.req{color:#ef4444}.optional{color:#9ca3af;font-weight:400}.form-group input[type=text],.form-group input[type=url],.form-group input[type=number],.form-group select,.form-group textarea{border:1px solid #4b55634f;border-radius:7px;padding:.55rem .8rem;font-size:.875rem;outline:none;background:#4b556300;transition:border-color .2s,box-shadow .2s;resize:vertical;color:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#fe1100}.form-group-modal input[type=text],.form-group-modal input[type=url],.form-group-modal input[type=number],.form-group-modal select,.form-group-modal textarea{border:1px solid #4b55634f;border-radius:7px;padding:.55rem .8rem;font-size:.875rem;outline:none;background:#4b556300;transition:border-color .2s,box-shadow .2s;resize:vertical;color:#000}.form-group-modal input:focus,.form-group-modal select:focus,.form-group-modal textarea:focus{border-color:#fe1100}.form-group-modal{display:flex;flex-direction:column;gap:.4rem}.form-group-modal label{font-size:.82rem;font-weight:600;color:#8f9297}.field-error{font-size:.78rem;color:#ef4444}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:500px){.form-row{grid-template-columns:1fr}}.divider-or{display:flex;align-items:center;gap:.75rem;color:#9ca3af;font-size:.8rem}.divider-or:before,.divider-or:after{content:"";flex:1;height:1px;background:#e5e7eb}.upload-zone{border:2px dashed #d1d5db;border-radius:9px;padding:1.75rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.upload-zone:hover,.upload-zone.drag-over{border-color:#2563eb;background:#eff6ff}.file-hidden{display:none}.upload-icon{font-size:2rem;margin-bottom:.5rem}.upload-label{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:#374151}.upload-link{color:#2563eb;text-decoration:underline}.upload-hint{margin:0;font-size:.78rem;color:#9ca3af}.file-name{margin-top:.75rem;font-size:.82rem;color:#2563eb;background:#eff6ff;padding:.35rem .75rem;border-radius:6px}.btn-new-cat{background:#fe1100;color:#fff;border-radius:6px;padding:.3rem .75rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-new-cat:hover{background:#a70e03}.category-list{display:flex;flex-wrap:wrap;gap:.5rem}.cat-pill{background:#f3f4f6;color:#374151;padding:.25rem .7rem;border-radius:20px;font-size:.78rem;font-weight:500}.no-cat{font-size:.82rem;color:#9ca3af;margin:0}.tag-container{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.tag-item{display:inline-flex;align-items:center;gap:.35rem;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;padding:.2rem .6rem;border-radius:20px;font-size:.78rem}.tag-remove{cursor:pointer;font-size:.9rem;line-height:1;color:#93c5fd}.tag-remove:hover{color:#2563eb}.thumb-upload{border:2px dashed #4b55634f;border-radius:8px;min-height:140px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s;overflow:hidden}.thumb-upload:hover{border-color:#2563eb}.thumb-placeholder{text-align:center;color:#9ca3af}.thumb-placeholder span{font-size:2rem}.thumb-placeholder p{margin:.4rem 0 0;font-size:.8rem}#thumbPreview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.slug-wrap{display:flex;align-items:center;border:1px solid #d1d5db;border-radius:7px;overflow:hidden}.slug-prefix{padding:.55rem .6rem;background:#f3f4f6;color:#9ca3af;font-size:.875rem;border-right:1px solid #d1d5db}.slug-wrap input{border:none;border-radius:0;box-shadow:none!important;flex:1}.color-row{display:flex;flex-wrap:wrap;gap:.5rem}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:#111827;transform:scale(1.15)}.bottom-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-top:.5rem;box-shadow:0 1px 4px #0000000d;flex-wrap:wrap;gap:.75rem}.bottom-right{display:flex;gap:.75rem}.btn-cancel{display:inline-flex;align-items:center;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:7px;padding:.3rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s}.btn-cancel:hover{background:#e5e7eb}.btn-draft{background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:7px;padding:.55rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-draft:hover{background:#f9fafb}.btn-resources{display:inline-flex;align-items:center;gap:.4rem;background:#fe1100;color:#fff;border:none;border-radius:7px;padding:.3rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.btn-resources:hover{background:#a70e03}.modal-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:1000;align-items:center;justify-content:center}.modal-overlay.active{display:flex}.modal{background:#fff;border-radius:12px;width:100%;max-width:460px;box-shadow:0 20px 60px #0003;overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1rem;font-weight:700}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;line-height:1}.modal-close:hover{color:#111}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb}.form-group select{background-color:#000;color:#fff;border:1px solid #444;padding:10px}.form-group select option{background-color:#000;color:#fff}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem}.page-sub{margin:0;color:#6b7280;font-size:.875rem}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.search-wrap{position:relative;flex:1;max-width:360px}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#9ca3af}.search-input{width:100%;padding:.55rem .75rem .55rem 2.25rem;border:1px solid #4b55634f;border-radius:7px;font-size:.875rem;outline:none;transition:border-color .2s,box-shadow .2s;background:#4b556300;box-sizing:border-box}.search-input:focus{border-color:#fe1100;box-shadow:0 0 0 3px #2563eb1f}.result-count{font-size:.8rem;color:#9ca3af;white-space:nowrap}.table-card{border:1px solid #4b55634f;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.resource-table{width:100%;border-collapse:collapse;font-size:.875rem}.resource-table thead th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.8rem;letter-spacing:.04em;border-bottom:1px solid #4b55634f;white-space:nowrap}.resource-table tbody td{padding:.85rem 1rem;border-bottom:1px solid #4b55634f;vertical-align:middle}.table-row:hover td{background:#f9fafb}.table-row:last-child td{border-bottom:none}.resource-table tbody tr:hover{background:#ffffff12}.resource-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;background:#f3f4f6}.badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge-image{background:#dbeafe;color:#1d4ed8}.badge-video{background:#fce7f3;color:#be185d}.badge-audio{background:#d1fae5;color:#065f46}.badge-document{background:#fef3c7;color:#92400e}.action-btns{display:flex;align-items:center;gap:.4rem}.action-btn{background:none;border:1px solid #e5e7eb;border-radius:6px;padding:.3rem .5rem;cursor:pointer;font-size:.85rem;text-decoration:none;color:inherit;transition:background .15s,border-color .15s;line-height:1}.action-btn:hover{background:#f3f4f6;border-color:#d1d5db}.action-btn.danger:hover{background:#fee2e2;border-color:#fca5a5}.empty-state{padding:3rem 1rem}.empty-inner{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#9ca3af}.empty-icon{font-size:2.5rem}.empty-inner p{margin:0;font-size:.95rem}.text-muted{color:#9ca3af}.pagination-wrap{margin-top:1.25rem}.gradient-color{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;background:linear-gradient(to right,#8b00cd,#f10,#000);-webkit-background-clip:text;background-clip:text;color:transparent}.gradient-color-h1{display:inline-block;font-size:3rem;font-weight:700;letter-spacing:0;background:linear-gradient(to right,#8b00cd,#f10,#000);-webkit-background-clip:text;background-clip:text;color:transparent}.gradient-bg{display:inline-block;background:linear-gradient(to right,#8b00cd,#f10,#000);color:#fff}.gradient-text{background:linear-gradient(to right,#8b00cd,#f10,#000);-webkit-background-clip:text;background-clip:text;color:transparent}.gradient-border-btn{position:relative;border:2px solid transparent;background:linear-gradient(#000,#000) padding-box,linear-gradient(to right,#8b00cd,#f10,#000) border-box;color:#fff}#thumbPreview{display:flex;gap:10px;flex-wrap:wrap;min-height:80px;align-items:center}.thumb-img{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:1px solid #ddd;display:block}.spinner{width:16px;height:16px;border:2px solid #ccc;border-top:2px solid #000;border-radius:50%;display:inline-block;animation:spin .8s linear infinite;vertical-align:middle;margin-top:4px;margin-bottom:4px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}button:disabled{opacity:.6;cursor:not-allowed}.border-gradient:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(to right,#8b00cd,#f10,#000)}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .25s}.sidebar.open{transform:translate(0)}.layout{margin-left:0}}
